CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3/config/locale/dragonfly
Module Name:src Committed By: mrg Date: Sat Apr 24 21:17:40 UTC 2021 Modified Files: src/external/gpl3/gcc/dist/libstdc++-v3/config/locale/dragonfly: c_locale.cc c_locale.h Log Message: move the NetBSD version of: __convert_from_v(const __c_locale& __cloc, char* __out, const int __size __attribute__ ((__unused__)), const char* __fmt, ...) from the .h file into the .cc file. NetBSD version relies upon vasprintf_l() being defined and compile contexts such as _XOPEN_SOURCE=600 or _POSIX_C_SOURCE < 200809 may not provide the definition of it, cause compile time issues for 3rdparty applications in c++locale.h. This ensure that all the required definitions are present when this code is compiled. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 \ src/external/gpl3/gcc/dist/libstdc++-v3/config/locale/dragonfly/c_locale.cc \ src/external/gpl3/gcc/dist/libstdc++-v3/config/locale/dragonfly/c_locale.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/gpl3/gcc/dist/libstdc++-v3/config/locale/dragonfly/c_locale.cc diff -u src/external/gpl3/gcc/dist/libstdc++-v3/config/locale/dragonfly/c_locale.cc:1.5 src/external/gpl3/gcc/dist/libstdc++-v3/config/locale/dragonfly/c_locale.cc:1.6 --- src/external/gpl3/gcc/dist/libstdc++-v3/config/locale/dragonfly/c_locale.cc:1.5 Sun Apr 11 00:02:24 2021 +++ src/external/gpl3/gcc/dist/libstdc++-v3/config/locale/dragonfly/c_locale.cc Sat Apr 24 21:17:40 2021 @@ -28,6 +28,8 @@ // Written by Benjamin Kosnik // Modified for DragonFly by John Marino +// Modified for NetBSD by Christos Zoulas and +// matthew green #include #include @@ -191,6 +193,24 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION const char* const* const locale::_S_categories = __gnu_cxx::category_names; +#ifdef __NetBSD__ + int + __convert_from_v(const __c_locale& __cloc, char* __out, + const int __size __attribute__ ((__unused__)), + const char* __fmt, ...) + { +__builtin_va_list __args; +__builtin_va_start(__args, __fmt); + +const int __ret = vsnprintf_l(__out, __size, (struct _locale *)__cloc, + __fmt, __args); + +__builtin_va_end(__args); + +return __ret; + } +#endif + _GLIBCXX_END_NAMESPACE_VERSION } // namespace Index: src/external/gpl3/gcc/dist/libstdc++-v3/config/locale/dragonfly/c_locale.h diff -u src/external/gpl3/gcc/dist/libstdc++-v3/config/locale/dragonfly/c_locale.h:1.5 src/external/gpl3/gcc/dist/libstdc++-v3/config/locale/dragonfly/c_locale.h:1.6 --- src/external/gpl3/gcc/dist/libstdc++-v3/config/locale/dragonfly/c_locale.h:1.5 Sun Apr 11 00:02:24 2021 +++ src/external/gpl3/gcc/dist/libstdc++-v3/config/locale/dragonfly/c_locale.h Sat Apr 24 21:17:40 2021 @@ -33,6 +33,8 @@ // Written by Benjamin Kosnik // Modified for DragonFly by John Marino +// Modified for NetBSD by Christos Zoulas and +// matthew green #ifndef _GLIBCXX_CXX_LOCALE_H #define _GLIBCXX_CXX_LOCALE_H 1 @@ -54,6 +56,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION typedef int* __c_locale; +#ifndef __NetBSD__ // Convert numeric value of type double and long double to string and // return length of string. If vsnprintf is available use it, otherwise // fall back to the unsafe vsprintf which, in general, can be dangerous @@ -63,30 +66,31 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION const int __size __attribute__ ((__unused__)), const char* __fmt, ...) { -#ifndef __NetBSD__ __c_locale __old = (__c_locale)uselocale((locale_t)__cloc); -#endif __builtin_va_list __args; __builtin_va_start(__args, __fmt); -#ifndef __NetBSD__ #if _GLIBCXX_USE_C99_STDIO const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); #else const int __ret = __builtin_vsprintf(__out, __fmt, __args); #endif -uselocale((locale_t)__old); -#else -const int __ret = vsnprintf_l(__out, __size, (locale_t)__cloc, __fmt, - __args); -#endif - __builtin_va_end(__args); +uselocale((locale_t)__old); return __ret; } +#else + // NetBSD backend requires vasprintf_l() which may not be visible in + // all complation environments (eg, _XOPEN_SOURCE=600) so the backend + // lives in the library code, instead of this header. + int + __convert_from_v(const __c_locale& __cloc, char* __out, + const int __size __attribute__ ((__unused__)), + const char* __fmt, ...); +#endif _GLIBCXX_END_NAMESPACE_VERSION } // namespace
CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3/include/bits
Module Name:src Committed By: christos Date: Tue Jan 17 12:49:27 UTC 2017 Modified Files: src/external/gpl3/gcc/dist/libstdc++-v3/include/bits: stl_heap.h Log Message: use the full attribute syntax To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_heap.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/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_heap.h diff -u src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_heap.h:1.2 src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_heap.h:1.3 --- src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_heap.h:1.2 Thu Jan 12 14:21:09 2017 +++ src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_heap.h Tue Jan 17 07:49:26 2017 @@ -263,7 +263,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type - _ValueType __unused; + _ValueType __attribute__((__unused__)); // concept requirements __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept<
CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3/include/bits
Module Name:src Committed By: christos Date: Tue Jan 17 12:48:39 UTC 2017 Modified Files: src/external/gpl3/gcc/dist/libstdc++-v3/include/bits: stl_algo.h Log Message: use the full attribute syntax. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_algo.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/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_algo.h diff -u src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_algo.h:1.2 src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_algo.h:1.3 --- src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_algo.h:1.2 Thu Jan 12 14:21:09 2017 +++ src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_algo.h Tue Jan 17 07:48:39 2017 @@ -1736,11 +1736,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _RandomAccessIterator __result_last) { typedef typename iterator_traits<_InputIterator>::value_type - _InputValueType __unused; + _InputValueType __attribute__((__unused__)); typedef typename iterator_traits<_RandomAccessIterator>::value_type - _OutputValueType __unused; + _OutputValueType __attribute__((__unused__)); typedef typename iterator_traits<_RandomAccessIterator>::difference_type - _DistanceType __unused; + _DistanceType __attribute__((__unused__)); // concept requirements __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>) @@ -1786,11 +1786,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _Compare __comp) { typedef typename iterator_traits<_InputIterator>::value_type - _InputValueType __unused; + _InputValueType __attribute__((__unused__)); typedef typename iterator_traits<_RandomAccessIterator>::value_type - _OutputValueType __unused; + _OutputValueType __attribute__((__unused__)); typedef typename iterator_traits<_RandomAccessIterator>::difference_type - _DistanceType __unused; + _DistanceType __attribute__((__unused__)); // concept requirements __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>) @@ -2019,7 +2019,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION const _Tp& __val, _Compare __comp) { typedef typename iterator_traits<_ForwardIterator>::value_type - _ValueType __unused; + _ValueType __attribute__((__unused__)); // concept requirements __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>) @@ -2076,7 +2076,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION const _Tp& __val) { typedef typename iterator_traits<_ForwardIterator>::value_type - _ValueType __unused; + _ValueType __attribute__((__unused__)); // concept requirements __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>) @@ -2108,7 +2108,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION const _Tp& __val, _Compare __comp) { typedef typename iterator_traits<_ForwardIterator>::value_type - _ValueType __unused; + _ValueType __attribute__((__unused__)); // concept requirements __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>) @@ -2182,7 +2182,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION const _Tp& __val) { typedef typename iterator_traits<_ForwardIterator>::value_type - _ValueType __unused; + _ValueType __attribute__((__unused__)); // concept requirements __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>) @@ -2219,7 +2219,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION const _Tp& __val, _Compare __comp) { typedef typename iterator_traits<_ForwardIterator>::value_type - _ValueType __unused; + _ValueType __attribute__((__unused__)); // concept requirements __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>) @@ -2255,7 +2255,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION const _Tp& __val) { typedef typename iterator_traits<_ForwardIterator>::value_type - _ValueType __unused; + _ValueType __attribute__((__unused__)); // concept requirements __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>) @@ -2290,7 +2290,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION const _Tp& __val, _Compare __comp) { typedef typename iterator_traits<_ForwardIterator>::value_type - _ValueType __unused; + _ValueType __attribute__((__unused__)); // concept requirements __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3/include/bits
Module Name:src Committed By: christos Date: Thu Jan 12 19:21:09 UTC 2017 Modified Files: src/external/gpl3/gcc/dist/libstdc++-v3/include/bits: stl_algo.h stl_heap.h Log Message: sprinkle __unused To generate a diff of this commit: cvs rdiff -u -r1.1.1.5 -r1.2 \ src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_algo.h cvs rdiff -u -r1.1.1.3 -r1.2 \ src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_heap.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/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_algo.h diff -u src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_algo.h:1.1.1.5 src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_algo.h:1.2 --- src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_algo.h:1.1.1.5 Tue Jun 7 01:57:52 2016 +++ src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_algo.h Thu Jan 12 14:21:09 2017 @@ -1736,11 +1736,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _RandomAccessIterator __result_last) { typedef typename iterator_traits<_InputIterator>::value_type - _InputValueType; + _InputValueType __unused; typedef typename iterator_traits<_RandomAccessIterator>::value_type - _OutputValueType; + _OutputValueType __unused; typedef typename iterator_traits<_RandomAccessIterator>::difference_type - _DistanceType; + _DistanceType __unused; // concept requirements __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>) @@ -1786,11 +1786,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _Compare __comp) { typedef typename iterator_traits<_InputIterator>::value_type - _InputValueType; + _InputValueType __unused; typedef typename iterator_traits<_RandomAccessIterator>::value_type - _OutputValueType; + _OutputValueType __unused; typedef typename iterator_traits<_RandomAccessIterator>::difference_type - _DistanceType; + _DistanceType __unused; // concept requirements __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>) @@ -2019,7 +2019,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION const _Tp& __val, _Compare __comp) { typedef typename iterator_traits<_ForwardIterator>::value_type - _ValueType; + _ValueType __unused; // concept requirements __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>) @@ -2076,7 +2076,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION const _Tp& __val) { typedef typename iterator_traits<_ForwardIterator>::value_type - _ValueType; + _ValueType __unused; // concept requirements __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>) @@ -2108,7 +2108,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION const _Tp& __val, _Compare __comp) { typedef typename iterator_traits<_ForwardIterator>::value_type - _ValueType; + _ValueType __unused; // concept requirements __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>) @@ -2182,7 +2182,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION const _Tp& __val) { typedef typename iterator_traits<_ForwardIterator>::value_type - _ValueType; + _ValueType __unused; // concept requirements __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>) @@ -2219,7 +2219,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION const _Tp& __val, _Compare __comp) { typedef typename iterator_traits<_ForwardIterator>::value_type - _ValueType; + _ValueType __unused; // concept requirements __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>) @@ -2255,7 +2255,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION const _Tp& __val) { typedef typename iterator_traits<_ForwardIterator>::value_type - _ValueType; + _ValueType __unused; // concept requirements __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>) @@ -2290,7 +2290,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION const _Tp& __val, _Compare __comp) { typedef typename iterator_traits<_ForwardIterator>::value_type - _ValueType; + _ValueType __unused; // concept requirements __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>) Index: src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_heap.h diff -u src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_heap.h:1.1.1.3 src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_heap.h:1.2 --- src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_heap.h:1.1.1.3 Sun Jan 24 01:05:52 2016 +++ src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_heap.h Thu Jan 12 14:21:09 2017 @@ -263,7 +263,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type - _ValueType; +
CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3
Module Name:src Committed By: kamil Date: Sat Dec 24 15:48:26 UTC 2016 Modified Files: src/external/gpl3/gcc/dist/libstdc++-v3/include/std: mutex src/external/gpl3/gcc/dist/libstdc++-v3/src/c++11: mutex.cc Log Message: Revert introduction of FIXME_PR_51139 This change introduced ABI incompatible change with older versions shipped on NetBSD. This back out code that is currently not working correctly due to TLS-based std::call_once implementation in GNU libstdc++. Error when starting gnuchash: /usr/pkg/lib/libwebkitgtk-1.0.so.0: Undefined symbol "_ZSt15__once_callable" (symnum = 1705) PR 51139 Reported by To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ src/external/gpl3/gcc/dist/libstdc++-v3/include/std/mutex cvs rdiff -u -r1.2 -r1.3 \ src/external/gpl3/gcc/dist/libstdc++-v3/src/c++11/mutex.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/gpl3/gcc/dist/libstdc++-v3/include/std/mutex diff -u src/external/gpl3/gcc/dist/libstdc++-v3/include/std/mutex:1.2 src/external/gpl3/gcc/dist/libstdc++-v3/include/std/mutex:1.3 --- src/external/gpl3/gcc/dist/libstdc++-v3/include/std/mutex:1.2 Wed Dec 21 21:55:46 2016 +++ src/external/gpl3/gcc/dist/libstdc++-v3/include/std/mutex Sat Dec 24 15:48:26 2016 @@ -695,7 +695,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION call_once(once_flag& __once, _Callable&& __f, _Args&&... __args); }; -#if defined(_GLIBCXX_HAVE_TLS) && defined(FIXME_PR_51139) +#ifdef _GLIBCXX_HAVE_TLS extern __thread void* __once_callable; extern __thread void (*__once_call)(); @@ -722,7 +722,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION void call_once(once_flag& __once, _Callable&& __f, _Args&&... __args) { -#if defined(_GLIBCXX_HAVE_TLS) && defined(FIXME_PR_51139) +#ifdef _GLIBCXX_HAVE_TLS auto __bound_functor = std::__bind_simple(std::forward<_Callable>(__f), std::forward<_Args>(__args)...); __once_callable = std::__addressof(__bound_functor); @@ -737,7 +737,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION int __e = __gthread_once(&__once._M_once, &__once_proxy); -#if !defined(_GLIBCXX_HAVE_TLS) || !defined(FIXME_PR_51139) +#ifndef _GLIBCXX_HAVE_TLS if (__functor_lock) __set_once_functor_lock_ptr(0); #endif Index: src/external/gpl3/gcc/dist/libstdc++-v3/src/c++11/mutex.cc diff -u src/external/gpl3/gcc/dist/libstdc++-v3/src/c++11/mutex.cc:1.2 src/external/gpl3/gcc/dist/libstdc++-v3/src/c++11/mutex.cc:1.3 --- src/external/gpl3/gcc/dist/libstdc++-v3/src/c++11/mutex.cc:1.2 Wed Dec 21 21:55:46 2016 +++ src/external/gpl3/gcc/dist/libstdc++-v3/src/c++11/mutex.cc Sat Dec 24 15:48:26 2016 @@ -25,7 +25,7 @@ #include #if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) -#if !defined(_GLIBCXX_HAVE_TLS) || !defined(FIXME_PR_51139) +#ifndef _GLIBCXX_HAVE_TLS namespace { inline std::unique_lock*& @@ -41,7 +41,7 @@ namespace std _GLIBCXX_VISIBILITY(defaul { _GLIBCXX_BEGIN_NAMESPACE_VERSION -#if defined(_GLIBCXX_HAVE_TLS) && defined(FIXME_PR_51139) +#ifdef _GLIBCXX_HAVE_TLS __thread void* __once_callable; __thread void (*__once_call)(); #else @@ -76,7 +76,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { void __once_proxy() { -#if !defined(_GLIBCXX_HAVE_TLS) || !defined(FIXME_PR_51139) +#ifndef _GLIBCXX_HAVE_TLS function__once_call = std::move(__once_functor); if (unique_lock* __lock = __get_once_functor_lock_ptr()) {
CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3
Module Name:src Committed By: kamil Date: Wed Dec 21 21:55:46 UTC 2016 Modified Files: src/external/gpl3/gcc/dist/libstdc++-v3/include/std: mutex src/external/gpl3/gcc/dist/libstdc++-v3/src/c++11: mutex.cc Log Message: Add a walkaround for TLS bug in libstdc++ exposed with std::call_once Currently std::call_once with libstdc++ works only with static linking. Disable code path using __thread types and introduce FIXME_PR_51139. Problem discussed in PR 51139 Functional std::call_once is required in LLVM and LLDB codebase. Example code to test std::call_once: #include #include #include #include std::once_flag flag; int main(int argc, char **argv) { std::call_once(flag, [](){ std::cout << "Simple example: called once\n"; }); return EXIT_SUCCESS; } Sponsored by To generate a diff of this commit: cvs rdiff -u -r1.1.1.4 -r1.2 \ src/external/gpl3/gcc/dist/libstdc++-v3/include/std/mutex cvs rdiff -u -r1.1.1.2 -r1.2 \ src/external/gpl3/gcc/dist/libstdc++-v3/src/c++11/mutex.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/gpl3/gcc/dist/libstdc++-v3/include/std/mutex diff -u src/external/gpl3/gcc/dist/libstdc++-v3/include/std/mutex:1.1.1.4 src/external/gpl3/gcc/dist/libstdc++-v3/include/std/mutex:1.2 --- src/external/gpl3/gcc/dist/libstdc++-v3/include/std/mutex:1.1.1.4 Tue Jun 7 05:57:53 2016 +++ src/external/gpl3/gcc/dist/libstdc++-v3/include/std/mutex Wed Dec 21 21:55:46 2016 @@ -695,7 +695,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION call_once(once_flag& __once, _Callable&& __f, _Args&&... __args); }; -#ifdef _GLIBCXX_HAVE_TLS +#if defined(_GLIBCXX_HAVE_TLS) && defined(FIXME_PR_51139) extern __thread void* __once_callable; extern __thread void (*__once_call)(); @@ -722,7 +722,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION void call_once(once_flag& __once, _Callable&& __f, _Args&&... __args) { -#ifdef _GLIBCXX_HAVE_TLS +#if defined(_GLIBCXX_HAVE_TLS) && defined(FIXME_PR_51139) auto __bound_functor = std::__bind_simple(std::forward<_Callable>(__f), std::forward<_Args>(__args)...); __once_callable = std::__addressof(__bound_functor); @@ -737,7 +737,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION int __e = __gthread_once(&__once._M_once, &__once_proxy); -#ifndef _GLIBCXX_HAVE_TLS +#if !defined(_GLIBCXX_HAVE_TLS) || !defined(FIXME_PR_51139) if (__functor_lock) __set_once_functor_lock_ptr(0); #endif Index: src/external/gpl3/gcc/dist/libstdc++-v3/src/c++11/mutex.cc diff -u src/external/gpl3/gcc/dist/libstdc++-v3/src/c++11/mutex.cc:1.1.1.2 src/external/gpl3/gcc/dist/libstdc++-v3/src/c++11/mutex.cc:1.2 --- src/external/gpl3/gcc/dist/libstdc++-v3/src/c++11/mutex.cc:1.1.1.2 Sun Jan 24 06:05:43 2016 +++ src/external/gpl3/gcc/dist/libstdc++-v3/src/c++11/mutex.cc Wed Dec 21 21:55:46 2016 @@ -25,7 +25,7 @@ #include #if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) -#ifndef _GLIBCXX_HAVE_TLS +#if !defined(_GLIBCXX_HAVE_TLS) || !defined(FIXME_PR_51139) namespace { inline std::unique_lock*& @@ -41,7 +41,7 @@ namespace std _GLIBCXX_VISIBILITY(defaul { _GLIBCXX_BEGIN_NAMESPACE_VERSION -#ifdef _GLIBCXX_HAVE_TLS +#if defined(_GLIBCXX_HAVE_TLS) && defined(FIXME_PR_51139) __thread void* __once_callable; __thread void (*__once_call)(); #else @@ -76,7 +76,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { void __once_proxy() { -#ifndef _GLIBCXX_HAVE_TLS +#if !defined(_GLIBCXX_HAVE_TLS) || !defined(FIXME_PR_51139) function__once_call = std::move(__once_functor); if (unique_lock* __lock = __get_once_functor_lock_ptr()) {
CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3
Module Name:src Committed By: christos Date: Fri Aug 26 17:28:32 UTC 2016 Modified Files: src/external/gpl3/gcc/dist/libstdc++-v3: configure.host Log Message: the heuristic for the cpu dependent file atomicity.h is unusable for little endian sh. For big-endian it happens to work because host_cpu!=sh. Elide it To generate a diff of this commit: cvs rdiff -u -r1.1.1.4 -r1.2 \ src/external/gpl3/gcc/dist/libstdc++-v3/configure.host Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/gcc/dist/libstdc++-v3/configure.host diff -u src/external/gpl3/gcc/dist/libstdc++-v3/configure.host:1.1.1.4 src/external/gpl3/gcc/dist/libstdc++-v3/configure.host:1.2 --- src/external/gpl3/gcc/dist/libstdc++-v3/configure.host:1.1.1.4 Sun Jan 24 01:05:42 2016 +++ src/external/gpl3/gcc/dist/libstdc++-v3/configure.host Fri Aug 26 13:28:32 2016 @@ -182,8 +182,11 @@ esac # This can be over-ridden in GLIBCXX_ENABLE_ATOMIC_BUILTINS. # THIS TABLE IS SORTED. KEEP IT THAT WAY. if test -f ${glibcxx_srcdir}/config/${cpu_include_dir}/atomicity.h ; then +# The sh atomicity.h is unusable +if test ${cpu_include_dir} != "cpu/sh"; then atomicity_dir=$cpu_include_dir fi +fi if test -f ${glibcxx_srcdir}/config/${cpu_include_dir}/cxxabi_tweaks.h ; then
CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3/src/c++11
Module Name:src Committed By: joerg Date: Wed Oct 1 22:18:19 UTC 2014 Modified Files: src/external/gpl3/gcc/dist/libstdc++-v3/src/c++11: random.cc Log Message: Attribute target is not supported by clang, so don't use it. Explicitly mark this function as non-inline to not defeat the feature tests. To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 \ src/external/gpl3/gcc/dist/libstdc++-v3/src/c++11/random.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/gpl3/gcc/dist/libstdc++-v3/src/c++11/random.cc diff -u src/external/gpl3/gcc/dist/libstdc++-v3/src/c++11/random.cc:1.1.1.1 src/external/gpl3/gcc/dist/libstdc++-v3/src/c++11/random.cc:1.2 --- src/external/gpl3/gcc/dist/libstdc++-v3/src/c++11/random.cc:1.1.1.1 Sat Mar 1 08:41:19 2014 +++ src/external/gpl3/gcc/dist/libstdc++-v3/src/c++11/random.cc Wed Oct 1 22:18:19 2014 @@ -54,7 +54,10 @@ namespace std _GLIBCXX_VISIBILITY(defaul #if (defined __i386__ || defined __x86_64__) defined _GLIBCXX_X86_RDRAND unsigned int +__attribute__ ((noinline)) +# ifndef __clang__ __attribute__ ((target(rdrnd))) +# endif __x86_rdrand(void) { unsigned int retries = 100;
CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3/src/c++98
Module Name:src Committed By: joerg Date: Wed Oct 1 22:44:03 UTC 2014 Modified Files: src/external/gpl3/gcc/dist/libstdc++-v3/src/c++98: locale-inst.cc Log Message: When building with clang, use the C++11 feature for explicit template specialisation. To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 \ src/external/gpl3/gcc/dist/libstdc++-v3/src/c++98/locale-inst.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/gpl3/gcc/dist/libstdc++-v3/src/c++98/locale-inst.cc diff -u src/external/gpl3/gcc/dist/libstdc++-v3/src/c++98/locale-inst.cc:1.1.1.1 src/external/gpl3/gcc/dist/libstdc++-v3/src/c++98/locale-inst.cc:1.2 --- src/external/gpl3/gcc/dist/libstdc++-v3/src/c++98/locale-inst.cc:1.1.1.1 Sat Mar 1 08:41:19 2014 +++ src/external/gpl3/gcc/dist/libstdc++-v3/src/c++98/locale-inst.cc Wed Oct 1 22:44:03 2014 @@ -176,11 +176,21 @@ _GLIBCXX_END_NAMESPACE_LDBL template class messages_bynameC; // ctype - inline template class __ctype_abstract_baseC; +#ifdef __clang__ + extern +#else + inline +#endif + template class __ctype_abstract_baseC; template class ctype_bynameC; // codecvt - inline template class __codecvt_abstract_baseC, char, mbstate_t; +#ifdef __clang__ + extern +#else + inline +#endif + template class __codecvt_abstract_baseC, char, mbstate_t; template class codecvt_bynameC, char, mbstate_t; // collate
CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3
Module Name:src Committed By: mrg Date: Wed May 28 07:03:27 UTC 2014 Modified Files: src/external/gpl3/gcc/dist/libstdc++-v3: configure.ac Log Message: apply patch from skrll@: allow netbsd host=target to configure GLIBCXX_IS_NATIVE. To generate a diff of this commit: cvs rdiff -u -r1.1.1.2 -r1.2 \ src/external/gpl3/gcc/dist/libstdc++-v3/configure.ac Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/gcc/dist/libstdc++-v3/configure.ac diff -u src/external/gpl3/gcc/dist/libstdc++-v3/configure.ac:1.1.1.2 src/external/gpl3/gcc/dist/libstdc++-v3/configure.ac:1.2 --- src/external/gpl3/gcc/dist/libstdc++-v3/configure.ac:1.1.1.2 Sat Mar 1 08:41:19 2014 +++ src/external/gpl3/gcc/dist/libstdc++-v3/configure.ac Wed May 28 07:03:27 2014 @@ -38,6 +38,9 @@ if test $build != $host; then # We are being configured with some form of cross compiler. GLIBCXX_IS_NATIVE=false case $host,$target in + *-*-netbsd*,*-*-netbsd*) +GLIBCXX_IS_NATIVE=true +;; # Darwin crosses can use the host system's libraries and headers, # because of the fat library support. Of course, it must be the # same version of Darwin on both sides. Allow the user to
CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3
Module Name:src Committed By: mrg Date: Wed May 28 07:03:36 UTC 2014 Modified Files: src/external/gpl3/gcc/dist/libstdc++-v3: configure Log Message: apply patch from skrll@: allow netbsd host=target to configure GLIBCXX_IS_NATIVE. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/external/gpl3/gcc/dist/libstdc++-v3/configure Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/gcc/dist/libstdc++-v3/configure diff -u src/external/gpl3/gcc/dist/libstdc++-v3/configure:1.5 src/external/gpl3/gcc/dist/libstdc++-v3/configure:1.6 --- src/external/gpl3/gcc/dist/libstdc++-v3/configure:1.5 Tue May 27 09:18:55 2014 +++ src/external/gpl3/gcc/dist/libstdc++-v3/configure Wed May 28 07:03:36 2014 @@ -3038,6 +3038,9 @@ if test $build != $host; then # We are being configured with some form of cross compiler. GLIBCXX_IS_NATIVE=false case $host,$target in + *-*-netbsd*,*-*-netbsd*) +GLIBCXX_IS_NATIVE=true +;; # Darwin crosses can use the host system's libraries and headers, # because of the fat library support. Of course, it must be the # same version of Darwin on both sides. Allow the user to
CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3
Module Name:src Committed By: mrg Date: Tue Mar 4 09:12:09 UTC 2014 Modified Files: src/external/gpl3/gcc/dist/libstdc++-v3: acinclude.m4 configure Log Message: don't look for po/Makefile. To generate a diff of this commit: cvs rdiff -u -r1.1.1.2 -r1.2 \ src/external/gpl3/gcc/dist/libstdc++-v3/acinclude.m4 cvs rdiff -u -r1.2 -r1.3 src/external/gpl3/gcc/dist/libstdc++-v3/configure Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/gcc/dist/libstdc++-v3/acinclude.m4 diff -u src/external/gpl3/gcc/dist/libstdc++-v3/acinclude.m4:1.1.1.2 src/external/gpl3/gcc/dist/libstdc++-v3/acinclude.m4:1.2 --- src/external/gpl3/gcc/dist/libstdc++-v3/acinclude.m4:1.1.1.2 Sat Mar 1 08:41:19 2014 +++ src/external/gpl3/gcc/dist/libstdc++-v3/acinclude.m4 Tue Mar 4 09:12:09 2014 @@ -49,7 +49,7 @@ AC_DEFUN([GLIBCXX_CONFIGURE], [ # Keep these sync'd with the list in Makefile.am. The first provides an # expandable list at autoconf time; the second provides an expandable list # (i.e., shell variable) at configure time. - m4_define([glibcxx_SUBDIRS],[include libsupc++ python src src/c++98 src/c++11 doc po testsuite]) + m4_define([glibcxx_SUBDIRS],[include libsupc++ python src src/c++98 src/c++11 doc testsuite]) SUBDIRS='glibcxx_SUBDIRS' # These need to be absolute paths, yet at the same time need to Index: src/external/gpl3/gcc/dist/libstdc++-v3/configure diff -u src/external/gpl3/gcc/dist/libstdc++-v3/configure:1.2 src/external/gpl3/gcc/dist/libstdc++-v3/configure:1.3 --- src/external/gpl3/gcc/dist/libstdc++-v3/configure:1.2 Sat Mar 1 09:44:51 2014 +++ src/external/gpl3/gcc/dist/libstdc++-v3/configure Tue Mar 4 09:12:09 2014 @@ -73187,7 +73187,7 @@ ac_config_files=$ac_config_files doc/xs # append it here. Only modify Makefiles that have just been created. # # Also, get rid of this simulated-VPATH thing that automake does. -ac_config_files=$ac_config_files include/Makefile libsupc++/Makefile python/Makefile src/Makefile src/c++98/Makefile src/c++11/Makefile doc/Makefile po/Makefile +ac_config_files=$ac_config_files include/Makefile libsupc++/Makefile python/Makefile src/Makefile src/c++98/Makefile src/c++11/Makefile doc/Makefile ac_config_commands=$ac_config_commands generate-headers
CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3/src
Module Name:src Committed By: christos Date: Fri Nov 1 18:13:29 UTC 2013 Modified Files: src/external/gpl3/gcc/dist/libstdc++-v3/src: atomic.cc Log Message: fix broken volatile assignment that gcc-4.8.1 does not like To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 \ src/external/gpl3/gcc/dist/libstdc++-v3/src/atomic.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/gpl3/gcc/dist/libstdc++-v3/src/atomic.cc diff -u src/external/gpl3/gcc/dist/libstdc++-v3/src/atomic.cc:1.1.1.1 src/external/gpl3/gcc/dist/libstdc++-v3/src/atomic.cc:1.2 --- src/external/gpl3/gcc/dist/libstdc++-v3/src/atomic.cc:1.1.1.1 Mon Jun 20 21:24:05 2011 +++ src/external/gpl3/gcc/dist/libstdc++-v3/src/atomic.cc Fri Nov 1 14:13:29 2013 @@ -80,7 +80,7 @@ namespace std atomic_flag_test_and_set_explicit(__atomic_flag_base* __a, memory_order __m) throw() { - atomic_flag* d = static_castvolatile atomic_flag*(__a); + atomic_flag* d = static_castatomic_flag*(__a); return d-test_and_set(__m); } @@ -88,7 +88,7 @@ namespace std atomic_flag_clear_explicit(__atomic_flag_base* __a, memory_order __m) throw() { - atomic_flag* d = static_castvolatile atomic_flag*(__a); + atomic_flag* d = static_castatomic_flag*(__a); return d-clear(__m); }
CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd
Module Name:src Committed By: joerg Date: Sun Apr 28 19:41:26 UTC 2013 Modified Files: src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd: ctype_base.h Log Message: Drop sys/ctype_bits.h again. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 \ src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd/ctype_base.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/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h diff -u src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h:1.4 src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h:1.5 --- src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h:1.4 Fri Apr 26 17:34:55 2013 +++ src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h Sun Apr 28 19:41:25 2013 @@ -31,8 +31,6 @@ // anon...@anoncvs.netbsd.org:/cvsroot/basesrc/include/ctype.h // See www.netbsd.org for details of access. -#include sys/ctype_bits.h - _GLIBCXX_BEGIN_NAMESPACE(std) /// @brief Base class for ctype.
CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd
Module Name:src Committed By: joerg Date: Sun Apr 28 19:46:01 UTC 2013 Modified Files: src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd: ctype_inline.h ctype_noninline.h Log Message: Fix value ranges. To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 \ src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h cvs rdiff -u -r1.2 -r1.3 \ src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.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/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h diff -u src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h:1.1.1.1 src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h:1.2 --- src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h:1.1.1.1 Tue Jun 21 01:24:50 2011 +++ src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h Sun Apr 28 19:46:01 2013 @@ -46,7 +46,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) is(const char* __low, const char* __high, mask* __vec) const { while (__low __high) - *__vec++ = _M_table[*__low++]; + *__vec++ = _M_table[(unsigned char)*__low++]; return __high; } Index: src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h diff -u src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h:1.2 src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h:1.3 --- src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h:1.2 Sat Apr 13 10:21:20 2013 +++ src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h Sun Apr 28 19:46:01 2013 @@ -71,7 +71,7 @@ { while (__low __high) { - *__low = ::toupper((int) *__low); + *__low = ::toupper((int)(unsigned char) *__low); ++__low; } return __high; @@ -79,14 +79,14 @@ char ctypechar::do_tolower(char __c) const - { return ::tolower((int) __c); } + { return ::tolower((int)(unsigned char) __c); } const char* ctypechar::do_tolower(char* __low, const char* __high) const { while (__low __high) { - *__low = ::tolower((int) *__low); + *__low = ::tolower((int)(unsigned char) *__low); ++__low; } return __high;
CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd
Module Name:src Committed By: joerg Date: Sun Apr 28 19:46:44 UTC 2013 Modified Files: src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd: ctype_noninline.h Log Message: One more missing cast. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 \ src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.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/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h diff -u src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h:1.3 src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h:1.4 --- src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h:1.3 Sun Apr 28 19:46:01 2013 +++ src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h Sun Apr 28 19:46:44 2013 @@ -64,7 +64,7 @@ char ctypechar::do_toupper(char __c) const - { return ::toupper((int) __c); } + { return ::toupper((int)(unsigned char) __c); } const char* ctypechar::do_toupper(char* __low, const char* __high) const
CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3/include
Module Name:src Committed By: joerg Date: Sun Mar 24 12:15:51 UTC 2013 Modified Files: src/external/gpl3/gcc/dist/libstdc++-v3/include/bits: locale_facets.tcc stl_algobase.h src/external/gpl3/gcc/dist/libstdc++-v3/include/ext: numeric_traits.h Log Message: Rename __is_signed to __is_signed_val to avoid conflict with a type trait in Clang. To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 \ src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/locale_facets.tcc \ src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_algobase.h cvs rdiff -u -r1.1.1.1 -r1.2 \ src/external/gpl3/gcc/dist/libstdc++-v3/include/ext/numeric_traits.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/gpl3/gcc/dist/libstdc++-v3/include/bits/locale_facets.tcc diff -u src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/locale_facets.tcc:1.1.1.1 src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/locale_facets.tcc:1.2 --- src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/locale_facets.tcc:1.1.1.1 Tue Jun 21 01:24:41 2011 +++ src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/locale_facets.tcc Sun Mar 24 12:15:50 2013 @@ -464,7 +464,7 @@ _GLIBCXX_BEGIN_LDBL_NAMESPACE bool __testfail = false; bool __testoverflow = false; const __unsigned_type __max = - (__negative __gnu_cxx::__numeric_traits_ValueT::__is_signed) + (__negative __gnu_cxx::__numeric_traits_ValueT::__is_signed_val) ? -__gnu_cxx::__numeric_traits_ValueT::__min : __gnu_cxx::__numeric_traits_ValueT::__max; const __unsigned_type __smax = __max / __base; @@ -568,7 +568,7 @@ _GLIBCXX_BEGIN_LDBL_NAMESPACE else if (__testoverflow) { if (__negative - __gnu_cxx::__numeric_traits_ValueT::__is_signed) + __gnu_cxx::__numeric_traits_ValueT::__is_signed_val) __v = __gnu_cxx::__numeric_traits_ValueT::__min; else __v = __gnu_cxx::__numeric_traits_ValueT::__max; @@ -891,7 +891,7 @@ _GLIBCXX_BEGIN_LDBL_NAMESPACE if (__v = 0) { if (bool(__flags ios_base::showpos) - __gnu_cxx::__numeric_traits_ValueT::__is_signed) + __gnu_cxx::__numeric_traits_ValueT::__is_signed_val) *--__cs = __lit[__num_base::_S_oplus], ++__len; } else Index: src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_algobase.h diff -u src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_algobase.h:1.1.1.1 src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_algobase.h:1.2 --- src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_algobase.h:1.1.1.1 Tue Jun 21 01:24:41 2011 +++ src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_algobase.h Sun Mar 24 12:15:51 2013 @@ -929,8 +929,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) typedef typename iterator_traits_II2::value_type _ValueType2; const bool __simple = (__is_byte_ValueType1::__value __is_byte_ValueType2::__value - !__gnu_cxx::__numeric_traits_ValueType1::__is_signed - !__gnu_cxx::__numeric_traits_ValueType2::__is_signed + !__gnu_cxx::__numeric_traits_ValueType1::__is_signed_val + !__gnu_cxx::__numeric_traits_ValueType2::__is_signed_val __is_pointer_II1::__value __is_pointer_II2::__value); Index: src/external/gpl3/gcc/dist/libstdc++-v3/include/ext/numeric_traits.h diff -u src/external/gpl3/gcc/dist/libstdc++-v3/include/ext/numeric_traits.h:1.1.1.1 src/external/gpl3/gcc/dist/libstdc++-v3/include/ext/numeric_traits.h:1.2 --- src/external/gpl3/gcc/dist/libstdc++-v3/include/ext/numeric_traits.h:1.1.1.1 Tue Jun 21 01:24:44 2011 +++ src/external/gpl3/gcc/dist/libstdc++-v3/include/ext/numeric_traits.h Sun Mar 24 12:15:51 2013 @@ -58,7 +58,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) // NB: these two also available in std::numeric_limits as compile // time constants, but limits is big and we avoid including it. - static const bool __is_signed = __glibcxx_signed(_Value); + static const bool __is_signed_val = __glibcxx_signed(_Value); static const int __digits = __glibcxx_digits(_Value); }; @@ -69,7 +69,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) const _Value __numeric_traits_integer_Value::__max; templatetypename _Value -const bool __numeric_traits_integer_Value::__is_signed; +const bool __numeric_traits_integer_Value::__is_signed_val; templatetypename _Value const int __numeric_traits_integer_Value::__digits; @@ -101,7 +101,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) static const int __max_digits10 = __glibcxx_max_digits10(_Value); // See above comment... - static const bool __is_signed = true; + static const bool __is_signed_val = true; static const int __digits10 = __glibcxx_digits10(_Value); static const int __max_exponent10 = __glibcxx_max_exponent10(_Value); }; @@ -110,7 +110,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) const int
CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3/include/ext
Module Name:src Committed By: joerg Date: Sat Mar 2 23:23:56 UTC 2013 Modified Files: src/external/gpl3/gcc/dist/libstdc++-v3/include/ext: rope ropeimpl.h Log Message: Fix template lookup. To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 \ src/external/gpl3/gcc/dist/libstdc++-v3/include/ext/rope cvs rdiff -u -r1.2 -r1.3 \ src/external/gpl3/gcc/dist/libstdc++-v3/include/ext/ropeimpl.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/gpl3/gcc/dist/libstdc++-v3/include/ext/rope diff -u src/external/gpl3/gcc/dist/libstdc++-v3/include/ext/rope:1.1.1.1 src/external/gpl3/gcc/dist/libstdc++-v3/include/ext/rope:1.2 --- src/external/gpl3/gcc/dist/libstdc++-v3/include/ext/rope:1.1.1.1 Tue Jun 21 01:24:44 2011 +++ src/external/gpl3/gcc/dist/libstdc++-v3/include/ext/rope Sat Mar 2 23:23:55 2013 @@ -727,7 +727,7 @@ protected: if (_M_data != this-_M_c_string) this-_M_free_c_string(); -__STL_FREE_STRING(_M_data, this-_M_size, this-_M_get_allocator()); +this-__STL_FREE_STRING(_M_data, this-_M_size, this-_M_get_allocator()); } #endif protected: @@ -1168,7 +1168,7 @@ protected: operator*() { if (0 == this-_M_buf_ptr) - _S_setcache(*this); + this-_S_setcache(*this); return *this-_M_buf_ptr; } Index: src/external/gpl3/gcc/dist/libstdc++-v3/include/ext/ropeimpl.h diff -u src/external/gpl3/gcc/dist/libstdc++-v3/include/ext/ropeimpl.h:1.2 src/external/gpl3/gcc/dist/libstdc++-v3/include/ext/ropeimpl.h:1.3 --- src/external/gpl3/gcc/dist/libstdc++-v3/include/ext/ropeimpl.h:1.2 Tue Jun 21 06:22:06 2011 +++ src/external/gpl3/gcc/dist/libstdc++-v3/include/ext/ropeimpl.h Sat Mar 2 23:23:56 2013 @@ -378,7 +378,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) _Rope_RopeLeaf_CharT, _Alloc* __l = (_Rope_RopeLeaf_CharT, _Alloc*)this; __l-_Rope_RopeLeaf_CharT, _Alloc::~_Rope_RopeLeaf(); - _L_deallocate(__l, 1); + this-_L_deallocate(__l, 1); break; } case __detail::_S_concat: @@ -387,7 +387,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) = (_Rope_RopeConcatenation_CharT, _Alloc*)this; __c-_Rope_RopeConcatenation_CharT, _Alloc:: ~_Rope_RopeConcatenation(); - _C_deallocate(__c, 1); + this-_C_deallocate(__c, 1); break; } case __detail::_S_function: @@ -395,7 +395,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) _Rope_RopeFunction_CharT, _Alloc* __f = (_Rope_RopeFunction_CharT, _Alloc*)this; __f-_Rope_RopeFunction_CharT, _Alloc::~_Rope_RopeFunction(); - _F_deallocate(__f, 1); + this-_F_deallocate(__f, 1); break; } case __detail::_S_substringfn: @@ -404,7 +404,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) (_Rope_RopeSubstring_CharT, _Alloc*)this; __ss-_Rope_RopeSubstring_CharT, _Alloc:: ~_Rope_RopeSubstring(); - _S_deallocate(__ss, 1); + this-_S_deallocate(__ss, 1); break; } } @@ -509,7 +509,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) } __catch(...) { - _C_deallocate(__result,1); + rope::_C_deallocate(__result,1); __throw_exception_again; } // In case of exception, we need to deallocate
CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++
Module Name:src Committed By: christos Date: Sat Dec 8 01:38:27 UTC 2012 Modified Files: src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++: eh_arm.cc unwind-cxx.h Log Message: fix inconsistencies in EABI decls. To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 \ src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/eh_arm.cc \ src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/unwind-cxx.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/gpl3/gcc/dist/libstdc++-v3/libsupc++/eh_arm.cc diff -u src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/eh_arm.cc:1.1.1.1 src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/eh_arm.cc:1.2 --- src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/eh_arm.cc:1.1.1.1 Mon Jun 20 21:24:47 2011 +++ src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/eh_arm.cc Fri Dec 7 20:38:26 2012 @@ -92,7 +92,12 @@ __cxa_type_match(_Unwind_Exception* ue_h } // ABI defined routine called at the start of a cleanup handler. -extern C bool +extern C +#ifdef __ARM_EABI_UNWINDER__ +void +#else +bool +#endif __cxa_begin_cleanup(_Unwind_Exception* ue_header) { __cxa_eh_globals *globals = __cxa_get_globals(); @@ -121,7 +126,9 @@ __cxa_begin_cleanup(_Unwind_Exception* u globals-propagatingExceptions = header; } +#ifndef __ARM_EABI_UNWINDER__ return true; +#endif } // Do the work for __cxa_end_cleanup. Returns the currently propagating Index: src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/unwind-cxx.h diff -u src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/unwind-cxx.h:1.1.1.1 src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/unwind-cxx.h:1.2 --- src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/unwind-cxx.h:1.1.1.1 Mon Jun 20 21:24:47 2011 +++ src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/unwind-cxx.h Fri Dec 7 20:38:26 2012 @@ -196,8 +196,8 @@ typedef enum { ctm_succeeded = 1, ctm_succeeded_with_ptr_to_base = 2 } __cxa_type_match_result; -extern C bool __cxa_type_match(_Unwind_Exception*, const std::type_info*, - bool, void**); +extern C __cxa_type_match_result __cxa_type_match(_Unwind_Exception*, +const std::type_info*, bool, void**); extern C void __cxa_begin_cleanup (_Unwind_Exception*); extern C void __cxa_end_cleanup (void); #endif
CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3/include/bits
Module Name:src Committed By: joerg Date: Thu Nov 8 11:24:01 UTC 2012 Modified Files: src/external/gpl3/gcc/dist/libstdc++-v3/include/bits: stl_pair.h Log Message: Provide copy constructor and copy assignment operators for C++11. Clang implements the C++11 semantics properly that require the default to be implicitly deleted. To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 \ src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_pair.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/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_pair.h diff -u src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_pair.h:1.1.1.1 src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_pair.h:1.2 --- src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_pair.h:1.1.1.1 Tue Jun 21 01:24:41 2011 +++ src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_pair.h Thu Nov 8 11:24:00 2012 @@ -107,6 +107,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std) pair(_U1 __x, _U2 __y) : first(std::forward_U1(__x)), second(std::forward_U2(__y)) { } + + pair(const pair ) = default; + pair(pair ) = default; #endif /** There is also a templated copy ctor for the @c pair class itself. */ @@ -122,6 +125,14 @@ _GLIBCXX_BEGIN_NAMESPACE(std) second(std::forward_U2(__p.second)) { } pair + operator=(const pair __p) + { + first = __p.first; + second = __p.second; + return *this; + } + + pair operator=(pair __p) { first = std::move(__p.first);
CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3/include/bits
Module Name:src Committed By: joerg Date: Thu Nov 8 18:13:53 UTC 2012 Modified Files: src/external/gpl3/gcc/dist/libstdc++-v3/include/bits: stl_queue.h Log Message: Merge r163231 from upstream to fix xulrunner build with Clang. To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 \ src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_queue.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/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_queue.h diff -u src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_queue.h:1.1.1.1 src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_queue.h:1.2 --- src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_queue.h:1.1.1.1 Tue Jun 21 01:24:41 2011 +++ src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_queue.h Thu Nov 8 18:13:53 2012 @@ -1,6 +1,6 @@ // Queue implementation -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -137,16 +137,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std) explicit queue(_Sequence __c = _Sequence()) : c(std::move(__c)) { } - - queue(queue __q) - : c(std::move(__q.c)) { } - - queue - operator=(queue __q) - { - c = std::move(__q.c); - return *this; - } #endif /** @@ -451,17 +441,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std) c.insert(c.end(), __first, __last); std::make_heap(c.begin(), c.end(), comp); } - - priority_queue(priority_queue __pq) - : c(std::move(__pq.c)), comp(std::move(__pq.comp)) { } - - priority_queue - operator=(priority_queue __pq) - { - c = std::move(__pq.c); - comp = std::move(__pq.comp); - return *this; - } #endif /**
CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++
Module Name:src Committed By: wiz Date: Mon Apr 9 00:24:57 UTC 2012 Modified Files: src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++: nested_exception.h Log Message: clang complains: C++ default arguments are illegal in the function defininion. christos@ ok To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 \ src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/nested_exception.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/gpl3/gcc/dist/libstdc++-v3/libsupc++/nested_exception.h diff -u src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/nested_exception.h:1.1.1.1 src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/nested_exception.h:1.2 --- src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/nested_exception.h:1.1.1.1 Tue Jun 21 01:24:47 2011 +++ src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/nested_exception.h Mon Apr 9 00:24:57 2012 @@ -119,7 +119,7 @@ namespace std // with a type that has an accessible nested_exception base. templatetypename _Ex inline void -__throw_with_nested(_Ex __ex, const nested_exception* = 0) +__throw_with_nested(_Ex __ex, const nested_exception*) { throw __ex; } templatetypename _Ex
CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++
Module Name:src Committed By: joerg Date: Sat Jan 28 14:21:52 UTC 2012 Modified Files: src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++: exception_ptr.h Log Message: Merge r171807 from upstream: exception_ptr.h needs the forward declaration because it's included from typeinfo before typeinfo defines std::type_info. To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 \ src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/exception_ptr.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/gpl3/gcc/dist/libstdc++-v3/libsupc++/exception_ptr.h diff -u src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/exception_ptr.h:1.1.1.1 src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/exception_ptr.h:1.2 --- src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/exception_ptr.h:1.1.1.1 Tue Jun 21 01:24:47 2011 +++ src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/exception_ptr.h Sat Jan 28 14:21:52 2012 @@ -129,7 +129,7 @@ namespace std operator==(const exception_ptr, const exception_ptr) throw() __attribute__ ((__pure__)); - const type_info* + const class type_info* __cxa_exception_type() const throw() __attribute__ ((__pure__)); };
CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3/src
Module Name:src Committed By: mrg Date: Tue Jun 21 06:18:56 UTC 2011 Modified Files: src/external/gpl3/gcc/dist/libstdc++-v3/src: locale-inst.cc Log Message: pull across from gcc 4.1: revision 1.2 date: 2011/05/25 15:51:55; author: joerg; state: Exp; lines: +2 -2 Don't define explicit instantiation as inline. To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 \ src/external/gpl3/gcc/dist/libstdc++-v3/src/locale-inst.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/gpl3/gcc/dist/libstdc++-v3/src/locale-inst.cc diff -u src/external/gpl3/gcc/dist/libstdc++-v3/src/locale-inst.cc:1.1.1.1 src/external/gpl3/gcc/dist/libstdc++-v3/src/locale-inst.cc:1.2 --- src/external/gpl3/gcc/dist/libstdc++-v3/src/locale-inst.cc:1.1.1.1 Tue Jun 21 01:24:05 2011 +++ src/external/gpl3/gcc/dist/libstdc++-v3/src/locale-inst.cc Tue Jun 21 06:18:56 2011 @@ -175,11 +175,11 @@ template class messages_bynameC; // ctype - inline template class __ctype_abstract_baseC; + template class __ctype_abstract_baseC; template class ctype_bynameC; // codecvt - inline template class __codecvt_abstract_baseC, char, mbstate_t; + template class __codecvt_abstract_baseC, char, mbstate_t; template class codecvt_bynameC, char, mbstate_t; // collate
CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3/include/ext
Module Name:src Committed By: mrg Date: Tue Jun 21 06:22:06 UTC 2011 Modified Files: src/external/gpl3/gcc/dist/libstdc++-v3/include/ext: ropeimpl.h Log Message: pull across from gcc 4.1: revision 1.2 date: 2011/02/05 00:37:40; author: joerg; state: Exp; lines: +2 -2 Explicitly use template to allow building with the more strict template lookup in clang. From FreeBSD. To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 \ src/external/gpl3/gcc/dist/libstdc++-v3/include/ext/ropeimpl.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/gpl3/gcc/dist/libstdc++-v3/include/ext/ropeimpl.h diff -u src/external/gpl3/gcc/dist/libstdc++-v3/include/ext/ropeimpl.h:1.1.1.1 src/external/gpl3/gcc/dist/libstdc++-v3/include/ext/ropeimpl.h:1.2 --- src/external/gpl3/gcc/dist/libstdc++-v3/include/ext/ropeimpl.h:1.1.1.1 Tue Jun 21 01:24:44 2011 +++ src/external/gpl3/gcc/dist/libstdc++-v3/include/ext/ropeimpl.h Tue Jun 21 06:22:06 2011 @@ -428,7 +428,7 @@ { size_t __old_len = __r-_M_size; _CharT* __new_data = (_CharT*) - _Data_allocate(_S_rounded_up_size(__old_len + __len)); + _Rope_rep_base_CharT, _Alloc::_Data_allocate(_S_rounded_up_size(__old_len + __len)); _RopeLeaf* __result; uninitialized_copy_n(__r-_M_data, __old_len, __new_data); @@ -812,7 +812,7 @@ if (__result_len __lazy_threshold) goto lazy; __section = (_CharT*) - _Data_allocate(_S_rounded_up_size(__result_len)); + _Rope_rep_base_CharT, _Alloc::_Data_allocate(_S_rounded_up_size(__result_len)); __try { (*(__f-_M_fn))(__start, __result_len, __section); } __catch(...)