Date: Fri, 06 Oct 2017 16:47:48 +0000 From: "Poul-Henning Kamp" <phk@phk.freebsd.dk> To: Baptiste Daroussin <bapt@FreeBSD.org> Cc: John Baldwin <jhb@freebsd.org>, "freebsd-arch@freebsd.org" <arch@freebsd.org>, freebsd-arch@freebsd.org Subject: Re: Making C++11 a hard requirement for FreeBSD Message-ID: <29630.1507308468@critter.freebsd.dk> In-Reply-To: <20171006072010.ygq3k5ygwxykk4nb@ivaldir.net> References: <CANCZdfq5=KRp4NYKsc15gyS9C7CxrBFxcKQLPwnb_0oPb15vJw@mail.gmail.com> <2116882.XEKuxOb729@ralph.baldwin.cx> <20171006072010.ygq3k5ygwxykk4nb@ivaldir.net>
next in thread | previous in thread | raw e-mail | index | archive | help
If we allow C++ in libc, it should not merely be for the convenience of a few programmers, but because we have a vision for how it that makes the world, or at least FreeBSD, a better place. Having C++ in libc is no trivial detail, there is a number of areas where this causes bootstrapping issues and conflicts. We can solve those issues with unsightly local hacks, most notably a bogo-malloc to malloc while C++ constructs jemalloc. But hand on heart, we all know that is a bad idea, all of us have been down that road before, and we also know that there is no way to be a little bit pregnant. The other way, the right way, to accomodate the jemalloc request is to go all in. Nothing in the ISO verbiage says that you cannot have C and C++ runtimes in the same library, as long as your linker knows the zip code of it. Libc as a combined C and C++ runtime can be implemented a lot cleaner than a libc which hides C++ components in the closet. So that is my input to this question: Either we tell the jemalloc people "sorry, it's called libc for a reason" or we decide to make our libc a native C *and* C++ runtime. I see no sane or even possible "middle ground" or compromise position. Poul-Henning -- 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?29630.1507308468>