Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 Mar 2016 00:37:54 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r297299 - in head: contrib/libcxxrt lib/libcxxrt
Message-ID:  <201603270037.u2R0bsQH002104@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201603270037.u2R0bsQH002104>