Fix stats_over_http compilation with Clang 16 and earlier #12689
+6
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Clang 16 and earlier don't fully support constexpr std::string operations even when __cpp_lib_constexpr_string is defined, causing static_assert failures in the compile-time tests for sanitize_metric_name_for_prometheus().
This fix uses nested ifdefs to clearly separate the feature detection from the compiler version check, disabling the constexpr optimization and compile-time tests for Clang <= 16 while keeping them enabled for GCC 13+ and future Clang versions (17+) that may have proper support.
Testing: