CVS commit: src/external/bsd/libc++/dist/libcxxrt/src

2021-05-29 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Sun May 30 00:12:31 UTC 2021

Modified Files:
src/external/bsd/libc++/dist/libcxxrt/src: exception.cc
libelftc_dem_gnu3.c unwind-itanium.h

Log Message:
Merge 47661d00cd4d6cd728ae31b0bb29a49a6c06272a


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/external/bsd/libc++/dist/libcxxrt/src/exception.cc \
src/external/bsd/libc++/dist/libcxxrt/src/libelftc_dem_gnu3.c \
src/external/bsd/libc++/dist/libcxxrt/src/unwind-itanium.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/libc++/dist/libcxxrt/src/exception.cc
diff -u src/external/bsd/libc++/dist/libcxxrt/src/exception.cc:1.2 src/external/bsd/libc++/dist/libcxxrt/src/exception.cc:1.3
--- src/external/bsd/libc++/dist/libcxxrt/src/exception.cc:1.2	Fri Jun 26 00:50:39 2015
+++ src/external/bsd/libc++/dist/libcxxrt/src/exception.cc	Sun May 30 00:12:31 2021
@@ -304,13 +304,17 @@ static pthread_key_t eh_key;
 static void exception_cleanup(_Unwind_Reason_Code reason, 
   struct _Unwind_Exception *ex)
 {
-	__cxa_free_exception(static_cast(ex));
+	// Exception layout:
+	// [__cxa_exception [_Unwind_Exception]] [exception object]
+	//
+	// __cxa_free_exception expects a pointer to the exception object
+	__cxa_free_exception(static_cast(ex + 1));
 }
 static void dependent_exception_cleanup(_Unwind_Reason_Code reason, 
   struct _Unwind_Exception *ex)
 {
 
-	__cxa_free_dependent_exception(static_cast(ex));
+	__cxa_free_dependent_exception(static_cast(ex + 1));
 }
 
 /**
@@ -340,7 +344,8 @@ static void thread_cleanup(void* thread_
 		if (info->foreign_exception_state != __cxa_thread_info::none)
 		{
 			_Unwind_Exception *e = reinterpret_cast<_Unwind_Exception*>(info->globals.caughtExceptions);
-			e->exception_cleanup(_URC_FOREIGN_EXCEPTION_CAUGHT, e);
+			if (e->exception_cleanup)
+e->exception_cleanup(_URC_FOREIGN_EXCEPTION_CAUGHT, e);
 		}
 		else
 		{
@@ -516,7 +521,7 @@ static void emergency_malloc_free(char *
 			break;
 		}
 	}
-	assert(buffer > 0 &&
+	assert(buffer >= 0 &&
 	   "Trying to free something that is not an emergency buffer!");
 	// emergency_malloc() is expected to return 0-initialized data.  We don't
 	// zero the buffer when allocating it, because the static buffers will
@@ -556,7 +561,7 @@ static void free_exception(char *e)
 {
 	// If this allocation is within the address range of the emergency buffer,
 	// don't call free() because it was not allocated with malloc()
-	if ((e > emergency_buffer) &&
+	if ((e >= emergency_buffer) &&
 	(e < (emergency_buffer + sizeof(emergency_buffer
 	{
 		emergency_malloc_free(e);
@@ -854,6 +859,13 @@ extern "C" void __cxa_rethrow()
 
 	assert(ex->handlerCount > 0 && "Rethrowing uncaught exception!");
 
+	// `globals->uncaughtExceptions` was decremented by `__cxa_begin_catch`.
+	// It's normally incremented by `throw_exception`, but this path invokes
+	// `_Unwind_Resume_or_Rethrow` directly to rethrow the exception.
+	// This path is only reachable if we're rethrowing a C++ exception -
+	// foreign exceptions don't adjust any of this state.
+	globals->uncaughtExceptions++;
+
 	// ex->handlerCount will be decremented in __cxa_end_catch in enclosing
 	// catch block
 	
@@ -1199,11 +1211,13 @@ extern "C" void *__cxa_begin_catch(void 
 	// we see is a foreign exception then we won't have called it yet.
 	__cxa_thread_info *ti = thread_info();
 	__cxa_eh_globals *globals = &ti->globals;
-	globals->uncaughtExceptions--;
 	_Unwind_Exception *exceptionObject = static_cast<_Unwind_Exception*>(e);
 
 	if (isCXXException(exceptionObject->exception_class))
 	{
+		// Only exceptions thrown with a C++ exception throwing function will
+		// increment this, so don't decrement it here.
+		globals->uncaughtExceptions--;
 		__cxa_exception *ex =  exceptionFromPointer(exceptionObject);
 
 		if (ex->handlerCount == 0)
@@ -1280,12 +1294,13 @@ extern "C" void __cxa_end_catch()
 	
 	if (ti->foreign_exception_state != __cxa_thread_info::none)
 	{
-		globals->caughtExceptions = 0;
 		if (ti->foreign_exception_state != __cxa_thread_info::rethrown)
 		{
 			_Unwind_Exception *e = reinterpret_cast<_Unwind_Exception*>(ti->globals.caughtExceptions);
-			e->exception_cleanup(_URC_FOREIGN_EXCEPTION_CAUGHT, e);
+			if (e->exception_cleanup)
+e->exception_cleanup(_URC_FOREIGN_EXCEPTION_CAUGHT, e);
 		}
+		globals->caughtExceptions = 0;
 		ti->foreign_exception_state = __cxa_thread_info::none;
 		return;
 	}
@@ -1339,6 +1354,14 @@ extern "C" std::type_info *__cxa_current
 }
 
 /**
+ * Cleanup, ensures that `__cxa_end_catch` is called to balance an explicit
+ * `__cxa_begin_catch` call.
+ */
+static void end_catch(char *)
+{
+	__cxa_end_catch();
+}
+/**
  * ABI function, called when an exception specification is violated.
  *
  * This function does not return.
@@ -13

CVS commit: src/external/bsd/libc++/lib

2019-05-06 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon May  6 23:20:51 UTC 2019

Modified Files:
src/external/bsd/libc++/lib: Makefile

Log Message:
Avoid clang bug on earm with SSP/FORTIFY:

rt_libelftc_dem_gnu3.c:3567:3: warning: '__builtin___memset_chk' will always
  overflow destination buffer [-Wbuiltin-memcpy-chk-size]
  memset(&f, 0, FLOAT_EXTENED_BYTES);


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/external/bsd/libc++/lib/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/libc++/lib/Makefile
diff -u src/external/bsd/libc++/lib/Makefile:1.12 src/external/bsd/libc++/lib/Makefile:1.13
--- src/external/bsd/libc++/lib/Makefile:1.12	Tue Jul 17 14:58:10 2018
+++ src/external/bsd/libc++/lib/Makefile	Mon May  6 19:20:51 2019
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.12 2018/07/17 18:58:10 joerg Exp $
+#	$NetBSD: Makefile,v 1.13 2019/05/06 23:20:51 christos Exp $
 
 LIB=		c++
 WARNS=		4
@@ -44,6 +44,9 @@ CWARNFLAGS.clang+=	-Wno-error=missing-pr
 CWARNFLAGS.clang+=	-Wno-error=missing-field-initializers -Wno-error=switch
 CWARNFLAGS.clang+=	-Wno-error=implicit-exception-spec-mismatch
 
+# with SSP and FORTIFY, on earm...
+COPTS.rt_libelftc_dem_gnu3.c += ${${ACTIVE_CC} == "clang":? -Wno-error=builtin-memcpy-chk-size :}
+
 .if ${MKSANITIZER} != "yes"
 LDFLAGS+=	-Wl,-z,defs
 .endif



CVS commit: src/external/bsd/libc++/dist/libcxx/include

2018-07-17 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Tue Jul 17 18:57:25 UTC 2018

Modified Files:
src/external/bsd/libc++/dist/libcxx/include: __hash_table

Log Message:
Provide consistent exception specifiers.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.5 -r1.2 \
src/external/bsd/libc++/dist/libcxx/include/__hash_table

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/libc++/dist/libcxx/include/__hash_table
diff -u src/external/bsd/libc++/dist/libcxx/include/__hash_table:1.1.1.5 src/external/bsd/libc++/dist/libcxx/include/__hash_table:1.2
--- src/external/bsd/libc++/dist/libcxx/include/__hash_table:1.1.1.5	Thu Aug 20 09:31:48 2015
+++ src/external/bsd/libc++/dist/libcxx/include/__hash_table	Tue Jul 17 18:57:25 2018
@@ -1135,6 +1135,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>
 _NOEXCEPT_(
 is_nothrow_default_constructible<__bucket_list>::value &&
 is_nothrow_default_constructible<__first_node>::value &&
+is_nothrow_default_constructible<__node_allocator>::value &&
 is_nothrow_default_constructible::value &&
 is_nothrow_default_constructible::value)
 : __p2_(0),
@@ -1203,6 +1204,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>
 _NOEXCEPT_(
 is_nothrow_move_constructible<__bucket_list>::value &&
 is_nothrow_move_constructible<__first_node>::value &&
+is_nothrow_move_constructible<__node_allocator>::value &&
 is_nothrow_move_constructible::value &&
 is_nothrow_move_constructible::value)
 : __bucket_list_(_VSTD::move(__u.__bucket_list_)),



CVS commit: src/external/bsd/libc++/lib

2018-07-17 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Tue Jul 17 18:58:10 UTC 2018

Modified Files:
src/external/bsd/libc++/lib: Makefile

Log Message:
Ignore atomic alignment warnings on ARM. The compiler doesn't
know that the library implementation will be fine.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/external/bsd/libc++/lib/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/libc++/lib/Makefile
diff -u src/external/bsd/libc++/lib/Makefile:1.11 src/external/bsd/libc++/lib/Makefile:1.12
--- src/external/bsd/libc++/lib/Makefile:1.11	Wed Jun  6 12:02:43 2018
+++ src/external/bsd/libc++/lib/Makefile	Tue Jul 17 18:58:10 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.11 2018/06/06 12:02:43 kamil Exp $
+#	$NetBSD: Makefile,v 1.12 2018/07/17 18:58:10 joerg Exp $
 
 LIB=		c++
 WARNS=		4
@@ -48,4 +48,8 @@ CWARNFLAGS.clang+=	-Wno-error=implicit-e
 LDFLAGS+=	-Wl,-z,defs
 .endif
 
+.if !empty(MACHINE_ARCH:Marm*) || !empty(MACHINE_ARCH:Mearm*)
+CWARNFLAGS+=		-Wno-atomic-alignment
+.endif
+
 .include 



CVS commit: src/external/bsd/libc++/lib

2018-06-06 Thread Kamil Rytarowski
Module Name:src
Committed By:   kamil
Date:   Wed Jun  6 12:02:43 UTC 2018

Modified Files:
src/external/bsd/libc++/lib: Makefile

Log Message:
Don't pass -z defs to libc++ with MKSANITIZER=yes

Sanitizers are conflicting with this option:

  When linking shared libraries, the AddressSanitizer run-time is not
  linked, so -Wl,-z,defs may cause link errors (t use it with
  AddressSanitizer).

https://clang.llvm.org/docs/AddressSanitizer.html

  When linking shared libraries, the MemorySanitizer run-time is not
  linked, so -Wl,-z,defs may cause link errors (t use it with
  MemorySanitizer).

https://clang.llvm.org/docs/MemorySanitizer.html

Solution suggested by 
Root cause of breaking libc++ investigated by 


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/external/bsd/libc++/lib/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/libc++/lib/Makefile
diff -u src/external/bsd/libc++/lib/Makefile:1.10 src/external/bsd/libc++/lib/Makefile:1.11
--- src/external/bsd/libc++/lib/Makefile:1.10	Wed Jan 11 12:10:26 2017
+++ src/external/bsd/libc++/lib/Makefile	Wed Jun  6 12:02:43 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.10 2017/01/11 12:10:26 joerg Exp $
+#	$NetBSD: Makefile,v 1.11 2018/06/06 12:02:43 kamil Exp $
 
 LIB=		c++
 WARNS=		4
@@ -44,6 +44,8 @@ CWARNFLAGS.clang+=	-Wno-error=missing-pr
 CWARNFLAGS.clang+=	-Wno-error=missing-field-initializers -Wno-error=switch
 CWARNFLAGS.clang+=	-Wno-error=implicit-exception-spec-mismatch
 
+.if ${MKSANITIZER} != "yes"
 LDFLAGS+=	-Wl,-z,defs
+.endif
 
 .include 



CVS commit: src/external/bsd/libc++/dist/libcxxrt/src

2017-08-01 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Tue Aug  1 18:08:49 UTC 2017

Modified Files:
src/external/bsd/libc++/dist/libcxxrt/src: libelftc_dem_gnu3.c

Log Message:
Inline storage size in one place to avoid depending on DCE for removing
the USE_FORT=yes warning.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.3 -r1.2 \
src/external/bsd/libc++/dist/libcxxrt/src/libelftc_dem_gnu3.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/libc++/dist/libcxxrt/src/libelftc_dem_gnu3.c
diff -u src/external/bsd/libc++/dist/libcxxrt/src/libelftc_dem_gnu3.c:1.1.1.3 src/external/bsd/libc++/dist/libcxxrt/src/libelftc_dem_gnu3.c:1.2
--- src/external/bsd/libc++/dist/libcxxrt/src/libelftc_dem_gnu3.c:1.1.1.3	Fri Sep 11 11:19:59 2015
+++ src/external/bsd/libc++/dist/libcxxrt/src/libelftc_dem_gnu3.c	Tue Aug  1 18:08:48 2017
@@ -3624,7 +3624,7 @@ decode_fp_to_float80(const char *p, size
 #endif /* ELFTC_BYTE_ORDER == ELFTC_BYTE_ORDER_LITTLE_ENDIAN */
 		}
 
