Making C++11 a hard requirement for FreeBSD

Brooks Davis brooks at freebsd.org
Thu Oct 5 23:41:58 UTC 2017


On Thu, Oct 05, 2017 at 04:28:44PM -0700, Warner Losh wrote:
> I'd like to start a conversation about the viability of making C++11 a hard
> requirement for bootstrapping FreeBSD and setting a specific deadline for
> doing so.
> 
> This discussion is motivated by an ask from the jemalloc folks to use a
> limited subset of C++11 inside of malloc in such a way that is C safe (so
> the C programs wouldn't bloat with a C++ runtime). That's an ongoing
> discussion in another forum, and isn't appropriate for this thread because
> this has become a frequent request (but if you have opinions, please find
> the thread in current@ about it). I don't know the timeline of their plans
> to do this.
> 
> I'd like to take the rather vague plans we've had "before 12" and create a
> timeline for removal of gcc 4.2 coupled with a requirement for support in
> clang or a working external toolchain. This requirement would be coupled
> with the requirement that the external toolchain support C++11 constructs.
> 
> I'd like to propose we do this 12/31/17. Any architectures that can't meet
> this timeline will be disconnected from universe at that time and deleted
> 3/31/18.

This deadline seems viable to me.

> It's my belief that i386, amd64, arm, aarch64, powerpc and powerpc64 are
> ready for this change and mips* would be ready for this change with an
> external clang toolchain. I'm unsure of riscv and sparc64, but suspect that
> a newer version of gcc as an external toolchain could work.

mips64 should be good to go with external clang and lld in LLVM 6.0
and the llvm-devel port should be ready before then (We need to get
multi-got support landed upstream and then Alex has a fix for the
remaining lld issues).  As it is, I run clang built mips64 binaries
daily.

I'm certain the riscv supporting GCC supports C++11, but we might need
to do some testing and tweak some make bits.

If someone wants to test sparc64, that's fine, but with Oracle laying
off the SPARC it's arguably more dead than IA64 was when we removed it
(Intel shipped the last design *this* May).

-- Brooks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-arch/attachments/20171005/8dd111a0/attachment.sig>


More information about the freebsd-arch mailing list