git: 29873d969e02 - main - net/xprobe: Fix build with Clang 16 and remove the workaround
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 21 Aug 2023 17:13:21 UTC
The branch main has been updated by sunpoet: URL: https://cgit.FreeBSD.org/ports/commit/?id=29873d969e02af4315ba32ac52ae43c9d6597040 commit 29873d969e02af4315ba32ac52ae43c9d6597040 Author: Po-Chuan Hsieh <sunpoet@FreeBSD.org> AuthorDate: 2023-08-21 17:03:00 +0000 Commit: Po-Chuan Hsieh <sunpoet@FreeBSD.org> CommitDate: 2023-08-21 17:03:00 +0000 net/xprobe: Fix build with Clang 16 and remove the workaround random_shuffle has bee deprecated in C++14 and removed since C++17. Use shuffle instead. target.cc:373:3: error: use of undeclared identifier 'random_shuffle' random_shuffle(ports.begin(), ports.end()); ^ 5 warnings and 1 error generated. Tested on: 14.0-CURRENT (1400093) --- net/xprobe/Makefile | 9 --------- net/xprobe/files/patch-src-target.cc | 29 +++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 9 deletions(-) diff --git a/net/xprobe/Makefile b/net/xprobe/Makefile index 8c4f775f0f1e..dbc8e5015808 100644 --- a/net/xprobe/Makefile +++ b/net/xprobe/Makefile @@ -14,15 +14,6 @@ LICENSE_FILE= ${WRKSRC}/COPYING CONFIGURE_ENV= INSTALL=${INSTALL} GNU_CONFIGURE= yes -.include <bsd.port.options.mk> - -.if ${OPSYS} == FreeBSD && ( ${OSVERSION} >= 1400091 || ( ${OSVERSION} >= 1302505 && ${OSVERSION} < 1400000 )) -USES+= llvm:max=15 -CC= clang${LLVM_VERSION} -CPP= clang-cpp${LLVM_VERSION} -CXX= clang++${LLVM_VERSION} -.endif - post-patch: @${REINPLACE_CMD} -e 's|-DBROKEN_BSD||' ${WRKSRC}/libs-external/USI++/src/configure diff --git a/net/xprobe/files/patch-src-target.cc b/net/xprobe/files/patch-src-target.cc new file mode 100644 index 000000000000..21f32bb807d4 --- /dev/null +++ b/net/xprobe/files/patch-src-target.cc @@ -0,0 +1,29 @@ +--- src/target.cc.orig 2005-07-27 08:38:17 UTC ++++ src/target.cc +@@ -28,6 +28,8 @@ + #include "os_matrix.h" + #include "xplib/xplib.h" + #include "log.h" ++#include <algorithm> ++#include <random> + + extern Interface *ui; + extern Xprobe_Module_Hdlr *xmh; +@@ -363,6 +365,8 @@ void Port_Range::set_range(u_short a, u_short b) { + + int Port_Range::get_next(u_short *port) { + int k, sz=size(); ++ std::random_device rd; ++ std::mt19937 g(rd()); + + if (curr+low > high) + return 1; +@@ -370,7 +373,7 @@ int Port_Range::get_next(u_short *port) { + // initialize + for (k=0; k < sz; k++) + ports.push_back(low + k); +- random_shuffle(ports.begin(), ports.end()); ++ std::shuffle(ports.begin(), ports.end(), g); + *port = ports[curr++]; + } else + *port = ports[curr++];