The out-of-class definitions of the static constants are redundant if the __cpp_inline_variables feature is supported, so use that macro to decide whether to define them or not.
libstdc++-v3/ChangeLog: * include/bits/regex.h: Check __cpp_inline_variables instead of __cplusplus. Tested powerpc64le-linux. Committed to trunk.
commit 3d95867ce6867239aa4ae69a9c82915660e1071d Author: Jonathan Wakely <jwak...@redhat.com> Date: Wed Oct 6 20:03:50 2021 libstdc++: Use more descriptive feature test macro The out-of-class definitions of the static constants are redundant if the __cpp_inline_variables feature is supported, so use that macro to decide whether to define them or not. libstdc++-v3/ChangeLog: * include/bits/regex.h: Check __cpp_inline_variables instead of __cplusplus. diff --git a/libstdc++-v3/include/bits/regex.h b/libstdc++-v3/include/bits/regex.h index a3990183580..785edc71800 100644 --- a/libstdc++-v3/include/bits/regex.h +++ b/libstdc++-v3/include/bits/regex.h @@ -807,7 +807,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 _AutomatonPtr _M_automaton; }; -#if __cplusplus < 201703L +#if ! __cpp_inline_variables template<typename _Ch, typename _Tr> constexpr regex_constants::syntax_option_type basic_regex<_Ch, _Tr>::icase;