From 138c6caba889aaf8d5cf6a9e7c9a5fce4787d33f Mon Sep 17 00:00:00 2001 From: Oliver Reiche Date: Tue, 29 Aug 2023 14:20:58 +0200 Subject: utils: No hash for upcoming libstdc++ 11 releases (cherry-picked from 82e0bd818aee1ca8751e0abf20455af88cc513bf) --- src/utils/cpp/path_hash.hpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/utils/cpp/path_hash.hpp b/src/utils/cpp/path_hash.hpp index eaf988ec..0f3910f2 100644 --- a/src/utils/cpp/path_hash.hpp +++ b/src/utils/cpp/path_hash.hpp @@ -17,12 +17,13 @@ #include -auto constexpr kGLIBCXX_11_4 = 20230528; // gcc/DATESTAMP of version 11.4 -#if (defined(__GLIBCXX__) and _GLIBCXX_RELEASE < 12 and \ - __GLIBCXX__ != kGLIBCXX_11_4) or \ +// NOLINTNEXTLINE(cppcoreguidelines-macro-usage) +#define GLIBCXX_11_4 20230528 // gcc/DATESTAMP of version 11.4 +#if (defined(__GLIBCXX__) and _GLIBCXX_RELEASE < 12 and \ + !(_GLIBCXX_RELEASE == 11 and __GLIBCXX__ >= GLIBCXX_11_4)) or \ (defined(_LIBCPP_VERSION) and _LIBCPP_VERSION < 16000) // std::hash is missing for -// - GNU's libstdc++ < 12 (except 11.4) +// - GNU's libstdc++ < 11.4 // - LLVM's libcxx < 16 (see https://reviews.llvm.org/D125394) namespace std { template <> -- cgit v1.2.3