RE: git: f3dbef108212 - main - Bump __FreeBSD_version for llvm 19.1.2 merge [questions]

From: Mark Millard <marklmi_at_yahoo.com>
Date: Wed, 23 Oct 2024 21:47:49 UTC
Dimitry Andric <dim_at_FreeBSD.org> write
Date: Wed, 23 Oct 2024 18:32:46 UTC :

> The branch main has been updated by dim:
> 
> URL: https://cgit.FreeBSD.org/src/commit/?id=f3dbef108212460489ae68b4c47e20b73984f433
> 
> commit f3dbef108212460489ae68b4c47e20b73984f433
> Author: Dimitry Andric <dim@FreeBSD.org>
> AuthorDate: 2024-10-23 16:49:02 +0000
> Commit: Dimitry Andric <dim@FreeBSD.org>
> CommitDate: 2024-10-23 18:27:43 +0000
> 
> Bump __FreeBSD_version for llvm 19.1.2 merge
> 
> PR: 280562
> MFC after: 1 month
> ---
> sys/sys/param.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/sys/sys/param.h b/sys/sys/param.h
> index 8af2f9594bc1..7647c0d6e518 100644
> --- a/sys/sys/param.h
> +++ b/sys/sys/param.h
> @@ -73,7 +73,7 @@
> * cannot include sys/param.h and should only be updated here.
> */
> #undef __FreeBSD_version
> -#define __FreeBSD_version 1500025
> +#define __FreeBSD_version 1500026
> 
> /*
> * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,


As clang++ 19 (not necessarily how FreeBSD will use it) crosses
into the territory of supporting new libc++ related things that
work differently for how builds work, I wonder about the intent
for import std; and import std.compat; that involve cmake or
the like in the build process but that depend on material
provided by libc++ that cmake (or whatever) uses.

For reference: https://libcxx.llvm.org/Status/Cxx23.html reports
. . .

QUOTE
P2465R3 Standard Library Modules std and std.compat 2022-07 (Virtual) Complete 19.0
END QUOTE

So, as stands, it is now just up to FreeBSD what it wants
to do in the specific subject area.

The build activity difference is tied to these not being
prebuilt libraries or the like, but instead built to the
compiler options and such in use for the build of the 
individual project build(s). cmake, for example, uses
information provided by llvm19's libc++ as part of
controlling the building tailored material for import
std; or import std.compat; .

I'm not expecting FreeBSD to allow use of import std; or
import std.compat; in the world or kernel builds. I'm more
curious about if FreeBSD expects to allow personal software
activity or, possibly, ports to use import std; or import
std.compat; via use of the system libc++ ( and clang++ )
vs. not supporting such.

This is mostly a question because FreeBSD only supports use of
the system libc++ for devel/llvm* and there is no lang/clang++-19
( analogous to, say, lang/gcc14 having its own libstdc++ that
can be used instead of the system libc++ ). As stands, there is
just one libc++ for a given build of FreeBSD.

[Use of more modern devel/llvm* 's only get one the langauge
updates, not the libc++ library updates. But some things from
the C++23 and later standards involve both before support is
functional.]

===
Mark Millard
marklmi at yahoo.com