[libc++] Mark __cpp_lib_constexpr_memory as being implemented
GitOrigin-RevId: 5d0d465ad4d25398519b85879d61fc126abd641c
diff --git a/docs/FeatureTestMacroTable.rst b/docs/FeatureTestMacroTable.rst
index 7028ff0..997d213 100644
--- a/docs/FeatureTestMacroTable.rst
+++ b/docs/FeatureTestMacroTable.rst
@@ -210,7 +210,7 @@
------------------------------------------------- -----------------
``__cpp_lib_constexpr_iterator`` *unimplemented*
------------------------------------------------- -----------------
- ``__cpp_lib_constexpr_memory`` *unimplemented*
+ ``__cpp_lib_constexpr_memory`` ``201811L``
------------------------------------------------- -----------------
``__cpp_lib_constexpr_numeric`` ``201911L``
------------------------------------------------- -----------------
diff --git a/include/version b/include/version
index 696a9ef..b13afca 100644
--- a/include/version
+++ b/include/version
@@ -301,7 +301,7 @@
# define __cpp_lib_constexpr_dynamic_alloc 201907L
# define __cpp_lib_constexpr_functional 201907L
// # define __cpp_lib_constexpr_iterator 201811L
-// # define __cpp_lib_constexpr_memory 201811L
+# define __cpp_lib_constexpr_memory 201811L
# define __cpp_lib_constexpr_numeric 201911L
// # define __cpp_lib_constexpr_string 201907L
// # define __cpp_lib_constexpr_string_view 201811L
diff --git a/test/std/language.support/support.limits/support.limits.general/memory.version.pass.cpp b/test/std/language.support/support.limits/support.limits.general/memory.version.pass.cpp
index 7be4372..b54a1f4 100644
--- a/test/std/language.support/support.limits/support.limits.general/memory.version.pass.cpp
+++ b/test/std/language.support/support.limits/support.limits.general/memory.version.pass.cpp
@@ -327,17 +327,11 @@
# error "__cpp_lib_constexpr_dynamic_alloc should have the value 201907L in c++20"
# endif
-# if !defined(_LIBCPP_VERSION)
-# ifndef __cpp_lib_constexpr_memory
-# error "__cpp_lib_constexpr_memory should be defined in c++20"
-# endif
-# if __cpp_lib_constexpr_memory != 201811L
-# error "__cpp_lib_constexpr_memory should have the value 201811L in c++20"
-# endif
-# else // _LIBCPP_VERSION
-# ifdef __cpp_lib_constexpr_memory
-# error "__cpp_lib_constexpr_memory should not be defined because it is unimplemented in libc++!"
-# endif
+# ifndef __cpp_lib_constexpr_memory
+# error "__cpp_lib_constexpr_memory should be defined in c++20"
+# endif
+# if __cpp_lib_constexpr_memory != 201811L
+# error "__cpp_lib_constexpr_memory should have the value 201811L in c++20"
# endif
# ifndef __cpp_lib_enable_shared_from_this
@@ -483,17 +477,11 @@
# error "__cpp_lib_constexpr_dynamic_alloc should have the value 201907L in c++2b"
# endif
-# if !defined(_LIBCPP_VERSION)
-# ifndef __cpp_lib_constexpr_memory
-# error "__cpp_lib_constexpr_memory should be defined in c++2b"
-# endif
-# if __cpp_lib_constexpr_memory != 201811L
-# error "__cpp_lib_constexpr_memory should have the value 201811L in c++2b"
-# endif
-# else // _LIBCPP_VERSION
-# ifdef __cpp_lib_constexpr_memory
-# error "__cpp_lib_constexpr_memory should not be defined because it is unimplemented in libc++!"
-# endif
+# ifndef __cpp_lib_constexpr_memory
+# error "__cpp_lib_constexpr_memory should be defined in c++2b"
+# endif
+# if __cpp_lib_constexpr_memory != 201811L
+# error "__cpp_lib_constexpr_memory should have the value 201811L in c++2b"
# endif
# ifndef __cpp_lib_enable_shared_from_this
diff --git a/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp b/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp
index 16a537c..e99b800 100644
--- a/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp
+++ b/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp
@@ -2442,17 +2442,11 @@
# endif
# endif
-# if !defined(_LIBCPP_VERSION)
-# ifndef __cpp_lib_constexpr_memory
-# error "__cpp_lib_constexpr_memory should be defined in c++20"
-# endif
-# if __cpp_lib_constexpr_memory != 201811L
-# error "__cpp_lib_constexpr_memory should have the value 201811L in c++20"
-# endif
-# else // _LIBCPP_VERSION
-# ifdef __cpp_lib_constexpr_memory
-# error "__cpp_lib_constexpr_memory should not be defined because it is unimplemented in libc++!"
-# endif
+# ifndef __cpp_lib_constexpr_memory
+# error "__cpp_lib_constexpr_memory should be defined in c++20"
+# endif
+# if __cpp_lib_constexpr_memory != 201811L
+# error "__cpp_lib_constexpr_memory should have the value 201811L in c++20"
# endif
# ifndef __cpp_lib_constexpr_numeric
@@ -3661,17 +3655,11 @@
# endif
# endif
-# if !defined(_LIBCPP_VERSION)
-# ifndef __cpp_lib_constexpr_memory
-# error "__cpp_lib_constexpr_memory should be defined in c++2b"
-# endif
-# if __cpp_lib_constexpr_memory != 201811L
-# error "__cpp_lib_constexpr_memory should have the value 201811L in c++2b"
-# endif
-# else // _LIBCPP_VERSION
-# ifdef __cpp_lib_constexpr_memory
-# error "__cpp_lib_constexpr_memory should not be defined because it is unimplemented in libc++!"
-# endif
+# ifndef __cpp_lib_constexpr_memory
+# error "__cpp_lib_constexpr_memory should be defined in c++2b"
+# endif
+# if __cpp_lib_constexpr_memory != 201811L
+# error "__cpp_lib_constexpr_memory should have the value 201811L in c++2b"
# endif
# ifndef __cpp_lib_constexpr_numeric
diff --git a/utils/generate_feature_test_macro_components.py b/utils/generate_feature_test_macro_components.py
index 41d5619..cce7bb7 100755
--- a/utils/generate_feature_test_macro_components.py
+++ b/utils/generate_feature_test_macro_components.py
@@ -204,7 +204,6 @@
"name": "__cpp_lib_constexpr_memory",
"values": { "c++20": 201811 },
"headers": ["memory"],
- "unimplemented": True,
}, {
"name": "__cpp_lib_constexpr_numeric",
"values": { "c++20": 201911 },