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
# 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
CXX_EXTENSIONS
OFF
CXX_STANDARD
- 17
+ 20
CXX_STANDARD_REQUIRED
- ON
+ OFF
COMPILE_FLAGS
"${LIBCXXABI_COMPILE_FLAGS}"
LINK_FLAGS
CXX_EXTENSIONS
OFF
CXX_STANDARD
- 17
+ 20
CXX_STANDARD_REQUIRED
- ON
+ OFF
COMPILE_FLAGS
"${LIBCXXABI_COMPILE_FLAGS}"
LINK_FLAGS