Re: What's the newest C++ standard that we can target?

2025-01-08 Thread Warner Losh
On Wed, Jan 8, 2025, 10:47 AM Alan Somers  wrote:

> On Wed, Jan 8, 2025 at 10:44 AM Dimitry Andric  wrote:
> >
> > On 8 Jan 2025, at 18:31, Alan Somers  wrote:
> > >
> > > What is the newest C++ standard that we can target in src, and be
> > > confident that it will compile on all targets?  Can we use C++20?
> >
> > C++17 is probably the safest one, as C++20 support in libc++ 19 is
> > mostly done, but not entirely complete:
> >
> > https://libcxx.llvm.org/Status/Cxx20.html
> >
> > As long as you avoid modules, and the more exotic parts, you should be
> > fine. One glaring remaining issue is that std::jthread support is still
> > gated under -fexperimental-library, at least until libc++ 20 comes out.
> >
> > That said, older existing releases don't have libc++ 19 yet, and they
> > are missing a few headers too. So it depends on whether you want to
> > target -CURRENT only?
> >
> > -Dimitry
>
> I guess I should've mentioned that I would like to MFC to stable/14,
> too.  I certainly intend to avoid exotic parts.  Is there any better
> way to ensure that may code will build other than "make universe"?
>

No.

But I keep a stable/13 and stable/14 trees around that I build on amd64 and
armv7 for all changes unless I'm worried. It's faster. Another way is to
have jails for these environments for incremental development or quick
experiments. Poudriere is a good way to build those jails quickly.

Warner


Re: What's the newest C++ standard that we can target?

2025-01-08 Thread Alan Somers
On Wed, Jan 8, 2025 at 10:44 AM Dimitry Andric  wrote:
>
> On 8 Jan 2025, at 18:31, Alan Somers  wrote:
> >
> > What is the newest C++ standard that we can target in src, and be
> > confident that it will compile on all targets?  Can we use C++20?
>
> C++17 is probably the safest one, as C++20 support in libc++ 19 is
> mostly done, but not entirely complete:
>
> https://libcxx.llvm.org/Status/Cxx20.html
>
> As long as you avoid modules, and the more exotic parts, you should be
> fine. One glaring remaining issue is that std::jthread support is still
> gated under -fexperimental-library, at least until libc++ 20 comes out.
>
> That said, older existing releases don't have libc++ 19 yet, and they
> are missing a few headers too. So it depends on whether you want to
> target -CURRENT only?
>
> -Dimitry

I guess I should've mentioned that I would like to MFC to stable/14,
too.  I certainly intend to avoid exotic parts.  Is there any better
way to ensure that may code will build other than "make universe"?



Re: What's the newest C++ standard that we can target?

2025-01-08 Thread Dimitry Andric
On 8 Jan 2025, at 18:31, Alan Somers  wrote:
> 
> What is the newest C++ standard that we can target in src, and be
> confident that it will compile on all targets?  Can we use C++20?

C++17 is probably the safest one, as C++20 support in libc++ 19 is
mostly done, but not entirely complete:

https://libcxx.llvm.org/Status/Cxx20.html

As long as you avoid modules, and the more exotic parts, you should be
fine. One glaring remaining issue is that std::jthread support is still
gated under -fexperimental-library, at least until libc++ 20 comes out.

That said, older existing releases don't have libc++ 19 yet, and they
are missing a few headers too. So it depends on whether you want to
target -CURRENT only?

-Dimitry




Re: What's the newest C++ standard that we can target?

2025-01-08 Thread David Chisnall
On 8 Jan 2025, at 17:31, Alan Somers  wrote:
> 
> What is the newest C++ standard that we can target in src, and be
> confident that it will compile on all targets?  Can we use C++20?

C++20 is pretty well supported by clang 13 (I’m using C++20 features on a 
project that needs to compile with clang 13).  I believe all STABLE branches 
and releases now include at least 17.x, which has incomplete (but fairly good) 
C++23 support.

David




#263542896 WIFI compiling error: Can anyone fix it on main branch?

2025-01-08 Thread Поддержка Мокка
​​Мы работаем над вашим запросом. Нам понадобилось чуть больше
времени, чтобы решить ваш вопрос #263542896. Еще 24 часа, и мы постараемся
к вам вернуться. Приносим извинения за неудобства.

Пожалуйста, не отвечайте на это письмо, так как оно сформировано
автоматически.



С уважением, служба поддержки Мокка
[#ID-263542896]

вторник, 7 января 2025 г. 12:16, owner-freebsd-curr...@freebsd.org:

> On Tue, 7 Jan 2025, at 09:39, Chen, Alvin W wrote:
> > Thanks!
> >
> > Internal Use - Confidential
>
> Hi Alvin,
>
> Can you share your HEAD commit, & an error message?
>
> 749b3b2c0629 works fine on my machine, its current as of 2 hours ago.
>
> A+
> Dave
>
>


Re: What's the newest C++ standard that we can target?

2025-01-08 Thread Dimitry Andric
On 8 Jan 2025, at 18:46, Alan Somers  wrote:
> 
> On Wed, Jan 8, 2025 at 10:44 AM Dimitry Andric  wrote:
>> 
>> On 8 Jan 2025, at 18:31, Alan Somers  wrote:
>>> 
>>> What is the newest C++ standard that we can target in src, and be
>>> confident that it will compile on all targets?  Can we use C++20?
>> 
>> C++17 is probably the safest one, as C++20 support in libc++ 19 is
>> mostly done, but not entirely complete:
>> 
>> https://libcxx.llvm.org/Status/Cxx20.html
>> 
>> As long as you avoid modules, and the more exotic parts, you should be
>> fine. One glaring remaining issue is that std::jthread support is still
>> gated under -fexperimental-library, at least until libc++ 20 comes out.
>> 
>> That said, older existing releases don't have libc++ 19 yet, and they
>> are missing a few headers too. So it depends on whether you want to
>> target -CURRENT only?
>> 
>> -Dimitry
> 
> I guess I should've mentioned that I would like to MFC to stable/14,
> too.

llvm-19 was already merged to stable/14 and stable/13, so that should be
no problem.


>  I certainly intend to avoid exotic parts.  Is there any better
> way to ensure that may code will build other than "make universe"?

If you are on a recent -CURRENT system, you should be able to build
the program standalone. If you add it to the base system, you should
only have to do special handling if you want to make it part of the
bootstrap tools or cross-tools phase.

-Dimitry