From 3b625060fc91598d28196e559196bfc7b9a929f9 Mon Sep 17 00:00:00 2001 From: Marek Kurdej Date: Sun, 22 Nov 2020 15:56:39 +0100 Subject: [PATCH] [libc++] [libc++abi] Use C++20 standard. This change is needed to use char8_t when building libc++. Using the same standard in libc++abi for coherence. See https://reviews.llvm.org/D91517. Reviewed By: ldionne, #libc, #libc_abi Differential Revision: https://reviews.llvm.org/D91691 --- libcxx/CMakeLists.txt | 8 ++++---- libcxxabi/src/CMakeLists.txt | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/libcxx/CMakeLists.txt b/libcxx/CMakeLists.txt index dd4c93b..f4c7e99 100644 --- a/libcxx/CMakeLists.txt +++ b/libcxx/CMakeLists.txt @@ -514,11 +514,11 @@ remove_flags(-Wno-pedantic -pedantic-errors -pedantic) # Required flags ============================================================== function(cxx_add_basic_build_flags target) - # Require C++17 for all targets. C++17 is needed to use aligned allocation - # in the dylib. + # Require C++20 for all targets. C++17 is needed to use aligned allocation + # in the dylib. C++20 is needed to use char8_t. set_target_properties(${target} PROPERTIES - CXX_STANDARD 17 - CXX_STANDARD_REQUIRED YES + CXX_STANDARD 20 + CXX_STANDARD_REQUIRED NO CXX_EXTENSIONS NO) # When building the dylib, don't warn for unavailable aligned allocation diff --git a/libcxxabi/src/CMakeLists.txt b/libcxxabi/src/CMakeLists.txt index 7353c20..a8e12aa 100644 --- a/libcxxabi/src/CMakeLists.txt +++ b/libcxxabi/src/CMakeLists.txt @@ -174,9 +174,9 @@ if (LIBCXXABI_ENABLE_SHARED) CXX_EXTENSIONS OFF CXX_STANDARD - 17 + 20 CXX_STANDARD_REQUIRED - ON + OFF COMPILE_FLAGS "${LIBCXXABI_COMPILE_FLAGS}" LINK_FLAGS @@ -241,9 +241,9 @@ if (LIBCXXABI_ENABLE_STATIC) CXX_EXTENSIONS OFF CXX_STANDARD - 17 + 20 CXX_STANDARD_REQUIRED - ON + OFF COMPILE_FLAGS "${LIBCXXABI_COMPILE_FLAGS}" LINK_FLAGS -- 2.7.4