Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 07 Oct 2017 00:04:38 +0000
From:      "Poul-Henning Kamp" <phk@phk.freebsd.dk>
To:        John Baldwin <jhb@freebsd.org>
Cc:        "freebsd-arch@freebsd.org" <arch@freebsd.org>, Baptiste Daroussin <bapt@freebsd.org>, freebsd-arch@freebsd.org
Subject:   Re: Making C++11 a hard requirement for FreeBSD
Message-ID:  <30849.1507334678@critter.freebsd.dk>
In-Reply-To: <2706092.qpavixPdKK@ralph.baldwin.cx>
References:  <CANCZdfq5=KRp4NYKsc15gyS9C7CxrBFxcKQLPwnb_0oPb15vJw@mail.gmail.com> <20171006072010.ygq3k5ygwxykk4nb@ivaldir.net> <29630.1507308468@critter.freebsd.dk> <2706092.qpavixPdKK@ralph.baldwin.cx>

next in thread | previous in thread | raw e-mail | index | archive | help
--------
In message <2706092.qpavixPdKK@ralph.baldwin.cx>, John Baldwin writes:

>Hmm, I don't quite agree.  I think it's possible to use a restricted C++
>(no rtti, no exceptions, no STL) such that you are only using language
>features like templates or 'auto' without requiring runtime support.

That's what Bjarne used to call "C++ as a better C compiler".

If the jemalloc crew can stay inside that dotted line _and_ the C++
compilers still allow you to do so, then that could be an "not quite
pregnant yet" option.

>[...]

>Right now the C++ runtime is split into a
>couple of different pieces: libc++ (STL bits, roughly), libcxxrt (rtti
>/ exception support), libgcc_s (either llvm libunwind or gcc for _Unwind_*
>along with intrinsics from compiler-rt).
>[...]
>I think bundling any of those pieces into libc makes our system less
>flexible and different from all the other UNIXy systems currently in
>vogue.

That goes to my point about ld:  The standard doesn't say which
library file which bits of the C++ runtime have to go into, we
get to decide that if we want to, as long as we provide a ld(1)
which knows where to find things.

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk@FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?30849.1507334678>