From 20511dd63440944abc6edc0cb988b102100106cd Mon Sep 17 00:00:00 2001 From: Masaori Koshiba Date: Mon, 14 Sep 2026 10:48:08 +0900 Subject: [PATCH 1/2] Add includes libc++ 23 no longer provides transitively LLVM 23 flips libc++'s transitive-include compatibility block from opt-out to opt-in (_LIBCPP_KEEP_TRANSITIVE_INCLUDES_LLVM23), so and no longer drag in and . Include them where the symbols are actually used rather than relying on the old default. --- lib/swoc/unit_tests/test_TextView.cc | 1 + plugins/experimental/cookie_remap/cookiejar.cc | 1 + plugins/experimental/inliner/cache-handler.h | 1 + plugins/experimental/inliner/png.h | 1 + plugins/multiplexer/ats-multiplexer.cc | 1 + src/mgmt/config/ReloadCoordinator.cc | 1 + src/traffic_cache_tool/CacheTool.cc | 1 + 7 files changed, 7 insertions(+) diff --git a/lib/swoc/unit_tests/test_TextView.cc b/lib/swoc/unit_tests/test_TextView.cc index 2b5ac27fd2e..e7a245c5924 100644 --- a/lib/swoc/unit_tests/test_TextView.cc +++ b/lib/swoc/unit_tests/test_TextView.cc @@ -12,6 +12,7 @@ #include #include #include +#include #include "swoc/TextView.h" #include diff --git a/plugins/experimental/cookie_remap/cookiejar.cc b/plugins/experimental/cookie_remap/cookiejar.cc index 33f15c6eb19..e17493d3f4b 100644 --- a/plugins/experimental/cookie_remap/cookiejar.cc +++ b/plugins/experimental/cookie_remap/cookiejar.cc @@ -18,6 +18,7 @@ #include "cookiejar.h" #include "strip.h" +#include #include /* allowed cookie-name definition from RFC diff --git a/plugins/experimental/inliner/cache-handler.h b/plugins/experimental/inliner/cache-handler.h index e520a55bd99..22589c00656 100644 --- a/plugins/experimental/inliner/cache-handler.h +++ b/plugins/experimental/inliner/cache-handler.h @@ -25,6 +25,7 @@ #include #include +#include #include #include #include diff --git a/plugins/experimental/inliner/png.h b/plugins/experimental/inliner/png.h index a1464d3cdaa..22b75a68503 100644 --- a/plugins/experimental/inliner/png.h +++ b/plugins/experimental/inliner/png.h @@ -25,6 +25,7 @@ #include #include +#include #include #include diff --git a/plugins/multiplexer/ats-multiplexer.cc b/plugins/multiplexer/ats-multiplexer.cc index a6e9773351e..d4ab7fb5c3c 100644 --- a/plugins/multiplexer/ats-multiplexer.cc +++ b/plugins/multiplexer/ats-multiplexer.cc @@ -21,6 +21,7 @@ limitations under the License. */ #include +#include #include #include diff --git a/src/mgmt/config/ReloadCoordinator.cc b/src/mgmt/config/ReloadCoordinator.cc index 6add40d8f00..7c0e08a0e05 100644 --- a/src/mgmt/config/ReloadCoordinator.cc +++ b/src/mgmt/config/ReloadCoordinator.cc @@ -24,6 +24,7 @@ #include "mgmt/config/ReloadCoordinator.h" #include +#include #include #include diff --git a/src/traffic_cache_tool/CacheTool.cc b/src/traffic_cache_tool/CacheTool.cc index 2d1e9187108..b16d96ba68c 100644 --- a/src/traffic_cache_tool/CacheTool.cc +++ b/src/traffic_cache_tool/CacheTool.cc @@ -21,6 +21,7 @@ limitations under the License. */ +#include #include #include #include From fda0d57376bd2ba68235572ef7b3f4c1ed56c15b Mon Sep 17 00:00:00 2001 From: Masaori Koshiba Date: Mon, 14 Sep 2026 10:48:14 +0900 Subject: [PATCH 2/2] Drop dead records code flagged by -Wunused-* The const char (&)[N] overload of matches_bracketed_int_range can never be selected: RecordElement::regex is a const char *, so the string_view overload always wins. RecMessageRegisterRecvCb has had no callers since traffic_manager was removed, leaving its cookie global set but never read. --- src/records/P_RecDefs.h | 2 -- src/records/P_RecMessage.h | 2 -- src/records/RecMessage.cc | 19 ------------------- src/records/RecordsConfig.cc | 9 --------- 4 files changed, 32 deletions(-) diff --git a/src/records/P_RecDefs.h b/src/records/P_RecDefs.h index a712d2dc8b6..3c3e770d8f0 100644 --- a/src/records/P_RecDefs.h +++ b/src/records/P_RecDefs.h @@ -143,5 +143,3 @@ struct RecMessageItr { using RecMessage = RecMessageHdr; using RecDumpEntryCb = void (*)(RecT, void *, int, const char *, int, RecData *); - -using RecMessageRecvCb = RecErrT (*)(RecMessage *, RecMessageT, void *); diff --git a/src/records/P_RecMessage.h b/src/records/P_RecMessage.h index ecc5969c2f3..32c9955288a 100644 --- a/src/records/P_RecMessage.h +++ b/src/records/P_RecMessage.h @@ -43,7 +43,5 @@ RecMessage *RecMessageMarshal_Realloc(RecMessage *msg, const RecRecord *record); int RecMessageUnmarshalFirst(RecMessage *msg, RecMessageItr *itr, RecRecord **record); int RecMessageUnmarshalNext(RecMessage *msg, RecMessageItr *itr, RecRecord **record); -int RecMessageRegisterRecvCb(RecMessageRecvCb recv_cb, void *cookie); - RecMessage *RecMessageReadFromDisk(const char *fpath); int RecMessageWriteToDisk(RecMessage *msg, const char *fpath); diff --git a/src/records/RecMessage.cc b/src/records/RecMessage.cc index df42ea5e23d..251ffabf92b 100644 --- a/src/records/RecMessage.cc +++ b/src/records/RecMessage.cc @@ -33,9 +33,6 @@ #include "tscore/Layout.h" #include "swoc/MemSpan.h" -static RecMessageRecvCb g_recv_cb = nullptr; -static void *g_recv_cookie = nullptr; - //------------------------------------------------------------------------- // RecMessageAlloc //------------------------------------------------------------------------- @@ -224,22 +221,6 @@ RecMessageUnmarshalNext(RecMessage *msg, RecMessageItr *itr, RecRecord **record) return REC_ERR_OKAY; } -//------------------------------------------------------------------------- -// RecMessageRegisterRecvCb -//------------------------------------------------------------------------- - -int -RecMessageRegisterRecvCb(RecMessageRecvCb recv_cb, void *cookie) -{ - if (g_recv_cb) { - return REC_ERR_FAIL; - } - g_recv_cookie = cookie; - g_recv_cb = recv_cb; - - return REC_ERR_OKAY; -} - //------------------------------------------------------------------------- // RecMessageReadFromDisk //------------------------------------------------------------------------- diff --git a/src/records/RecordsConfig.cc b/src/records/RecordsConfig.cc index e429ac4680b..1e7384fa746 100644 --- a/src/records/RecordsConfig.cc +++ b/src/records/RecordsConfig.cc @@ -1705,15 +1705,6 @@ matches_bracketed_int_range(std::string_view s) return i == s.size(); // must end exactly here } -// For string literals: deduces N and strips the trailing '\0' -template -consteval bool -matches_bracketed_int_range(const char (&lit)[N]) -{ - // N includes the null terminator - return matches_bracketed_int_range(std::string_view{lit, N - 1}); -} - // Validate all RECC_INT entries in the RecordsConfig array at compile time template consteval bool