Re: Upgrading C++ library features.

From: Konstantin Belousov <kib_at_freebsd.org>
Date: Fri, 25 Sep 2026 10:02:20 UTC
On Fri, Sep 25, 2026 at 09:16:42AM +0200, Dimitry Andric wrote:
> On 25 Sep 2026, at 00:22, Mark Millard <marklmi@yahoo.com> wrote:
> > 
> > On 9/24/26 13:25, Zaphod Beeblebrox wrote:
> >> Yes, the complaint is about enumerate not being in the views namespace. 
> >> Same as your error.
> >> 
> >> ... So I'm reading that there is no known way to grab a newer set of
> >> libc++ and associated header files.  15.1 is clang 19, it seems.  Is 16
> >> planning to ship with clang21, or might it ship with clang23?
> > 
> > Unclear at this time.
> > 
> > https://www.freebsd.org/releng/ reports the estimate:
> > 
> > December 2027 FreeBSD 16.0
> 
> At the moment 16-CURRENT, 15-STABLE and 14-STABLE have clang and libc++ 21.1.8.
> 
> I merged 21.1.8 into 16-CURRENT on 2026-04-25, and then MFC'd it to 15-STABLE and 14-STABLE on 2026-05-30.
> 
> We are now in a bit of a strange situation, that the just-released 14.5-RELEASE has clang/libc++ 21.1.8, while the somewhat older 15.1-RELEASE still has 19.1.7.
> 
> That said, libc++ 21.1.8 still doesn't have std::views::enumerate, unfortunately, so we will have to upgrade the base system to clang and libc++ 23.1 at some point.
> 
> 
> > As stands, the ports tree has an in process:
> > 
> > https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=296377
> > "[exp-run] update LLVM_DEFAULT to 22"
> 
> It is unrelated, the ports tree has lots of different LLVM versions, but these do not install their own copies of libc++. This is different from the various gcc ports, which each have their (possibly incompatible) versions of libstdc++.
> 
> The above bug is only about bumping the default version if the user doesn't specify any specific pinned version.
> 

There is PR294367 - devel/llvm22: add an option to build and
install bundled libcxx where I asked to provide an option for llvm ports
to install the bundled libc++.

I still think that this is a quite useful improvement.