Re: /stable/12 future

From: Mark Millard via toolchain <toolchain_at_freebsd.org>
Date: Wed, 08 Dec 2021 23:23:20 UTC

On 2021-Dec-8, at 11:47, Jan Beich <jbeich@FreeBSD.org> wrote:

> 12.3-RELEASE still uses Clang/libc++ 10 from 1 year ago. Do you plan
> to update in future as /stable/12 is supported until 2024-06-30?
> 
> libc++ lags behind libstdc++ on C++20 features and sticking to an old
> version puts the entire branch on a deathbed. Given drm-kmod on
> /stable/12 is stuck with Linux 4.16 era (discontinued after 2018-06-26)
> /stable/12 is already mostly dead from desktop POV.
> 
> See also
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=215193
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260139

An FYI about C++ vintage coverage . . .

C++ headers missing in /usr/include/c++/v1/ (ignoring C++23 in-progress material)
for:

# uname -apKU
FreeBSD CA72_16Gp_ZFS 14.0-CURRENT FreeBSD 14.0-CURRENT #25 main-n251456-22c4ab6cb015-dirty: Tue Dec  7 19:38:53 PST 2021
root@CA72_16Gp_ZFS:/usr/obj/BUILDs/main-CA72-nodbg-clang/usr/main-src/arm64.aarch64/sys/GENERIC-NODBG-CA72
arm64 aarch64 1400043 1400043

starting with C++ specific headers:

coroutine (C++20)
source_location (C++20)
memory_resource (C++17)
cuchar (C++11)
syncstream (C++20)
stop_token (C++20)


C compatibility headers (which C++23 looks to give the status: undeprecated)
( not analyzed for if covered via outside /usr/include/c++/v1/ )

assert.h
signal.h
stdarg.h
time.h
uchar.h


Others (empty/meaningless yet part of the standard):

ctgmath.h (actually: C++20 removed this one)
cstdalign (actually: C++20 removed this one)
iso646.h
stdalign.h


I ignore experimental/* status files.


I have not checked if any of these are missing from libc++
in a way not specific to FreeBSD: I just compared material
about the standard versions to the file names in
/usr/include/c++/v1/ .

===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)