OSDN Git Service

Re-enable __cpp_lib_constexpr_functional.
authorArthur O'Dwyer <arthur.j.odwyer@gmail.com>
Fri, 8 Jan 2021 22:28:19 +0000 (17:28 -0500)
committerArthur O'Dwyer <arthur.j.odwyer@gmail.com>
Fri, 8 Jan 2021 22:30:04 +0000 (17:30 -0500)
I accidentally disabled this feature-test macro in my D93830,
due to a rebasing conflict. It had been enabled by my D93815,
and should have remained enabled.

libcxx/docs/FeatureTestMacroTable.rst
libcxx/include/version
libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.pass.cpp
libcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp
libcxx/utils/generate_feature_test_macro_components.py

index 97edbb0..99fb4e7 100644 (file)
@@ -206,7 +206,7 @@ Status
     ------------------------------------------------- -----------------
     ``__cpp_lib_constexpr_dynamic_alloc``             ``201907L``
     ------------------------------------------------- -----------------
-    ``__cpp_lib_constexpr_functional``                *unimplemented*
+    ``__cpp_lib_constexpr_functional``                ``201907L``
     ------------------------------------------------- -----------------
     ``__cpp_lib_constexpr_iterator``                  *unimplemented*
     ------------------------------------------------- -----------------
index 9ef782a..3920b69 100644 (file)
@@ -296,7 +296,7 @@ __cpp_lib_void_t                                        201411L <type_traits>
 // # define __cpp_lib_constexpr_algorithms                 201806L
 // # define __cpp_lib_constexpr_complex                    201711L
 # define __cpp_lib_constexpr_dynamic_alloc              201907L
-// # define __cpp_lib_constexpr_functional                 201907L
+# define __cpp_lib_constexpr_functional                 201907L
 // # define __cpp_lib_constexpr_iterator                   201811L
 // # define __cpp_lib_constexpr_memory                     201811L
 # define __cpp_lib_constexpr_numeric                    201911L
index db736a7..6fa1ac6 100644 (file)
 #   endif
 # endif
 
-# if !defined(_LIBCPP_VERSION)
-#   ifndef __cpp_lib_constexpr_functional
-#     error "__cpp_lib_constexpr_functional should be defined in c++20"
-#   endif
-#   if __cpp_lib_constexpr_functional != 201907L
-#     error "__cpp_lib_constexpr_functional should have the value 201907L in c++20"
-#   endif
-# else // _LIBCPP_VERSION
-#   ifdef __cpp_lib_constexpr_functional
-#     error "__cpp_lib_constexpr_functional should not be defined because it is unimplemented in libc++!"
-#   endif
+# ifndef __cpp_lib_constexpr_functional
+#   error "__cpp_lib_constexpr_functional should be defined in c++20"
+# endif
+# if __cpp_lib_constexpr_functional != 201907L
+#   error "__cpp_lib_constexpr_functional should have the value 201907L in c++20"
 # endif
 
 # ifndef __cpp_lib_invoke
 #   endif
 # endif
 
-# if !defined(_LIBCPP_VERSION)
-#   ifndef __cpp_lib_constexpr_functional
-#     error "__cpp_lib_constexpr_functional should be defined in c++2b"
-#   endif
-#   if __cpp_lib_constexpr_functional != 201907L
-#     error "__cpp_lib_constexpr_functional should have the value 201907L in c++2b"
-#   endif
-# else // _LIBCPP_VERSION
-#   ifdef __cpp_lib_constexpr_functional
-#     error "__cpp_lib_constexpr_functional should not be defined because it is unimplemented in libc++!"
-#   endif
+# ifndef __cpp_lib_constexpr_functional
+#   error "__cpp_lib_constexpr_functional should be defined in c++2b"
+# endif
+# if __cpp_lib_constexpr_functional != 201907L
+#   error "__cpp_lib_constexpr_functional should have the value 201907L in c++2b"
 # endif
 
 # ifndef __cpp_lib_invoke
index 18b367e..a75d6db 100644 (file)
 #   error "__cpp_lib_constexpr_dynamic_alloc should have the value 201907L in c++20"
 # endif
 
-# if !defined(_LIBCPP_VERSION)
-#   ifndef __cpp_lib_constexpr_functional
-#     error "__cpp_lib_constexpr_functional should be defined in c++20"
-#   endif
-#   if __cpp_lib_constexpr_functional != 201907L
-#     error "__cpp_lib_constexpr_functional should have the value 201907L in c++20"
-#   endif
-# else // _LIBCPP_VERSION
-#   ifdef __cpp_lib_constexpr_functional
-#     error "__cpp_lib_constexpr_functional should not be defined because it is unimplemented in libc++!"
-#   endif
+# ifndef __cpp_lib_constexpr_functional
+#   error "__cpp_lib_constexpr_functional should be defined in c++20"
+# endif
+# if __cpp_lib_constexpr_functional != 201907L
+#   error "__cpp_lib_constexpr_functional should have the value 201907L in c++20"
 # endif
 
 # if !defined(_LIBCPP_VERSION)
 #   error "__cpp_lib_constexpr_dynamic_alloc should have the value 201907L in c++2b"
 # endif
 
-# if !defined(_LIBCPP_VERSION)
-#   ifndef __cpp_lib_constexpr_functional
-#     error "__cpp_lib_constexpr_functional should be defined in c++2b"
-#   endif
-#   if __cpp_lib_constexpr_functional != 201907L
-#     error "__cpp_lib_constexpr_functional should have the value 201907L in c++2b"
-#   endif
-# else // _LIBCPP_VERSION
-#   ifdef __cpp_lib_constexpr_functional
-#     error "__cpp_lib_constexpr_functional should not be defined because it is unimplemented in libc++!"
-#   endif
+# ifndef __cpp_lib_constexpr_functional
+#   error "__cpp_lib_constexpr_functional should be defined in c++2b"
+# endif
+# if __cpp_lib_constexpr_functional != 201907L
+#   error "__cpp_lib_constexpr_functional should have the value 201907L in c++2b"
 # endif
 
 # if !defined(_LIBCPP_VERSION)
index 922a132..a58c416 100755 (executable)
@@ -196,7 +196,6 @@ feature_test_macros = [ add_version_header(x) for x in [
     "name": "__cpp_lib_constexpr_functional",
     "values": { "c++20": 201907 },
     "headers": ["functional"],
-    "unimplemented": True,
   }, {
     "name": "__cpp_lib_constexpr_iterator",
     "values": { "c++20": 201811 },