Compile libcxxrt as C++11, since it is only really used in combination

with libc++, which is also C++11.  Also change one _Static_assert (which
is really C11) back into static_assert, like upstream.

This should help when compiling libcxxrt with newer versions of gcc,
which refuse to recognize any form of static assertions, if not
compiling for C++11 or higher.

While here, add -nostdinc++ to CFLAGS, to prevent picking up any C++
headers outside the source tree.
This commit is contained in:
Dimitry Andric 2016-03-27 00:37:54 +00:00
parent fddd4f6273
commit 35b9ea3d09
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=297299
2 changed files with 5 additions and 2 deletions

View File

@ -101,7 +101,7 @@ typedef struct {
uint32_t init_half;
uint32_t lock_half;
} guard_t;
_Static_assert(sizeof(guard_t) == sizeof(uint64_t), "");
static_assert(sizeof(guard_t) == sizeof(uint64_t), "");
static const uint32_t LOCKED = 1;
static const uint32_t INITIALISED = static_cast<guard_lock_t>(1) << 24;
# endif

View File

@ -20,7 +20,10 @@ SRCS+= libelftc_dem_gnu3.c\
guard.cc
WARNS= 0
CFLAGS+= -I${SRCDIR}
CFLAGS+= -I${SRCDIR} -nostdinc++
.if empty(CXXFLAGS:M-std=*)
CXXFLAGS+= -std=c++11
.endif
VERSION_MAP= ${.CURDIR}/Version.map
.include <bsd.lib.mk>