[Bug 255374] C++20 features (headers) std::concepts, std::format, std::numbers, std::source_location, etc. are missing

From: <bugzilla-noreply_at_freebsd.org>
Date: Sun, 11 Jun 2023 19:36:27 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=255374

--- Comment #32 from Mark Millard <marklmi26-fbsd@yahoo.com> ---
I will note that for LLVM16 there will still be in
/usr/include/c++/v1/__config the likes of (from
openSUSE tumbleweed libc++ installation):

. . .
#ifdef __cplusplus

// _LIBCPP_VERSION represents the version of libc++, which matches the version
of LLVM.
// Given a LLVM release LLVM XX.YY.ZZ (e.g. LLVM 16.0.1 == 16.00.01),
_LIBCPP_VERSION is
// defined to XXYYZZ.
#  define _LIBCPP_VERSION 160002
. . .
#  if __has_feature(experimental_library)
#    ifndef _LIBCPP_ENABLE_EXPERIMENTAL
#      define _LIBCPP_ENABLE_EXPERIMENTAL
#    endif
#  endif

// Incomplete features get their own specific disabling flags. This makes it
// easier to grep for target specific flags once the feature is complete.
#  if !defined(_LIBCPP_ENABLE_EXPERIMENTAL) &&
!defined(_LIBCPP_BUILDING_LIBRARY)
#    define _LIBCPP_HAS_NO_INCOMPLETE_FORMAT
#  endif
. . .

which will make -fexperimental-library required in order to
have C++20's std::format generally enabled: still considered
experimental in LLVM16.

-- 
You are receiving this mail because:
You are on the CC list for the bug.