Re: Upgrading C++ library features.

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Fri, 25 Sep 2026 07:16:42 UTC
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.

-Dimitry