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;

Reply via email to