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