[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: Wed, 17 May 2023 07:39:26 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=255374

--- Comment #27 from Mark Millard <marklmi26-fbsd@yahoo.com> ---
(In reply to Mark Millard from comment #26)

Looks like __has_feature(experimental_library) and
_LIBCPP_ENABLE_EXPERIMENTAL were new as of LLVM 15.
LLVM 14 does not have the analogous overall logic
to ( /usr/include/c++/v1/__config ) :

. . .
#  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
#    define _LIBCPP_HAS_NO_INCOMPLETE_RANGES
#  endif
. . .

LLVM 14 just has ( /usr/include/c++/v1/__config_site ):

/* #undef _LIBCPP_HAS_NO_INCOMPLETE_FORMAT */
/* #undef _LIBCPP_HAS_NO_INCOMPLETE_RANGES */

with no more-overall logic involved.

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