CVS commit: src/external/bsd/libc++/dist/libcxxrt/src
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
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
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
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
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
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
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
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++
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
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
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++
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
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
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}