[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 },