CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3/config/locale/dragonfly

2021-04-24 Thread matthew green
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

2017-01-17 Thread Christos Zoulas
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

2017-01-17 Thread Christos Zoulas
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

2017-01-12 Thread Christos Zoulas
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

2016-12-24 Thread Kamil Rytarowski
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

2016-12-21 Thread Kamil Rytarowski
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

2016-08-26 Thread Christos Zoulas
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

2014-10-01 Thread Joerg Sonnenberger
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

2014-10-01 Thread Joerg Sonnenberger
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

2014-05-28 Thread matthew green
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

2014-05-28 Thread matthew green
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

2014-03-04 Thread matthew green
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

2013-11-01 Thread Christos Zoulas
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

2013-04-28 Thread Joerg Sonnenberger
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

2013-04-28 Thread Joerg Sonnenberger
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

2013-04-28 Thread Joerg Sonnenberger
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

2013-03-24 Thread Joerg Sonnenberger
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

2013-03-02 Thread Joerg Sonnenberger
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++

2012-12-07 Thread Christos Zoulas
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

2012-11-08 Thread Joerg Sonnenberger
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

2012-11-08 Thread Joerg Sonnenberger
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++

2012-04-08 Thread Thomas Klausner
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++

2012-01-28 Thread Joerg Sonnenberger
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

2011-06-21 Thread matthew green
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

2011-06-21 Thread matthew green
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(...)