-		memset(&f, 0, FLOAT_QUADRUPLE_BYTES);
+		memset(&f, 0, sizeof(f));
 
 #if ELFTC_BYTE_ORDER == ELFTC_BYTE_ORDER_LITTLE_ENDIAN
 		memcpy(&f, buf, FLOAT_EXTENED_BYTES);



CVS commit: src/external/bsd/libc++/dist/libcxxrt/src

2015-06-25 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Fri Jun 26 00:50:39 UTC 2015

Modified Files:
src/external/bsd/libc++/dist/libcxxrt/src: exception.cc

Log Message:
Fix gcc revision check for __cxa_begin_catch() declaration.

Now it matches what was introduced in upstream commit e426f95.

Fixes PR lib/49990 (libc++ fails to compile with g++ 5.1)


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.4 -r1.2 \
src/external/bsd/libc++/dist/libcxxrt/src/exception.cc

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/libc++/dist/libcxxrt/src/exception.cc
diff -u src/external/bsd/libc++/dist/libcxxrt/src/exception.cc:1.1.1.4 src/external/bsd/libc++/dist/libcxxrt/src/exception.cc:1.2
--- src/external/bsd/libc++/dist/libcxxrt/src/exception.cc:1.1.1.4	Thu May 15 23:56:01 2014
+++ src/external/bsd/libc++/dist/libcxxrt/src/exception.cc	Fri Jun 26 00:50:39 2015
@@ -673,7 +673,7 @@ static _Unwind_Reason_Code trace(struct 
  * If the failure happened by falling off the end of the stack without finding
  * a handler, prints a back trace before aborting.
  */
-#if __GNUC__ > 3 && __GNUC_MINOR__ > 2
+#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
 extern "C" void *__cxa_begin_catch(void *e) throw();
 #else
 extern "C" void *__cxa_begin_catch(void *e);
@@ -1189,7 +1189,7 @@ BEGIN_PERSONALITY_FUNCTION(__gxx_persona
  * pointer to the caught exception, which is either the adjusted pointer (for
  * C++ exceptions) of the unadjusted pointer (for foreign exceptions).
  */
-#if __GNUC__ > 3 && __GNUC_MINOR__ > 2
+#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
 extern "C" void *__cxa_begin_catch(void *e) throw()
 #else
 extern "C" void *__cxa_begin_catch(void *e)



CVS commit: src/external/bsd/libc++/lib

2014-08-20 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Wed Aug 20 15:19:39 UTC 2014

Modified Files:
src/external/bsd/libc++/lib: Makefile

Log Message:
Since GCC 4.5 doesn't support noexcept, don't pretend to support it by
using -std=c++0x. Just use the correct value for x.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/external/bsd/libc++/lib/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/libc++/lib/Makefile
diff -u src/external/bsd/libc++/lib/Makefile:1.6 src/external/bsd/libc++/lib/Makefile:1.7
--- src/external/bsd/libc++/lib/Makefile:1.6	Sat Jul  5 20:45:49 2014
+++ src/external/bsd/libc++/lib/Makefile	Wed Aug 20 15:19:39 2014
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.6 2014/07/05 20:45:49 joerg Exp $
+#	$NetBSD: Makefile,v 1.7 2014/08/20 15:19:39 joerg Exp $
 
 LIB=		c++
 WARNS=		4
@@ -35,7 +35,7 @@ CLEANFILES+=	rt_${src}
 
 CPPFLAGS+=	-nostdinc++ -cxx-isystem ${LIBCXX_SRCDIR}/include -I${LIBCXXRT_SRCDIR}/src
 CPPFLAGS+=	-DLIBCXXRT
-CXXFLAGS+=	${${ACTIVE_CC} == "clang":? -std=c++11 : -std=c++0x}
+CXXFLAGS+=	-std=c++11
 
 CWARNFLAGS.gcc+=	-Wno-error
 



CVS commit: src/external/bsd/libc++

2014-05-15 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Thu May 15 23:59:12 UTC 2014

Modified Files:
src/external/bsd/libc++: prepare-import.sh

Log Message:
Remove some more CMakeLists.txt files.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/external/bsd/libc++/prepare-import.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/libc++/prepare-import.sh
diff -u src/external/bsd/libc++/prepare-import.sh:1.1 src/external/bsd/libc++/prepare-import.sh:1.2
--- src/external/bsd/libc++/prepare-import.sh:1.1	Fri May 17 23:00:22 2013
+++ src/external/bsd/libc++/prepare-import.sh	Thu May 15 23:59:12 2014
@@ -1,5 +1,5 @@
 #!/bin/sh
-# $NetBSD: prepare-import.sh,v 1.1 2013/05/17 23:00:22 joerg Exp $
+# $NetBSD: prepare-import.sh,v 1.2 2014/05/15 23:59:12 joerg Exp $
 #
 # Checkout libc++ and libcxxrt in the corresponding subdirectories of
 # dist.  Run this script and check for additional files and
@@ -9,7 +9,7 @@ set -e
 
 cd dist/libcxx
 rm -rf .svn cmake Makefile CMakeLists.txt lib src/support www .arcconfig
-rm -rf include/support
+rm -rf include/support */CMakeLists.txt
 cd ../libcxxrt
 rm -rf .git CMakeLists.txt */CMakeLists.txt src/doxygen_config
 



CVS commit: src/external/bsd/libc++/dist/libcxxrt/src

2014-01-23 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Thu Jan 23 13:30:38 UTC 2014

Modified Files:
src/external/bsd/libc++/dist/libcxxrt/src: unwind-itanium.h

Log Message:
Force consistent alignemnt of _Unwind_Exception with libgcc_s.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.2 -r1.2 \
src/external/bsd/libc++/dist/libcxxrt/src/unwind-itanium.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/libc++/dist/libcxxrt/src/unwind-itanium.h
diff -u src/external/bsd/libc++/dist/libcxxrt/src/unwind-itanium.h:1.1.1.2 src/external/bsd/libc++/dist/libcxxrt/src/unwind-itanium.h:1.2
--- src/external/bsd/libc++/dist/libcxxrt/src/unwind-itanium.h:1.1.1.2	Wed Dec 25 20:19:47 2013
+++ src/external/bsd/libc++/dist/libcxxrt/src/unwind-itanium.h	Thu Jan 23 13:30:38 2014
@@ -80,7 +80,7 @@ struct _Unwind_Exception
 _Unwind_Exception_Cleanup_Fn exception_cleanup;
 unsigned long private_1;
 unsigned long private_2;
-  } ;
+  } __attribute__((__aligned__));
 
 extern _Unwind_Reason_Code _Unwind_RaiseException (struct _Unwind_Exception *);
 extern _Unwind_Reason_Code _Unwind_ForcedUnwind (struct _Unwind_Exception *,



CVS commit: src/external/bsd/libc++/include

2013-10-17 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Thu Oct 17 22:07:59 UTC 2013

Modified Files:
src/external/bsd/libc++/include: Makefile

Log Message:
Explicitly include bsd.clean.mk for cleandir.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/external/bsd/libc++/include/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/libc++/include/Makefile
diff -u src/external/bsd/libc++/include/Makefile:1.2 src/external/bsd/libc++/include/Makefile:1.3
--- src/external/bsd/libc++/include/Makefile:1.2	Fri May 17 22:59:29 2013
+++ src/external/bsd/libc++/include/Makefile	Thu Oct 17 22:07:59 2013
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.2 2013/05/17 22:59:29 joerg Exp $
+#	$NetBSD: Makefile,v 1.3 2013/10/17 22:07:59 joerg Exp $
 
 .include 
 
@@ -118,4 +118,5 @@ DPSRCS+=	cxxabi.h
 CLEANFILES+=	cxxabi.h
 
 .include 
+.include 
 .include 



CVS commit: src/external/bsd/libc++

2013-05-17 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Fri May 17 23:00:22 UTC 2013

Added Files:
src/external/bsd/libc++: prepare-import.sh

Log Message:
Add cleanup scripts for future imports.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/external/bsd/libc++/prepare-import.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/external/bsd/libc++/prepare-import.sh
diff -u /dev/null src/external/bsd/libc++/prepare-import.sh:1.1
--- /dev/null	Fri May 17 23:00:22 2013
+++ src/external/bsd/libc++/prepare-import.sh	Fri May 17 23:00:22 2013
@@ -0,0 +1,15 @@
+#!/bin/sh
+# $NetBSD: prepare-import.sh,v 1.1 2013/05/17 23:00:22 joerg Exp $
+#
+# Checkout libc++ and libcxxrt in the corresponding subdirectories of
+# dist.  Run this script and check for additional files and
+# directories to prune, only relevant content should be included.
+
+set -e
+
+cd dist/libcxx
+rm -rf .svn cmake Makefile CMakeLists.txt lib src/support www .arcconfig
+rm -rf include/support
+cd ../libcxxrt
+rm -rf .git CMakeLists.txt */CMakeLists.txt src/doxygen_config
+



CVS commit: src/external/bsd/libc++/lib

2013-05-17 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Fri May 17 22:57:27 UTC 2013

Modified Files:
src/external/bsd/libc++/lib: Makefile

Log Message:
Prefer libcxxrt's typeinfo.cc. Do not use cxa_atexit.c, it is only for
Solaris. Do not use libcxxrt's memory.cc, the same content is already
provided by libc++ in new.cpp and that version agrees with the
overwriting rules for the operators from C++11.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/external/bsd/libc++/lib/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/libc++/lib/Makefile
diff -u src/external/bsd/libc++/lib/Makefile:1.2 src/external/bsd/libc++/lib/Makefile:1.3
--- src/external/bsd/libc++/lib/Makefile:1.2	Tue Apr 30 00:34:15 2013
+++ src/external/bsd/libc++/lib/Makefile	Fri May 17 22:57:27 2013
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.2 2013/04/30 00:34:15 joerg Exp $
+#	$NetBSD: Makefile,v 1.3 2013/05/17 22:57:27 joerg Exp $
 
 LIB=		c++
 WARNS=		4
@@ -11,12 +11,15 @@ NOLINT=		# defined
 SRCS=	algorithm.cpp bind.cpp chrono.cpp condition_variable.cpp debug.cpp \
 	exception.cpp future.cpp hash.cpp ios.cpp iostream.cpp locale.cpp \
 	memory.cpp mutex.cpp new.cpp random.cpp regex.cpp stdexcept.cpp \
-	string.cpp strstream.cpp system_error.cpp thread.cpp typeinfo.cpp \
+	string.cpp strstream.cpp system_error.cpp thread.cpp \
 	utility.cpp valarray.cpp
+# typeinfo.cc: prefer libcxxrt's version
 
 LIBCXXRT_SRCS+= \
-	auxhelper.cc dynamic_cast.cc exception.cc guard.cc memory.cc \
-	stdexcept.cc terminate.cc typeinfo.cc cxa_atexit.c libelftc_dem_gnu3.c
+	auxhelper.cc dynamic_cast.cc exception.cc guard.cc \
+	stdexcept.cc terminate.cc typeinfo.cc libelftc_dem_gnu3.c
+# cxa_atexit.c: Solaris-only
+# memory.cc: already provided by libc++'s new.cpp
 
 .for src in ${LIBCXXRT_SRCS}
 rt_${src}: ${LIBCXXRT_SRCDIR}/src/${src}



CVS commit: src/external/bsd/libc++/lib

2013-04-29 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Tue Apr 30 00:34:16 UTC 2013

Modified Files:
src/external/bsd/libc++/lib: Makefile

Log Message:
Explicitly disable standard C++ include paths to prevent mixing
includes.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/external/bsd/libc++/lib/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/libc++/lib/Makefile
diff -u src/external/bsd/libc++/lib/Makefile:1.1 src/external/bsd/libc++/lib/Makefile:1.2
--- src/external/bsd/libc++/lib/Makefile:1.1	Sat Apr 27 23:02:21 2013
+++ src/external/bsd/libc++/lib/Makefile	Tue Apr 30 00:34:15 2013
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.1 2013/04/27 23:02:21 joerg Exp $
+#	$NetBSD: Makefile,v 1.2 2013/04/30 00:34:15 joerg Exp $
 
 LIB=		c++
 WARNS=		4
@@ -29,7 +29,7 @@ CLEANFILES+=	rt_${src}
 
 .include 
 
-CPPFLAGS+=	-cxx-isystem ${LIBCXX_SRCDIR}/include -I${LIBCXXRT_SRCDIR}/src
+CPPFLAGS+=	-nostdinc++ -cxx-isystem ${LIBCXX_SRCDIR}/include -I${LIBCXXRT_SRCDIR}/src
 CPPFLAGS+=	-DLIBCXXRT
 CXXFLAGS+=	${${ACTIVE_CC} == "clang":? -std=c++11 : -std=c++0x}