[libcxx-commits] [libcxx] 8b73be5 - [libc++] Readd _LIBCPP_CONSTINIT
Nikolas Klauser via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Nov 13 04:07:47 PST 2023
Author: Nikolas Klauser
Date: 2023-11-13T13:07:32+01:00
New Revision: 8b73be5f57106348a622e36ad3aa0734c6038a8d
URL: https://github.com/llvm/llvm-project/commit/8b73be5f57106348a622e36ad3aa0734c6038a8d
DIFF: https://github.com/llvm/llvm-project/commit/8b73be5f57106348a622e36ad3aa0734c6038a8d.diff
LOG: [libc++] Readd _LIBCPP_CONSTINIT
This isn't used by libc++, but it's still used in libc++abi.
Added:
Modified:
libcxx/.clang-format
libcxx/include/__config
Removed:
################################################################################
diff --git a/libcxx/.clang-format b/libcxx/.clang-format
index 05d5c473ec79b4d..16948dbee314c09 100644
--- a/libcxx/.clang-format
+++ b/libcxx/.clang-format
@@ -23,6 +23,7 @@ AttributeMacros: [
'_LIBCPP_CONSTEXPR_SINCE_CXX20',
'_LIBCPP_CONSTEXPR_SINCE_CXX23',
'_LIBCPP_CONSTEXPR',
+ '_LIBCPP_CONSTINIT',
'_LIBCPP_DEPRECATED_IN_CXX11',
'_LIBCPP_DEPRECATED_IN_CXX14',
'_LIBCPP_DEPRECATED_IN_CXX17',
diff --git a/libcxx/include/__config b/libcxx/include/__config
index 6b643e1ca5e23a4..e8da358bb8d7cd5 100644
--- a/libcxx/include/__config
+++ b/libcxx/include/__config
@@ -1226,6 +1226,14 @@ __sanitizer_verify_double_ended_contiguous_container(const void*, const void*, c
# define _LIBCPP_THREAD_SAFETY_ANNOTATION(x)
# endif
+# if _LIBCPP_STD_VER >= 20
+# define _LIBCPP_CONSTINIT constinit
+# elif __has_attribute(__require_constant_initialization__)
+# define _LIBCPP_CONSTINIT __attribute__((__require_constant_initialization__))
+# else
+# define _LIBCPP_CONSTINIT
+# endif
+
# if __has_attribute(__diagnose_if__) && !defined(_LIBCPP_DISABLE_ADDITIONAL_DIAGNOSTICS)
# define _LIBCPP_DIAGNOSE_WARNING(...) __attribute__((__diagnose_if__(__VA_ARGS__, "warning")))
# else
More information about the libcxx-commits
mailing list