[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, 05 Apr 2023 16:54:55 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=255374

--- Comment #22 from Mark Millard <marklmi26-fbsd@yahoo.com> ---
Turns out that opensuse tumblweed can install llvm16 related
materials such that -stdlib=libc++ can be used. Based on this
it appears that for the llvm16 __cpp_lib_... feature test
macros vs. the existing main Freebsd ones:

If fully adopted, the libc++ would go from having undefined
status to having the modern values for:

__cpp_lib_constexpr_complex
__cpp_lib_constexpr_vector
__cpp_lib_memory_resource
__cpp_lib_polymorphic_allocator
__cpp_lib_source_location

Also, __cpp_lib_ranges would go from undefined to 202106 .
C++20 also has a later 202110 . C++23 has 3 later values,
the last being 202211 . (I'm generally omitting the L
suffixes in my materials.)

It does not appear that any other __cpp_lib_... macros
would change values.

These notes are based on using -std=c++20 .

Other notes:

__cpp_lib_int_pow2 in my prior note turned out to be from it
not being in the sort order position for the join operation
in the material that I copied/genrated and processed. It is
in fact up to date in main FreeBSD.

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