libstdc++: Fix inconsistent feature test macros

The __cpp_lib_constexpr_string and __cpp_lib_semaphore feature test
macros are not defined consistently in <version> and the relevant header
for the feature.

libstdc++-v3/ChangeLog:

	* include/bits/basic_string.h (__cpp_lib_constexpr_string):
	Only define for C++17 and later.
	* include/std/version (__cpp_lib_semaphore): Fix condition
	to match the one in <semaphore>.
This commit is contained in:
Jonathan Wakely 2021-04-30 20:32:05 +01:00
parent 7ddcd26ebb
commit 3215d4f5b3
2 changed files with 2 additions and 2 deletions

View file

@ -55,7 +55,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
#if __cplusplus == 201703L
// Support P0426R1 changes to char_traits in C++17.
# define __cpp_lib_constexpr_string 201611L
#else
#elif __cplusplus > 201703L
// Also support P1032R1 in C++20 (but not P0980R1 yet).
# define __cpp_lib_constexpr_string 201811L
#endif

View file

@ -241,7 +241,7 @@
#if __cpp_lib_concepts
# define __cpp_lib_ranges 201911L
#endif
#if __cpp_lib_atomic_wait
#if __cpp_lib_atomic_wait || _GLIBCXX_HAVE_POSIX_SEMAPHORE
# define __cpp_lib_semaphore 201907L
#endif
#define __cpp_lib_shift 201806L