svn commit: r297299 - in head: contrib/libcxxrt lib/libcxxrt
Dimitry Andric
dim at FreeBSD.org
Sun Mar 27 00:37:56 UTC 2016
Author: dim
Date: Sun Mar 27 00:37:54 2016
New Revision: 297299
URL: https://svnweb.freebsd.org/changeset/base/297299
Log:
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.
Modified:
head/contrib/libcxxrt/guard.cc
head/lib/libcxxrt/Makefile
Modified: head/contrib/libcxxrt/guard.cc
==============================================================================
--- head/contrib/libcxxrt/guard.cc Sat Mar 26 23:39:53 2016 (r297298)
+++ head/contrib/libcxxrt/guard.cc Sun Mar 27 00:37:54 2016 (r297299)
@@ -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
Modified: head/lib/libcxxrt/Makefile
==============================================================================
--- head/lib/libcxxrt/Makefile Sat Mar 26 23:39:53 2016 (r297298)
+++ head/lib/libcxxrt/Makefile Sun Mar 27 00:37:54 2016 (r297299)
@@ -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>
More information about the svn-src-all
mailing list