C++ in jemalloc

From: David Goldblatt <davidtgoldblatt_at_gmail.com>
Date: Thu, 5 Oct 2017 11:59:03 -0700
 Hi all,

The jemalloc developers have wanted to start using C++ for a while, to
enable some targeted refactorings of code we have trouble maintaining due
to brittleness or complexity (e.g. moving thousand line macro definitions
to templates, changing the build->extract symbols->rebuild mangling scheme
for internal symbols to one using C++ namespaces). We'd been holding off
because we thought that FreeBSD base all had to compile on GCC 4.2, in
order to support some esoteric architectures[1].

The other day though, I noticed that there is some C++ shipping with
FreeBSD; /usr/bin/dtc and /sbin/devd (the former claiming in the HACKING
document that C++11 is a minimum for FreeBSD 11). This, combined with the
fact that ports now points to a modern gcc, makes me think we were
incorrect, and can turn on C++ without breaking FreeBSD builds.

Am I right? Will anything break if jemalloc needs a C++ compiler to build?
We will of course not use exceptions, RTTI, global constructors, the C++
stdlib, or anything else that might affect C source or link compatibility.

Thanks,
David (on behalf of the jemalloc developers

[1] That being said, we don't compile or test on those architectures, and
so probably don't work there in the first place if I'm being honest. But
we'd also like to avoid making that a permanent state of affairs that can't
be changed.
Received on Thu Oct 05 2017 - 16:59:07 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:13 UTC