[packages/crossmingw64-gcc] updated.

pluto pluto at pld-linux.org
Thu Dec 20 22:27:37 CET 2012


commit 8c3f48e4321d2e8e8e7a3f46301ccd7658e6a81d
Author: Paweł Sikora <pawel.sikora at agmk.net>
Date:   Thu Dec 20 22:27:23 2012 +0100

    updated.

 crossmingw64-gcc.spec |     11 +-
 gcc-branch.diff       | 346744 -----------------------------------------------
 2 files changed, 6 insertions(+), 346749 deletions(-)
---
diff --git a/crossmingw64-gcc.spec b/crossmingw64-gcc.spec
index f937bf8..e0a0f9c 100644
--- a/crossmingw64-gcc.spec
+++ b/crossmingw64-gcc.spec
@@ -9,18 +9,19 @@ Summary(pl.UTF-8):	Skrośne narzędzia programistyczne GNU dla Mingw64 - gcc
 Summary(pt_BR.UTF-8):	Utilitários para desenvolvimento de binários da GNU - Mingw64 gcc
 Summary(tr.UTF-8):	GNU geliştirme araçları - Mingw64 gcc
 Name:		crossmingw64-gcc
-Version:	4.7.1
-Release:	4
+Version:	4.7.2
+Release:	1
 Epoch:		1
 License:	GPL v3+
 Group:		Development/Languages
 Source0:	ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/gcc-%{version}.tar.bz2
-# Source0-md5:	933e6f15f51c031060af64a9e14149ff
+# Source0-md5:	cc308a0891e778cfda7a151ab8a6e762
 # svn co https://mingw-w64.svn.sourceforge.net/svnroot/mingw-w64/stable/v2.x/mingw-w64-crt mingw64-crt
-%define		_rev	5377
+%define		_rev	5515
 Source1:	mingw64-crt.tar.xz
-# Source1-md5:	ee609a06a5ead72f0b203495b5f76527
+# Source1-md5:	bf9051e7e4deb445e9e8877ca68211e1
 Patch0:		gcc-branch.diff
+# Patch0-md5:	2add58e2b9d9874ba62e05ca9b6b513f
 Patch1:		gcc-mingw-dirs.patch
 URL:		http://mingw-w64.sourceforge.net/
 BuildRequires:	autoconf
diff --git a/gcc-branch.diff b/gcc-branch.diff
deleted file mode 100644
index 8922a2c..0000000
--- a/gcc-branch.diff
+++ /dev/null
@@ -1,346744 +0,0 @@
-Index: libgomp/ChangeLog
-===================================================================
---- libgomp/ChangeLog	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libgomp/ChangeLog	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,3 +1,23 @@
-+2012-06-14  Jakub Jelinek  <jakub at redhat.com>
-+
-+	Backported from mainline
-+	2012-06-07  Jakub Jelinek  <jakub at redhat.com>
-+
-+	PR middle-end/53580
-+	* testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
-+	use GOMP_barrier () call instead.
-+	* testsuite/libgomp.c/pr26943-3.c: Likewise.
-+	* testsuite/libgomp.c/pr26943-4.c: Likewise.
-+	* testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
-+	call GOMP_barrier instead.
-+	* testsuite/libgomp.fortran/vla5.f90: Likewise.
-+
-+	2012-06-06  Jakub Jelinek  <jakub at redhat.com>
-+
-+	PR libgomp/52993
-+	* config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
-+	argument to memset call.
-+
- 2012-06-14  Release Manager
- 
- 	* GCC 4.7.1 released.
-Index: libgomp/testsuite/libgomp.fortran/vla4.f90
-===================================================================
---- libgomp/testsuite/libgomp.fortran/vla4.f90	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libgomp/testsuite/libgomp.fortran/vla4.f90	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -10,6 +10,10 @@
- 
-   subroutine foo (c, d, e, f, g, h, i, j, k, n)
-     use omp_lib
-+    interface
-+      subroutine GOMP_barrier () bind(c, name="GOMP_barrier")
-+      end subroutine
-+    end interface
-     integer :: n
-     character (len = *) :: c
-     character (len = n) :: d
-@@ -94,7 +98,7 @@
-     forall (p = 1:2, q = 3:7, r = 1:7) u(p, q, r) = 30 - x - p + q - 2 * r
-     forall (p = 1:5, q = 3:7, p + q .le. 8) v(p, q) = w(1:7)
-     forall (p = 1:5, q = 3:7, p + q .gt. 8) v(p, q) = w(20:26)
--!$omp barrier		! { dg-warning "may not be closely nested" }
-+    call GOMP_barrier
-     y = ''
-     if (x .eq. 0) y = '0'
-     if (x .eq. 1) y = '1'
-Index: libgomp/testsuite/libgomp.fortran/vla5.f90
-===================================================================
---- libgomp/testsuite/libgomp.fortran/vla5.f90	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libgomp/testsuite/libgomp.fortran/vla5.f90	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -10,6 +10,10 @@
- 
-   subroutine foo (c, d, e, f, g, h, i, j, k, n)
-     use omp_lib
-+    interface
-+      subroutine GOMP_barrier () bind(c, name="GOMP_barrier")
-+      end subroutine
-+    end interface
-     integer :: n
-     character (len = *) :: c
-     character (len = n) :: d
-@@ -66,7 +70,7 @@
-     forall (p = 1:2, q = 3:7, r = 1:7) u(p, q, r) = 30 - x - p + q - 2 * r
-     forall (p = 1:5, q = 3:7, p + q .le. 8) v(p, q) = w(1:7)
-     forall (p = 1:5, q = 3:7, p + q .gt. 8) v(p, q) = w(20:26)
--!$omp barrier		! { dg-warning "may not be closely nested" }
-+    call GOMP_barrier
-     y = ''
-     if (x .eq. 0) y = '0'
-     if (x .eq. 1) y = '1'
-Index: libgomp/testsuite/libgomp.c/pr26943-2.c
-===================================================================
---- libgomp/testsuite/libgomp.c/pr26943-2.c	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libgomp/testsuite/libgomp.c/pr26943-2.c	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -3,6 +3,7 @@
- 
- extern int omp_set_dynamic (int);
- extern void abort (void);
-+extern void GOMP_barrier (void);
- 
- int a = 8, b = 12, c = 16, d = 20, j = 0;
- char e[10] = "a", f[10] = "b", g[10] = "c", h[10] = "d";
-@@ -20,7 +21,7 @@
-     {
-       if (a != 8 || b != 12 || e[0] != 'a' || f[0] != 'b')
- 	j++;
--#pragma omp barrier	/* { dg-warning "may not be closely nested" } */
-+      GOMP_barrier ();
- #pragma omp atomic
-       a += i;
-       b += i;
-@@ -31,7 +32,7 @@
-       f[0] += i;
-       g[0] = 'g' + i;
-       h[0] = 'h' + i;
--#pragma omp barrier	/* { dg-warning "may not be closely nested" } */
-+      GOMP_barrier ();
-       if (a != 8 + 6 || b != 12 + i || c != i || d != i)
- 	j += 8;
-       if (e[0] != 'a' + 6 || f[0] != 'b' + i || g[0] != 'g' + i)
-Index: libgomp/testsuite/libgomp.c/pr26943-3.c
-===================================================================
---- libgomp/testsuite/libgomp.c/pr26943-3.c	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libgomp/testsuite/libgomp.c/pr26943-3.c	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -4,6 +4,7 @@
- extern int omp_set_dynamic (int);
- extern int omp_get_thread_num (void);
- extern void abort (void);
-+extern void GOMP_barrier (void);
- 
- int a = 8, b = 12, c = 16, d = 20, j = 0, l = 0;
- char e[10] = "a", f[10] = "b", g[10] = "c", h[10] = "d";
-@@ -26,7 +27,7 @@
- 	{
- 	  if (a != 8 || b != 12 || e[0] != 'a' || f[0] != 'b')
- 	    j++;
--#pragma omp barrier	/* { dg-warning "may not be closely nested" } */
-+	  GOMP_barrier ();
- #pragma omp atomic
- 	  a += i;
- 	  b += i;
-@@ -37,7 +38,7 @@
- 	  f[0] += i;
- 	  g[0] = 'g' + i;
- 	  h[0] = 'h' + i;
--#pragma omp barrier	/* { dg-warning "may not be closely nested" } */
-+	  GOMP_barrier ();
- 	  if (a != 8 + 6 || b != 12 + i || c != i || d != i)
- 	    j += 8;
- 	  if (e[0] != 'a' + 6 || f[0] != 'b' + i || g[0] != 'g' + i)
-Index: libgomp/testsuite/libgomp.c/pr26943-4.c
-===================================================================
---- libgomp/testsuite/libgomp.c/pr26943-4.c	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libgomp/testsuite/libgomp.c/pr26943-4.c	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -4,6 +4,7 @@
- extern int omp_set_dynamic (int);
- extern int omp_get_thread_num (void);
- extern void abort (void);
-+extern void GOMP_barrier (void);
- 
- int a = 8, b = 12, c = 16, d = 20, j = 0, l = 0;
- char e[10] = "a", f[10] = "b", g[10] = "c", h[10] = "d";
-@@ -27,7 +28,7 @@
- 	{
- 	  if (a != 8 || b != 12 || e[0] != 'a' || f[0] != 'b')
- 	    j++;
--#pragma omp barrier	/* { dg-warning "may not be closely nested" } */
-+	  GOMP_barrier ();
- #pragma omp atomic
- 	  a += i;
- 	  b += i;
-@@ -38,7 +39,7 @@
- 	  f[0] += i;
- 	  g[0] = 'g' + i;
- 	  h[0] = 'h' + i;
--#pragma omp barrier	/* { dg-warning "may not be closely nested" } */
-+	  GOMP_barrier ();
- 	  if (a != 8 + 6 || b != 12 + i || c != i || d != i)
- 	    j += 8;
- 	  if (e[0] != 'a' + 6 || f[0] != 'b' + i || g[0] != 'g' + i)
-Index: libgomp/config/linux/lock.c
-===================================================================
---- libgomp/config/linux/lock.c	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libgomp/config/linux/lock.c	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2005, 2008, 2009, 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2005, 2008, 2009, 2011, 2012 Free Software Foundation, Inc.
-    Contributed by Richard Henderson <rth at redhat.com>.
- 
-    This file is part of the GNU OpenMP Library (libgomp).
-@@ -175,7 +175,7 @@
- void
- gomp_init_nest_lock_25 (omp_nest_lock_25_t *lock)
- {
--  memset (lock, 0, sizeof (lock));
-+  memset (lock, 0, sizeof (*lock));
- }
- 
- void
-Index: libstdc++-v3/src/c++11/condition_variable.cc
-===================================================================
---- libstdc++-v3/src/c++11/condition_variable.cc	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/src/c++11/condition_variable.cc	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,6 +1,6 @@
- // condition_variable -*- C++ -*-
- 
--// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
-+// Copyright (C) 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library.  This library is free
- // software; you can redistribute it and/or modify it under the
-@@ -32,12 +32,12 @@
- 
- #ifdef __GTHREAD_COND_INIT
-   condition_variable::condition_variable() noexcept = default;
--  condition_variable::~condition_variable() noexcept = default;
- #else
-   condition_variable::condition_variable() noexcept
-   {
-     __GTHREAD_COND_INIT_FUNCTION(&_M_cond);
-   }
-+#endif
- 
-   condition_variable::~condition_variable() noexcept
-   {
-@@ -45,7 +45,6 @@
-     /* int __e = */ __gthread_cond_destroy(&_M_cond);
-     // if __e == EBUSY then blocked
-   }
--#endif
- 
-   void
-   condition_variable::wait(unique_lock<mutex>& __lock)
-Index: libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc
-===================================================================
---- libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -22,11 +22,16 @@
- // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
- // <http://www.gnu.org/licenses/>.
- 
-+#include <bits/c++config.h>
-+#if defined(_GLIBCXX_HAVE_TLS) && defined(PIC)
-+#define _GLIBCXX_ASYNC_ABI_COMPAT
-+#endif
-+
- #include <future>
- #include <mutex>
- 
- #ifndef __GXX_EXPERIMENTAL_CXX0X__
--# error "compatibility-c++0x.cc must be compiled with -std=gnu++0x"
-+# error "compatibility-thread-c++0x.cc must be compiled with -std=gnu++0x"
- #endif
- 
- #define _GLIBCXX_ASM_SYMVER(cur, old, version) \
-@@ -70,3 +75,23 @@
- 
- #endif
- #endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1
-+
-+
-+// XXX GLIBCXX_ABI Deprecated
-+// gcc-4.7.0
-+// <future> export changes
-+#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) \
-+  && (ATOMIC_INT_LOCK_FREE > 1)
-+#if defined(_GLIBCXX_HAVE_TLS) && defined(PIC)
-+namespace std _GLIBCXX_VISIBILITY(default)
-+{
-+_GLIBCXX_BEGIN_NAMESPACE_VERSION
-+  __future_base::_Async_state_common::~_Async_state_common() { _M_join(); }
-+
-+  // Explicit instantiation due to -fno-implicit-instantiation.
-+  template void call_once(once_flag&, void (thread::*&&)(), reference_wrapper<thread>&&);
-+  template _Bind_simple_helper<void (thread::*)(), reference_wrapper<thread>>::__type __bind_simple(void (thread::*&&)(), reference_wrapper<thread>&&);
-+_GLIBCXX_END_NAMESPACE_VERSION
-+} // namespace std
-+#endif
-+#endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1
-Index: libstdc++-v3/src/c++11/future.cc
-===================================================================
---- libstdc++-v3/src/c++11/future.cc	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/src/c++11/future.cc	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -84,15 +84,7 @@
-   __future_base::_Result_base::~_Result_base() = default;
- 
-   __future_base::_State_base::~_State_base() = default;
--
--#ifdef _GLIBCXX_HAVE_TLS
--  __future_base::_Async_state_common::~_Async_state_common() { _M_join(); }
--
--  // Explicit instantiation due to -fno-implicit-instantiation.
--  template void call_once(once_flag&, void (thread::*&&)(), reference_wrapper<thread>&&);
--  template _Bind_simple_helper<void (thread::*)(), reference_wrapper<thread>>::__type __bind_simple(void (thread::*&&)(), reference_wrapper<thread>&&);
- #endif
--#endif
- 
- _GLIBCXX_END_NAMESPACE_VERSION
- } // namespace std
-Index: libstdc++-v3/include/debug/unordered_map
-===================================================================
---- libstdc++-v3/include/debug/unordered_map	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/include/debug/unordered_map	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -247,8 +247,8 @@
-       }
- 
-       template<typename _Pair, typename = typename
--	       std::enable_if<std::is_convertible<_Pair,
--						  value_type>::value>::type>
-+	       std::enable_if<std::is_constructible<value_type,
-+						    _Pair&&>::value>::type>
- 	std::pair<iterator, bool>
- 	insert(_Pair&& __obj)
- 	{
-@@ -260,8 +260,8 @@
- 	}
- 
-       template<typename _Pair, typename = typename
--	       std::enable_if<std::is_convertible<_Pair,
--						  value_type>::value>::type>
-+	       std::enable_if<std::is_constructible<value_type,
-+						    _Pair&&>::value>::type>
- 	iterator
- 	insert(const_iterator __hint, _Pair&& __obj)
- 	{
-@@ -661,8 +661,8 @@
-       }
- 
-       template<typename _Pair, typename = typename
--	       std::enable_if<std::is_convertible<_Pair,
--						  value_type>::value>::type>
-+	       std::enable_if<std::is_constructible<value_type,
-+						    _Pair&&>::value>::type>
- 	iterator
- 	insert(_Pair&& __obj)
- 	{
-@@ -673,8 +673,8 @@
- 	}
- 
-       template<typename _Pair, typename = typename
--	       std::enable_if<std::is_convertible<_Pair,
--						  value_type>::value>::type>
-+	       std::enable_if<std::is_constructible<value_type,
-+						    _Pair&&>::value>::type>
- 	iterator
- 	insert(const_iterator __hint, _Pair&& __obj)
- 	{
-Index: libstdc++-v3/include/debug/map.h
-===================================================================
---- libstdc++-v3/include/debug/map.h	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/include/debug/map.h	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -212,8 +212,8 @@
- 
- #ifdef __GXX_EXPERIMENTAL_CXX0X__
-       template<typename _Pair, typename = typename
--	       std::enable_if<std::is_convertible<_Pair,
--						  value_type>::value>::type>
-+	       std::enable_if<std::is_constructible<value_type,
-+						    _Pair&&>::value>::type>
-         std::pair<iterator, bool>
-         insert(_Pair&& __x)
-         {
-@@ -243,8 +243,8 @@
- 
- #ifdef __GXX_EXPERIMENTAL_CXX0X__
-       template<typename _Pair, typename = typename
--	       std::enable_if<std::is_convertible<_Pair,
--						  value_type>::value>::type>
-+	       std::enable_if<std::is_constructible<value_type,
-+						    _Pair&&>::value>::type>
-         iterator
-         insert(const_iterator __position, _Pair&& __x)
-         {
-Index: libstdc++-v3/include/debug/multimap.h
-===================================================================
---- libstdc++-v3/include/debug/multimap.h	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/include/debug/multimap.h	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -200,8 +200,8 @@
- 
- #ifdef __GXX_EXPERIMENTAL_CXX0X__
-       template<typename _Pair, typename = typename
--	       std::enable_if<std::is_convertible<_Pair,
--						  value_type>::value>::type>
-+	       std::enable_if<std::is_constructible<value_type,
-+						    _Pair&&>::value>::type>
-         iterator
-         insert(_Pair&& __x)
-         { return iterator(_Base::insert(std::forward<_Pair>(__x)), this); }
-@@ -226,8 +226,8 @@
- 
- #ifdef __GXX_EXPERIMENTAL_CXX0X__
-       template<typename _Pair, typename = typename
--	       std::enable_if<std::is_convertible<_Pair,
--						  value_type>::value>::type>
-+	       std::enable_if<std::is_constructible<value_type,
-+						    _Pair&&>::value>::type>
-         iterator
-         insert(const_iterator __position, _Pair&& __x)
-         {
-Index: libstdc++-v3/include/std/thread
-===================================================================
---- libstdc++-v3/include/std/thread	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/include/std/thread	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,6 +1,6 @@
- // <thread> -*- C++ -*-
- 
--// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
-+// Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library.  This library is free
- // software; you can redistribute it and/or modify it under the
-@@ -188,7 +188,7 @@
-       _M_make_routine(_Callable&& __f)
-       {
- 	// Create and allocate full data structure, not base.
--	return make_shared<_Impl<_Callable>>(std::forward<_Callable>(__f));
-+	return std::make_shared<_Impl<_Callable>>(std::forward<_Callable>(__f));
-       }
-   };
- 
-Index: libstdc++-v3/include/std/future
-===================================================================
---- libstdc++-v3/include/std/future	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/include/std/future	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1425,10 +1425,10 @@
-   class __future_base::_Async_state_common : public __future_base::_State_base
-   {
-   protected:
--#ifdef _GLIBCXX_HAVE_TLS
-+#ifdef _GLIBCXX_ASYNC_ABI_COMPAT
-     ~_Async_state_common();
- #else
--    ~_Async_state_common() { _M_join(); }
-+    ~_Async_state_common() = default;
- #endif
- 
-     // Allow non-timed waiting functions to block until the thread completes,
-@@ -1455,6 +1455,8 @@
-         } };
-       }
- 
-+      ~_Async_state_impl() { _M_join(); }
-+
-     private:
-       typedef __future_base::_Ptr<_Result<_Res>> _Ptr_type;
-       _Ptr_type _M_result;
-Index: libstdc++-v3/include/std/condition_variable
-===================================================================
---- libstdc++-v3/include/std/condition_variable	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/include/std/condition_variable	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,6 +1,6 @@
- // <condition_variable> -*- C++ -*-
- 
--// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
-+// Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library.  This library is free
- // software; you can redistribute it and/or modify it under the
-@@ -176,6 +176,26 @@
-     condition_variable			_M_cond;
-     mutex				_M_mutex;
- 
-+    // scoped unlock - unlocks in ctor, re-locks in dtor
-+    template<typename _Lock>
-+      struct _Unlock
-+      {
-+	explicit _Unlock(_Lock& __lk) : _M_lock(__lk) { __lk.unlock(); }
-+
-+	~_Unlock() noexcept(false)
-+	{
-+	  if (uncaught_exception())
-+	    __try { _M_lock.lock(); } __catch(...) { }
-+	  else
-+	    _M_lock.lock();
-+	}
-+
-+	_Unlock(const _Unlock&) = delete;
-+	_Unlock& operator=(const _Unlock&) = delete;
-+
-+	_Lock& _M_lock;
-+      };
-+
-   public:
- 
-     condition_variable_any() noexcept;
-@@ -202,21 +222,8 @@
-       void
-       wait(_Lock& __lock)
-       {
--	// scoped unlock - unlocks in ctor, re-locks in dtor
--	struct _Unlock {
--	  explicit _Unlock(_Lock& __lk) : _M_lock(__lk) { __lk.unlock(); }
--	  ~_Unlock() noexcept(false)
--	  {
--	    if (uncaught_exception())
--	      __try { _M_lock.lock(); } __catch(...) { }
--	    else
--	      _M_lock.lock();
--	  }
--	  _Lock& _M_lock;
--	};
--
- 	unique_lock<mutex> __my_lock(_M_mutex);
--	_Unlock __unlock(__lock);
-+	_Unlock<_Lock> __unlock(__lock);
- 	// _M_mutex must be unlocked before re-locking __lock so move
- 	// ownership of _M_mutex lock to an object with shorter lifetime.
- 	unique_lock<mutex> __my_lock2(std::move(__my_lock));
-@@ -237,11 +244,12 @@
-       wait_until(_Lock& __lock,
- 		 const chrono::time_point<_Clock, _Duration>& __atime)
-       {
--        unique_lock<mutex> __my_lock(_M_mutex);
--        __lock.unlock();
--        cv_status __status = _M_cond.wait_until(__my_lock, __atime);
--        __lock.lock();
--        return __status;
-+	unique_lock<mutex> __my_lock(_M_mutex);
-+	_Unlock<_Lock> __unlock(__lock);
-+	// _M_mutex must be unlocked before re-locking __lock so move
-+	// ownership of _M_mutex lock to an object with shorter lifetime.
-+	unique_lock<mutex> __my_lock2(std::move(__my_lock));
-+	return _M_cond.wait_until(__my_lock2, __atime);
-       }
- 
-     template<typename _Lock, typename _Clock,
-Index: libstdc++-v3/include/std/mutex
-===================================================================
---- libstdc++-v3/include/std/mutex	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/include/std/mutex	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -116,13 +116,13 @@
- 
-     // matches a recursive mutex with a member 'actual'
-     template<typename _Rm>
--      static typename enable_if<sizeof(&_Rm::actual), void>::type
-+      static typename enable_if<(bool)sizeof(&_Rm::actual), void>::type
-       _S_destroy(_Rm* __mx)
-       { __gthread_mutex_destroy(&__mx->actual); }
- 
-     // matches a gthr-win32.h recursive mutex
-     template<typename _Rm>
--      static typename enable_if<sizeof(&_Rm::sema), void>::type
-+      static typename enable_if<(bool)sizeof(&_Rm::sema), void>::type
-       _S_destroy(_Rm* __mx)
-       {
-         __gthread_mutex_t __tmp;
-Index: libstdc++-v3/include/decimal/decimal.h
-===================================================================
---- libstdc++-v3/include/decimal/decimal.h	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/include/decimal/decimal.h	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -288,7 +288,7 @@
-   inline _Tp operator _Op(_Tp __rhs)		\
-   {						\
-     _Tp __tmp;					\
--    __tmp.__setval(0 _Op __rhs.__getval());	\
-+    __tmp.__setval(_Op __rhs.__getval());	\
-     return __tmp;				\
-   }
- 
-Index: libstdc++-v3/include/ext/concurrence.h
-===================================================================
---- libstdc++-v3/include/ext/concurrence.h	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/include/ext/concurrence.h	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,6 +1,6 @@
- // Support for concurrent programing -*- C++ -*-
- 
--// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-+// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012
- // Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library.  This library is free
-@@ -143,7 +143,11 @@
-   class __mutex 
-   {
-   private:
-+#if __GTHREADS && defined __GTHREAD_MUTEX_INIT
-+    __gthread_mutex_t _M_mutex = __GTHREAD_MUTEX_INIT;
-+#else
-     __gthread_mutex_t _M_mutex;
-+#endif
- 
-     __mutex(const __mutex&);
-     __mutex& operator=(const __mutex&);
-@@ -151,17 +155,10 @@
-   public:
-     __mutex() 
-     { 
--#if __GTHREADS
-+#if __GTHREADS && ! defined __GTHREAD_MUTEX_INIT
-       if (__gthread_active_p())
--	{
--#if defined __GTHREAD_MUTEX_INIT
--	  __gthread_mutex_t __tmp = __GTHREAD_MUTEX_INIT;
--	  _M_mutex = __tmp;
--#else
--	  __GTHREAD_MUTEX_INIT_FUNCTION(&_M_mutex); 
-+	__GTHREAD_MUTEX_INIT_FUNCTION(&_M_mutex);
- #endif
--	}
--#endif 
-     }
- 
- #if __GTHREADS && ! defined __GTHREAD_MUTEX_INIT
-@@ -201,7 +198,11 @@
-   class __recursive_mutex 
-   {
-   private:
-+#if __GTHREADS && defined __GTHREAD_RECURSIVE_MUTEX_INIT
-+    __gthread_recursive_mutex_t _M_mutex = __GTHREAD_RECURSIVE_MUTEX_INIT;
-+#else
-     __gthread_recursive_mutex_t _M_mutex;
-+#endif
- 
-     __recursive_mutex(const __recursive_mutex&);
-     __recursive_mutex& operator=(const __recursive_mutex&);
-@@ -209,17 +210,10 @@
-   public:
-     __recursive_mutex() 
-     { 
--#if __GTHREADS
-+#if __GTHREADS && ! defined __GTHREAD_RECURSIVE_MUTEX_INIT
-       if (__gthread_active_p())
--	{
--#if defined __GTHREAD_RECURSIVE_MUTEX_INIT
--	  __gthread_recursive_mutex_t __tmp = __GTHREAD_RECURSIVE_MUTEX_INIT;
--	  _M_mutex = __tmp;
--#else
--	  __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION(&_M_mutex); 
-+	__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION(&_M_mutex);
- #endif
--	}
--#endif 
-     }
- 
- #if __GTHREADS && ! defined __GTHREAD_RECURSIVE_MUTEX_INIT
-@@ -270,7 +264,7 @@
- 
-     // matches a gthr-win32.h recursive mutex
-     template<typename _Rm>
--      static typename __enable_if<sizeof(&_Rm::sema), void>::__type
-+      static typename __enable_if<(bool)sizeof(&_Rm::sema), void>::__type
-       _S_destroy(_Rm* __mx)
-       {
-         __gthread_mutex_t __tmp;
-@@ -279,7 +273,7 @@
- 
-     // matches a recursive mutex with a member 'actual'
-     template<typename _Rm>
--      static typename __enable_if<sizeof(&_Rm::actual), void>::__type
-+      static typename __enable_if<(bool)sizeof(&_Rm::actual), void>::__type
-       _S_destroy(_Rm* __mx)
-       { __gthread_mutex_destroy(&__mx->actual); }
- 
-@@ -319,7 +313,11 @@
-   class __cond
-   {
-   private:
-+#if __GTHREADS && defined __GTHREAD_COND_INIT
-+    __gthread_cond_t _M_cond = __GTHREAD_COND_INIT;
-+#else
-     __gthread_cond_t _M_cond;
-+#endif
- 
-     __cond(const __cond&);
-     __cond& operator=(const __cond&);
-@@ -327,17 +325,10 @@
-   public:
-     __cond() 
-     { 
--#if __GTHREADS
-+#if __GTHREADS && ! defined __GTHREAD_COND_INIT
-       if (__gthread_active_p())
--	{
--#if defined __GTHREAD_COND_INIT
--	  __gthread_cond_t __tmp = __GTHREAD_COND_INIT;
--	  _M_cond = __tmp;
--#else
--	  __GTHREAD_COND_INIT_FUNCTION(&_M_cond);
-+	__GTHREAD_COND_INIT_FUNCTION(&_M_cond);
- #endif
--	}
--#endif 
-     }
- 
- #if __GTHREADS && ! defined __GTHREAD_COND_INIT
-Index: libstdc++-v3/include/ext/rope
-===================================================================
---- libstdc++-v3/include/ext/rope	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/include/ext/rope	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,7 +1,7 @@
- // SGI's rope class -*- C++ -*-
- 
--// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
--// Free Software Foundation, Inc.
-+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-+// 2012 Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library.  This library is free
- // software; you can redistribute it and/or modify it under the
-@@ -44,6 +44,8 @@
- #ifndef _ROPE
- #define _ROPE 1
- 
-+#pragma GCC system_header
-+
- #include <algorithm>
- #include <iosfwd>
- #include <bits/stl_construct.h>
-@@ -458,20 +460,28 @@
-     volatile _RC_t _M_ref_count;
- 
-     // Constructor
-+#ifdef __GTHREAD_MUTEX_INIT
-+    __gthread_mutex_t _M_ref_count_lock = __GTHREAD_MUTEX_INIT;
-+#else
-     __gthread_mutex_t _M_ref_count_lock;
-+#endif
- 
--    _Refcount_Base(_RC_t __n) : _M_ref_count(__n), _M_ref_count_lock()
-+    _Refcount_Base(_RC_t __n) : _M_ref_count(__n)
-     {
--#ifdef __GTHREAD_MUTEX_INIT
--      __gthread_mutex_t __tmp = __GTHREAD_MUTEX_INIT;
--      _M_ref_count_lock = __tmp;
--#elif defined(__GTHREAD_MUTEX_INIT_FUNCTION)
-+#ifndef __GTHREAD_MUTEX_INIT
-+#ifdef __GTHREAD_MUTEX_INIT_FUNCTION
-       __GTHREAD_MUTEX_INIT_FUNCTION (&_M_ref_count_lock);
- #else
- #error __GTHREAD_MUTEX_INIT or __GTHREAD_MUTEX_INIT_FUNCTION should be defined by gthr.h abstraction layer, report problem to libstdc++ at gcc.gnu.org.
- #endif
-+#endif
-     }
- 
-+#ifndef __GTHREAD_MUTEX_INIT
-+    ~_Refcount_Base()
-+    { __gthread_mutex_destroy(&_M_ref_count_lock); }
-+#endif
-+
-     void
-     _M_incr()
-     {
-@@ -581,7 +591,11 @@
-       bool _M_is_balanced:8;
-       unsigned char _M_depth;
-       __GC_CONST _CharT* _M_c_string;
-+#ifdef __GTHREAD_MUTEX_INIT
-+      __gthread_mutex_t _M_c_string_lock = __GTHREAD_MUTEX_INIT;
-+#else
-       __gthread_mutex_t _M_c_string_lock;
-+#endif
-                         /* Flattened version of string, if needed.  */
-                         /* typically 0.                             */
-                         /* If it's not 0, then the memory is owned  */
-@@ -602,13 +616,11 @@
- #endif
- 	_M_tag(__t), _M_is_balanced(__b), _M_depth(__d), _M_c_string(0)
- #ifdef __GTHREAD_MUTEX_INIT
--    {
--      // Do not copy a POSIX/gthr mutex once in use.  However, bits are bits.
--      __gthread_mutex_t __tmp = __GTHREAD_MUTEX_INIT;
--      _M_c_string_lock = __tmp;
--    }
-+      { }
- #else
--    { __GTHREAD_MUTEX_INIT_FUNCTION (&_M_c_string_lock); }
-+      { __GTHREAD_MUTEX_INIT_FUNCTION (&_M_c_string_lock); }
-+      ~_Rope_RopeRep()
-+      { __gthread_mutex_destroy (&_M_c_string_lock); }
- #endif
- #ifdef __GC
-       void
-Index: libstdc++-v3/include/ext/alloc_traits.h
-===================================================================
---- libstdc++-v3/include/ext/alloc_traits.h	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/include/ext/alloc_traits.h	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,6 +1,6 @@
- // Allocator traits -*- C++ -*-
- 
--// Copyright (C) 2011 Free Software Foundation, Inc.
-+// Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library.  This library is free
- // software; you can redistribute it and/or modify it under the
-@@ -49,37 +49,56 @@
- _GLIBCXX_BEGIN_NAMESPACE_VERSION
- 
- #ifdef __GXX_EXPERIMENTAL_CXX0X__
--template<typename _Alloc>
--  struct __allocator_always_compares_equal
--  { static const bool value = false; };
-+  template<typename _Alloc>
-+    struct __allocator_always_compares_equal
-+    { static const bool value = false; };
- 
-+  template<typename _Alloc>
-+    const bool __allocator_always_compares_equal<_Alloc>::value;
-+
-   template<typename _Tp>
-     struct __allocator_always_compares_equal<std::allocator<_Tp>>
-     { static const bool value = true; };
- 
-+  template<typename _Tp>
-+    const bool __allocator_always_compares_equal<std::allocator<_Tp>>::value;
-+
-   template<typename, typename> struct array_allocator;
- 
-   template<typename _Tp, typename _Array>
-     struct __allocator_always_compares_equal<array_allocator<_Tp, _Array>>
-     { static const bool value = true; };
- 
-+  template<typename _Tp, typename _Array>
-+    const bool
-+    __allocator_always_compares_equal<array_allocator<_Tp, _Array>>::value;
-+
-   template<typename> struct mt_allocator;
- 
-   template<typename _Tp>
-     struct __allocator_always_compares_equal<mt_allocator<_Tp>>
-     { static const bool value = true; };
- 
-+  template<typename _Tp>
-+    const bool __allocator_always_compares_equal<mt_allocator<_Tp>>::value;
-+
-   template<typename> struct new_allocator;
- 
-   template<typename _Tp>
-     struct __allocator_always_compares_equal<new_allocator<_Tp>>
-     { static const bool value = true; };
- 
-+  template<typename _Tp>
-+    const bool __allocator_always_compares_equal<new_allocator<_Tp>>::value;
-+
-   template<typename> struct pool_allocator;
- 
-   template<typename _Tp>
-     struct __allocator_always_compares_equal<pool_allocator<_Tp>>
-     { static const bool value = true; };
-+
-+  template<typename _Tp>
-+    const bool __allocator_always_compares_equal<pool_allocator<_Tp>>::value;
- #endif
- 
- /**
-Index: libstdc++-v3/include/profile/unordered_map
-===================================================================
---- libstdc++-v3/include/profile/unordered_map	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/include/profile/unordered_map	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,6 +1,6 @@
- // Profiling unordered_map/unordered_multimap implementation -*- C++ -*-
- 
--// Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
-+// Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library.  This library is free
- // software; you can redistribute it and/or modify it under the
-@@ -214,8 +214,8 @@
-       }
- 
-       template<typename _Pair, typename = typename
--	       std::enable_if<std::is_convertible<_Pair,
--						  value_type>::value>::type>
-+	       std::enable_if<std::is_constructible<value_type,
-+						    _Pair&&>::value>::type>
-         std::pair<iterator, bool>
-         insert(_Pair&& __obj)
-         {
-@@ -227,8 +227,8 @@
- 	}
- 
-       template<typename _Pair, typename = typename
--	       std::enable_if<std::is_convertible<_Pair,
--						  value_type>::value>::type>
-+	       std::enable_if<std::is_constructible<value_type,
-+						    _Pair&&>::value>::type>
-         iterator
-         insert(const_iterator __iter, _Pair&& __v)
-         { 
-@@ -503,8 +503,8 @@
-       }
- 
-       template<typename _Pair, typename = typename
--	       std::enable_if<std::is_convertible<_Pair,
--						  value_type>::value>::type>
-+	       std::enable_if<std::is_constructible<value_type,
-+						    _Pair&&>::value>::type>
-         iterator
-         insert(_Pair&& __obj)
-         {
-@@ -515,8 +515,8 @@
- 	}
- 
-       template<typename _Pair, typename = typename
--	       std::enable_if<std::is_convertible<_Pair,
--						  value_type>::value>::type>
-+	       std::enable_if<std::is_constructible<value_type,
-+						    _Pair&&>::value>::type>
-         iterator
-         insert(const_iterator __iter, _Pair&& __v)
-         {
-Index: libstdc++-v3/include/profile/map.h
-===================================================================
---- libstdc++-v3/include/profile/map.h	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/include/profile/map.h	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,6 +1,6 @@
- // Profiling map implementation -*- C++ -*-
- 
--// Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
-+// Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library.  This library is free
- // software; you can redistribute it and/or modify it under the
-@@ -248,8 +248,8 @@
- 
- #ifdef __GXX_EXPERIMENTAL_CXX0X__
-       template<typename _Pair, typename = typename
--	       std::enable_if<std::is_convertible<_Pair,
--						  value_type>::value>::type>
-+	       std::enable_if<std::is_constructible<value_type,
-+						    _Pair&&>::value>::type>
-         std::pair<iterator, bool>
-         insert(_Pair&& __x)
-         {
-@@ -289,8 +289,8 @@
- 
- #ifdef __GXX_EXPERIMENTAL_CXX0X__
-       template<typename _Pair, typename = typename
--	       std::enable_if<std::is_convertible<_Pair,
--						  value_type>::value>::type>
-+	       std::enable_if<std::is_constructible<value_type,
-+						    _Pair&&>::value>::type>
-         iterator
-         insert(const_iterator __position, _Pair&& __x)
-         {
-Index: libstdc++-v3/include/profile/multimap.h
-===================================================================
---- libstdc++-v3/include/profile/multimap.h	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/include/profile/multimap.h	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,6 +1,6 @@
- // Profiling multimap implementation -*- C++ -*-
- 
--// Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
-+// Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library.  This library is free
- // software; you can redistribute it and/or modify it under the
-@@ -186,8 +186,8 @@
- 
- #ifdef __GXX_EXPERIMENTAL_CXX0X__
-       template<typename _Pair, typename = typename
--	       std::enable_if<std::is_convertible<_Pair,
--						  value_type>::value>::type>
-+	       std::enable_if<std::is_constructible<value_type,
-+						    _Pair&&>::value>::type>
-         iterator
-         insert(_Pair&& __x)
-         { return iterator(_Base::insert(std::forward<_Pair>(__x))); }
-@@ -209,8 +209,8 @@
- 
- #ifdef __GXX_EXPERIMENTAL_CXX0X__
-       template<typename _Pair, typename = typename
--	       std::enable_if<std::is_convertible<_Pair,
--						  value_type>::value>::type>
-+	       std::enable_if<std::is_constructible<value_type,
-+						    _Pair&&>::value>::type>
-         iterator
-         insert(const_iterator __position, _Pair&& __x)
-         { return iterator(_Base::insert(__position,
-Index: libstdc++-v3/include/bits/hashtable.h
-===================================================================
---- libstdc++-v3/include/bits/hashtable.h	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/include/bits/hashtable.h	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -550,8 +550,8 @@
- 
-       template<typename _Pair, typename = typename
- 	std::enable_if<__and_<integral_constant<bool, !__constant_iterators>,
--			      std::is_convertible<_Pair,
--						  value_type>>::value>::type>
-+			      std::is_constructible<value_type,
-+						    _Pair&&>>::value>::type>
- 	_Insert_Return_Type
- 	insert(_Pair&& __v)
- 	{ return _M_insert(std::forward<_Pair>(__v),
-@@ -559,8 +559,8 @@
- 
-       template<typename _Pair, typename = typename
-         std::enable_if<__and_<integral_constant<bool, !__constant_iterators>,
--			      std::is_convertible<_Pair,
--						  value_type>>::value>::type>
-+			      std::is_constructible<value_type,
-+						    _Pair&&>>::value>::type>
- 	iterator
- 	insert(const_iterator, _Pair&& __v)
- 	{ return _Insert_Conv_Type()(insert(std::forward<_Pair>(__v))); }
-@@ -760,11 +760,12 @@
- 	_M_element_count(0),
- 	_M_rehash_policy()
-       {
--	_M_bucket_count = std::max(_M_rehash_policy._M_next_bkt(__bucket_hint),
--				   _M_rehash_policy.
--				   _M_bkt_for_elements(__detail::
--						       __distance_fw(__f,
--								     __l)));
-+	_M_bucket_count =
-+	  _M_rehash_policy._M_bkt_for_elements(__detail::__distance_fw(__f,
-+								       __l));
-+	if (_M_bucket_count <= __bucket_hint)
-+	  _M_bucket_count = _M_rehash_policy._M_next_bkt(__bucket_hint);
-+
-         // We don't want the rehash policy to ask for the hashtable to shrink
-         // on the first insertion so we need to reset its previous resize
- 	// level.
-@@ -1582,10 +1583,20 @@
-     rehash(size_type __n)
-     {
-       const _RehashPolicyState& __saved_state = _M_rehash_policy._M_state();
--      _M_rehash(std::max(_M_rehash_policy._M_next_bkt(__n),
--			 _M_rehash_policy._M_bkt_for_elements(_M_element_count
--							      + 1)),
--		__saved_state);
-+      std::size_t __buckets
-+	= _M_rehash_policy._M_bkt_for_elements(_M_element_count + 1);
-+      if (__buckets <= __n)
-+	__buckets = _M_rehash_policy._M_next_bkt(__n);
-+
-+      if (__buckets != _M_bucket_count)
-+	{
-+	  _M_rehash(__buckets, __saved_state);
-+	  
-+	  // We don't want the rehash policy to ask for the hashtable to shrink
-+	  // on the next insertion so we need to reset its previous resize
-+	  // level.
-+	  _M_rehash_policy._M_prev_resize = 0;
-+	}
-     }
- 
-   template<typename _Key, typename _Value,
-Index: libstdc++-v3/include/bits/stl_list.h
-===================================================================
---- libstdc++-v3/include/bits/stl_list.h	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/include/bits/stl_list.h	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,7 +1,7 @@
- // List implementation -*- C++ -*-
- 
- // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
--// 2011 Free Software Foundation, Inc.
-+// 2011, 2012 Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library.  This library is free
- // software; you can redistribute it and/or modify it under the
-@@ -313,27 +313,17 @@
-       {
- 	__detail::_List_node_base _M_node;
- 
--#ifdef __GXX_EXPERIMENTAL_CXX0X__
--	size_t                    _M_size;
--#endif
--
- 	_List_impl()
- 	: _Node_alloc_type(), _M_node()
--#ifdef __GXX_EXPERIMENTAL_CXX0X__
--	, _M_size(0)
--#endif
- 	{ }
- 
- 	_List_impl(const _Node_alloc_type& __a)
- 	: _Node_alloc_type(__a), _M_node()
--#ifdef __GXX_EXPERIMENTAL_CXX0X__
--	, _M_size(0)
--#endif
- 	{ }
- 
- #ifdef __GXX_EXPERIMENTAL_CXX0X__
- 	_List_impl(_Node_alloc_type&& __a)
--	: _Node_alloc_type(std::move(__a)), _M_node(), _M_size(0)
-+	: _Node_alloc_type(std::move(__a)), _M_node()
- 	{ }
- #endif
-       };
-@@ -342,23 +332,12 @@
- 
-       _List_node<_Tp>*
-       _M_get_node()
--      {
--	_List_node<_Tp>* __tmp = _M_impl._Node_alloc_type::allocate(1);
--#ifdef __GXX_EXPERIMENTAL_CXX0X__
--	++_M_impl._M_size;
--#endif	
--	return __tmp;
--      }
-+      { return _M_impl._Node_alloc_type::allocate(1); }
- 
-       void
-       _M_put_node(_List_node<_Tp>* __p)
--      {
--	_M_impl._Node_alloc_type::deallocate(__p, 1);
--#ifdef __GXX_EXPERIMENTAL_CXX0X__
--	--_M_impl._M_size;
--#endif
--      }
--      
-+      { _M_impl._Node_alloc_type::deallocate(__p, 1); }
-+
-   public:
-       typedef _Alloc allocator_type;
- 
-@@ -392,7 +371,6 @@
-       {
- 	_M_init();
- 	__detail::_List_node_base::swap(_M_impl._M_node, __x._M_impl._M_node);
--	std::swap(_M_impl._M_size, __x._M_impl._M_size);
-       }
- #endif
- 
-@@ -874,13 +852,7 @@
-       /**  Returns the number of elements in the %list.  */
-       size_type
-       size() const _GLIBCXX_NOEXCEPT
--      {
--#ifdef __GXX_EXPERIMENTAL_CXX0X__
--	return this->_M_impl._M_size;
--#else
--	return std::distance(begin(), end());
--#endif
--      }
-+      { return std::distance(begin(), end()); }
- 
-       /**  Returns the size() of the largest possible %list.  */
-       size_type
-@@ -1215,9 +1187,6 @@
-       {
- 	__detail::_List_node_base::swap(this->_M_impl._M_node, 
- 					__x._M_impl._M_node);
--#ifdef __GXX_EXPERIMENTAL_CXX0X__
--	std::swap(this->_M_impl._M_size, __x._M_impl._M_size);
--#endif
- 
- 	// _GLIBCXX_RESOLVE_LIB_DEFECTS
- 	// 431. Swapping containers with unequal allocators.
-@@ -1262,11 +1231,6 @@
- 	    _M_check_equal_allocators(__x);
- 
- 	    this->_M_transfer(__position, __x.begin(), __x.end());
--
--#ifdef __GXX_EXPERIMENTAL_CXX0X__
--	    this->_M_impl._M_size += __x.size();
--	    __x._M_impl._M_size = 0;
--#endif
- 	  }
-       }
- 
-@@ -1298,15 +1262,8 @@
- 	  return;
- 
- 	if (this != &__x)
--	  {
--	    _M_check_equal_allocators(__x);
-+	  _M_check_equal_allocators(__x);
- 
--#ifdef __GXX_EXPERIMENTAL_CXX0X__
--	    ++this->_M_impl._M_size;
--	    --__x._M_impl._M_size;
--#endif
--	  }
--
- 	this->_M_transfer(__position, __i, __j);
-       }
- 
-@@ -1340,16 +1297,8 @@
- 	if (__first != __last)
- 	  {
- 	    if (this != &__x)
--	      {
--		_M_check_equal_allocators(__x);
-+	      _M_check_equal_allocators(__x);
- 
--#ifdef __GXX_EXPERIMENTAL_CXX0X__
--		const size_type __size = std::distance(__first, __last);
--		this->_M_impl._M_size += __size;
--		__x._M_impl._M_size -= __size;
--#endif
--	      }
--
- 	    this->_M_transfer(__position, __first, __last);
- 	  }
-       }
-@@ -1624,10 +1573,6 @@
-     inline bool
-     operator==(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
-     {
--#ifdef __GXX_EXPERIMENTAL_CXX0X__
--      return (__x.size() == __y.size()
--	      && std::equal(__x.begin(), __x.end(), __y.begin()));
--#else
-       typedef typename list<_Tp, _Alloc>::const_iterator const_iterator;
-       const_iterator __end1 = __x.end();
-       const_iterator __end2 = __y.end();
-@@ -1640,7 +1585,6 @@
- 	  ++__i2;
- 	}
-       return __i1 == __end1 && __i2 == __end2;
--#endif
-     }
- 
-   /**
-Index: libstdc++-v3/include/bits/stl_map.h
-===================================================================
---- libstdc++-v3/include/bits/stl_map.h	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/include/bits/stl_map.h	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,7 +1,7 @@
- // Map implementation -*- C++ -*-
- 
- // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
--// 2011 Free Software Foundation, Inc.
-+// 2011, 2012 Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library.  This library is free
- // software; you can redistribute it and/or modify it under the
-@@ -524,8 +524,8 @@
- 
- #ifdef __GXX_EXPERIMENTAL_CXX0X__
-       template<typename _Pair, typename = typename
--	       std::enable_if<std::is_convertible<_Pair,
--						  value_type>::value>::type>
-+	       std::enable_if<std::is_constructible<value_type,
-+						    _Pair&&>::value>::type>
-         std::pair<iterator, bool>
-         insert(_Pair&& __x)
-         { return _M_t._M_insert_unique(std::forward<_Pair>(__x)); }
-@@ -577,8 +577,8 @@
- 
- #ifdef __GXX_EXPERIMENTAL_CXX0X__
-       template<typename _Pair, typename = typename
--	       std::enable_if<std::is_convertible<_Pair,
--						  value_type>::value>::type>
-+	       std::enable_if<std::is_constructible<value_type,
-+						    _Pair&&>::value>::type>
-         iterator
-         insert(const_iterator __position, _Pair&& __x)
-         { return _M_t._M_insert_unique_(__position,
-Index: libstdc++-v3/include/bits/hashtable_policy.h
-===================================================================
---- libstdc++-v3/include/bits/hashtable_policy.h	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/include/bits/hashtable_policy.h	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -294,6 +294,8 @@
- 
-     enum { _S_n_primes = sizeof(unsigned long) != 8 ? 256 : 256 + 48 };
- 
-+    static const std::size_t _S_growth_factor = 2;
-+
-     float                _M_max_load_factor;
-     mutable std::size_t  _M_prev_resize;
-     mutable std::size_t  _M_next_resize;
-@@ -314,28 +316,27 @@
-     static const unsigned char __fast_bkt[12]
-       = { 2, 2, 2, 3, 5, 5, 7, 7, 11, 11, 11, 11 };
- 
--    if (__n <= 11)
-+    const std::size_t __grown_n = __n * _S_growth_factor;
-+    if (__grown_n <= 11)
-       {
- 	_M_prev_resize = 0;
- 	_M_next_resize
--	  = __builtin_ceil(__fast_bkt[__n] * (long double)_M_max_load_factor);
--	return __fast_bkt[__n];
-+	  = __builtin_ceil(__fast_bkt[__grown_n]
-+			   * (long double)_M_max_load_factor);
-+	return __fast_bkt[__grown_n];
-       }
- 
--    const unsigned long* __p
--      = std::lower_bound(__prime_list + 5, __prime_list + _S_n_primes, __n);
-+    const unsigned long* __next_bkt
-+      = std::lower_bound(__prime_list + 5, __prime_list + _S_n_primes,
-+			 __grown_n);
-+    const unsigned long* __prev_bkt
-+      = std::lower_bound(__prime_list + 1, __next_bkt, __n / _S_growth_factor);
- 
--    // Shrink will take place only if the number of elements is small enough
--    // so that the prime number 2 steps before __p is large enough to still
--    // conform to the max load factor:
-     _M_prev_resize
--      = __builtin_floor(*(__p - 2) * (long double)_M_max_load_factor);
--
--    // Let's guaranty that a minimal grow step of 11 is used
--    if (*__p - __n < 11)
--      __p = std::lower_bound(__p, __prime_list + _S_n_primes, __n + 11);
--    _M_next_resize = __builtin_ceil(*__p * (long double)_M_max_load_factor);
--    return *__p;
-+      = __builtin_floor(*(__prev_bkt - 1) * (long double)_M_max_load_factor);
-+    _M_next_resize
-+      = __builtin_ceil(*__next_bkt * (long double)_M_max_load_factor);
-+    return *__next_bkt;
-   }
- 
-   // Return the smallest prime p such that alpha p >= n, where alpha
-Index: libstdc++-v3/include/bits/unique_ptr.h
-===================================================================
---- libstdc++-v3/include/bits/unique_ptr.h	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/include/bits/unique_ptr.h	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -166,7 +166,13 @@
- #endif
- 
-       // Destructor.
--      ~unique_ptr() noexcept { reset(); }
-+      ~unique_ptr() noexcept
-+      {
-+	auto& __ptr = std::get<0>(_M_t);
-+	if (__ptr != nullptr)
-+	  get_deleter()(__ptr);
-+	__ptr = pointer();
-+      }
- 
-       // Assignment.
-       unique_ptr&
-@@ -310,7 +316,13 @@
- 	{ }
- 
-       // Destructor.
--      ~unique_ptr() { reset(); }
-+      ~unique_ptr()
-+      {
-+	auto& __ptr = std::get<0>(_M_t);
-+	if (__ptr != nullptr)
-+	  get_deleter()(__ptr);
-+	__ptr = pointer();
-+      }
- 
-       // Assignment.
-       unique_ptr&
-Index: libstdc++-v3/include/bits/stl_multimap.h
-===================================================================
---- libstdc++-v3/include/bits/stl_multimap.h	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/include/bits/stl_multimap.h	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,7 +1,7 @@
- // Multimap implementation -*- C++ -*-
- 
- // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
--// 2011 Free Software Foundation, Inc.
-+// 2011, 2012 Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library.  This library is free
- // software; you can redistribute it and/or modify it under the
-@@ -445,8 +445,8 @@
- 
- #ifdef __GXX_EXPERIMENTAL_CXX0X__
-       template<typename _Pair, typename = typename
--	       std::enable_if<std::is_convertible<_Pair,
--						  value_type>::value>::type>
-+	       std::enable_if<std::is_constructible<value_type,
-+						    _Pair&&>::value>::type>
-         iterator
-         insert(_Pair&& __x)
-         { return _M_t._M_insert_equal(std::forward<_Pair>(__x)); }
-@@ -482,8 +482,8 @@
- 
- #ifdef __GXX_EXPERIMENTAL_CXX0X__
-       template<typename _Pair, typename = typename
--	       std::enable_if<std::is_convertible<_Pair,
--						  value_type>::value>::type>
-+	       std::enable_if<std::is_constructible<value_type,
-+						    _Pair&&>::value>::type>
-         iterator
-         insert(const_iterator __position, _Pair&& __x)
-         { return _M_t._M_insert_equal_(__position,
-Index: libstdc++-v3/include/bits/stl_pair.h
-===================================================================
---- libstdc++-v3/include/bits/stl_pair.h	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/include/bits/stl_pair.h	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,7 +1,7 @@
- // Pair implementation -*- C++ -*-
- 
- // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
--// 2010, 2011
-+// 2010, 2011, 2012
- // Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library.  This library is free
-@@ -117,14 +117,8 @@
- 	: first(__p.first), second(__p.second) { }
- 
-       constexpr pair(const pair&) = default;
-+      constexpr pair(pair&&) = default;
- 
--      // XXX Defaulted?!? Breaks std::map!!!
--      pair(pair&& __p)
--      noexcept(__and_<is_nothrow_move_constructible<_T1>,
--	              is_nothrow_move_constructible<_T2>>::value)
--      : first(std::forward<first_type>(__p.first)),
--	second(std::forward<second_type>(__p.second)) { }
--
-       // DR 811.
-       template<class _U1, class = typename
- 	       enable_if<is_convertible<_U1, _T1>::value>::type>
-Index: libstdc++-v3/include/bits/ptr_traits.h
-===================================================================
---- libstdc++-v3/include/bits/ptr_traits.h	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/include/bits/ptr_traits.h	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,6 +1,6 @@
- // Pointer Traits -*- C++ -*-
- 
--// Copyright (C) 2011 Free Software Foundation, Inc.
-+// Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library.  This library is free
- // software; you can redistribute it and/or modify it under the
-@@ -86,6 +86,9 @@
-       static const bool __value = _S_chk<_Ptr, _Up>(nullptr);
-     };
- 
-+  template<typename _Ptr, typename _Up>
-+    const bool __ptrtr_rebind_helper<_Ptr, _Up>::__value;
-+
-   template<typename _Tp, typename _Up,
-            bool = __ptrtr_rebind_helper<_Tp, _Up>::__value>
-     struct __ptrtr_rebind;
-Index: libstdc++-v3/include/bits/list.tcc
-===================================================================
---- libstdc++-v3/include/bits/list.tcc	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/include/bits/list.tcc	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,7 +1,7 @@
- // List implementation (out of line) -*- C++ -*-
- 
- // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
--// 2011 Free Software Foundation, Inc.
-+// 2011, 2012 Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library.  This library is free
- // software; you can redistribute it and/or modify it under the
-@@ -139,14 +139,14 @@
-     list<_Tp, _Alloc>::
-     resize(size_type __new_size)
-     {
--      if (__new_size > size())
--	_M_default_append(__new_size - size());
--      else if (__new_size < size())
--	{
--	  iterator __i = begin();
--	  std::advance(__i, __new_size);
--	  erase(__i, end());
--	}
-+      iterator __i = begin();
-+      size_type __len = 0;
-+      for (; __i != end() && __len < __new_size; ++__i, ++__len)
-+        ;
-+      if (__len == __new_size)
-+        erase(__i, end());
-+      else                          // __i == end()
-+	_M_default_append(__new_size - __len);
-     }
- 
-   template<typename _Tp, typename _Alloc>
-@@ -154,14 +154,14 @@
-     list<_Tp, _Alloc>::
-     resize(size_type __new_size, const value_type& __x)
-     {
--      if (__new_size > size())
--	insert(end(), __new_size - size(), __x);
--      else if (__new_size < size())
--	{
--	  iterator __i = begin();
--	  std::advance(__i, __new_size);
--	  erase(__i, end());
--	}
-+      iterator __i = begin();
-+      size_type __len = 0;
-+      for (; __i != end() && __len < __new_size; ++__i, ++__len)
-+        ;
-+      if (__len == __new_size)
-+        erase(__i, end());
-+      else                          // __i == end()
-+        insert(end(), __new_size - __len, __x);
-     }
- #else
-   template<typename _Tp, typename _Alloc>
-@@ -312,11 +312,6 @@
- 	      ++__first1;
- 	  if (__first2 != __last2)
- 	    _M_transfer(__last1, __first2, __last2);
--
--#ifdef __GXX_EXPERIMENTAL_CXX0X__
--	  this->_M_impl._M_size += __x.size();
--	  __x._M_impl._M_size = 0;
--#endif
- 	}
-     }
- 
-@@ -351,11 +346,6 @@
- 		++__first1;
- 	    if (__first2 != __last2)
- 	      _M_transfer(__last1, __first2, __last2);
--
--#ifdef __GXX_EXPERIMENTAL_CXX0X__
--	    this->_M_impl._M_size += __x.size();
--	    __x._M_impl._M_size = 0;
--#endif
- 	  }
-       }
- 
-Index: libstdc++-v3/include/bits/alloc_traits.h
-===================================================================
---- libstdc++-v3/include/bits/alloc_traits.h	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/include/bits/alloc_traits.h	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,6 +1,6 @@
- // Allocator traits -*- C++ -*-
- 
--// Copyright (C) 2011 Free Software Foundation, Inc.
-+// Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library.  This library is free
- // software; you can redistribute it and/or modify it under the
-@@ -56,6 +56,9 @@
-       static const bool __value = _S_chk<_Alloc, _Tp>(nullptr);
-     };
- 
-+  template<typename _Alloc, typename _Tp>
-+    const bool __alloctr_rebind_helper<_Alloc, _Tp>::__value;
-+
-   template<typename _Alloc, typename _Tp,
-            bool = __alloctr_rebind_helper<_Alloc, _Tp>::__value>
-     struct __alloctr_rebind;
-@@ -423,6 +426,27 @@
-     };
- 
-   template<typename _Alloc>
-+  template<typename _Alloc2>
-+    const bool allocator_traits<_Alloc>::__allocate_helper<_Alloc2>::value;
-+
-+  template<typename _Alloc>
-+  template<typename _Tp, typename... _Args>
-+    const bool
-+    allocator_traits<_Alloc>::__construct_helper<_Tp, _Args...>::value;
-+
-+  template<typename _Alloc>
-+  template<typename _Tp>
-+    const bool allocator_traits<_Alloc>::__destroy_helper<_Tp>::value;
-+
-+  template<typename _Alloc>
-+  template<typename _Alloc2>
-+    const bool allocator_traits<_Alloc>::__maxsize_helper<_Alloc2>::value;
-+
-+  template<typename _Alloc>
-+  template<typename _Alloc2>
-+    const bool allocator_traits<_Alloc>::__select_helper<_Alloc2>::value;
-+
-+  template<typename _Alloc>
-     inline void
-     __do_alloc_on_copy(_Alloc& __one, const _Alloc& __two, true_type)
-     { __one = __two; }
-Index: libstdc++-v3/ChangeLog
-===================================================================
---- libstdc++-v3/ChangeLog	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/ChangeLog	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,3 +1,192 @@
-+2012-08-26  Jonathan Wakely  <jwakely.gcc at gmail.com>
-+
-+	* testsuite/30_threads/async/54297.cc: Add dg-require-nanosleep.
-+
-+2012-08-26  Jonathan Wakely  <jwakely.gcc at gmail.com>
-+
-+	PR libstdc++/54297
-+	* src/c++11/future.cc (~_Async_state_common): Move to...
-+	* src/c++11/compatibility-thread-c++0x.cc (~_Async_state_common):
-+	Here.
-+	(_GLIBCXX_ABI_COMPAT_ASYNC): Rename to _GLIBCXX_ASYNC_ABI_COMPAT.
-+	* include/std/future (_GLIBCXX_ABI_COMPAT_ASYNC): Likewise.
-+
-+2012-08-26  Jonathan Wakely  <jwakely.gcc at gmail.com>
-+	    Geoff Romer  <gromer at google.com>
-+
-+	PR libstdc++/54351
-+	* include/bits/unique_ptr.h (unique_ptr<T>::~unique_ptr): Do not use
-+	reset().
-+	(unique_ptr<T[]>::~unique_ptr()): Likewise.
-+	* testsuite/20_util/unique_ptr/54351.cc: New.
-+	* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
-+	line numbers.
-+
-+2012-08-25  Jonathan Wakely  <jwakely.gcc at gmail.com>
-+
-+	PR libstdc++/54297
-+	* include/std/future (~_Async_state_impl): Join thread before
-+	derived class members are destroyed.
-+	(~_Async_state_common): Only define non-trivial destructor when
-+	included from future.cc for ABI compatibility reasons.
-+	* src/c++11/future.cc (_GLIBCXX_ABI_COMPAT_ASYNC): Define.
-+	* testsuite/30_threads/async/54297.cc: New.
-+
-+2012-08-13  David Adler  <d.adler.s at gmail.com>
-+
-+	PR libstdc++/54185
-+	* src/c++11/condition_variable.cc (condition_variable): Always
-+	destroy native type in destructor.
-+	* testsuite/30_threads/condition_variable/54185.cc: New.
-+
-+2012-08-06  Peter Bergner  <bergner at vnet.ibm.com>
-+
-+	PR libstdc++/54036
-+	* include/decimal/decimal.h (_DEFINE_DECIMAL_UNARY_OP): Use _Op as
-+	a unary operator.
-+	* testsuite/decimal/pr54036-1.cc: New test.
-+	* testsuite/decimal/pr54036-2.cc: Likewise.
-+	* testsuite/decimal/pr54036-3.cc: Likewise.
-+
-+2012-08-02  Michael Hope  <michael.hope at linaro.org>
-+
-+	Backport from mainline r186389:
-+	2012-04-12  Andreas Schwab  <schwab at linux-m68k.org>
-+
-+	* testsuite/Makefile.am (check_DEJAGNUnormal0): Run
-+	prettyprinters.exp.
-+	* testsuite/Makefile.in: Regenerated.
-+
-+2012-07-29  François Dumont  <fdumont at gcc.gnu.org>
-+
-+	PR libstdc++/54075
-+	* include/bits/hashtable_policy.h
-+	(_Prime_rehash_policy::_M_next_bkt): Add a growth factor set to 2
-+	to boost growth in the number of buckets.
-+	* testsuite/performance/23_containers/insert/unordered_set.cc: New.
-+
-+2012-07-26  François Dumont  <fdumont at gcc.gnu.org>
-+
-+	PR libstdc++/54075
-+	* include/bits/hashtable.h
-+	(_Hashtable<>::_Hashtable(_InputIterator, _InputIterator,
-+	size_type, ...): Remove std::max usage to guarantee that hashtable
-+	state is consistent with hash policy state.
-+	(_Hashtable<>::rehash): Likewise. Set _M_prev_resize to 0 to avoid
-+	the hashtable shrinking on next insertion.
-+	* testsuite/23_containers/unordered_set/modifiers/reserve.cc: New.
-+	* testsuite/23_containers/unordered_multiset/modifiers/reserve.cc: New.
-+	* testsuite/23_containers/unordered_map/modifiers/reserve.cc: New.
-+	* testsuite/23_containers/unordered_multimap/modifiers/reserve.cc: New.
-+
-+2012-07-20  Paolo Carlini  <paolo.carlini at oracle.com>
-+
-+	* testsuite/30_threads/thread/adl.cc: Add missing dg-requires.
-+
-+2012-07-16  Jonathan Wakely  <jwakely.gcc at gmail.com>
-+
-+	PR libstdc++/53270
-+	* include/ext/concurrence.h: Use NSDMI for gthreads types.
-+	* include/ext/rope: Likewise. Destroy mutexes in destructors. Add
-+	system_header pragma.
-+
-+	Revert:
-+	2012-06-19  Jonathan Wakely  <jwakely.gcc at gmail.com>
-+
-+	PR libstdc++/53270
-+	* config/os/gnu-linux/os_defines.h: Disable static initializer macros
-+	for gthreads types in C++11 mode.
-+
-+2012-07-16  Jonathan Wakely  <jwakely.gcc at gmail.com>
-+
-+	PR libstdc++/53978
-+	* include/bits/alloc_traits.h (allocator_traits): Define static
-+	constants.
-+	* include/bits/ptr_traits.h (pointer_traits): Likewise.
-+	* include/ext/alloc_traits.h (__allocator_always_compares_equal):
-+	Likewise.
-+
-+2012-07-13  Paolo Carlini  <paolo.carlini at oracle.com>
-+
-+	PR libstdc++/53657
-+	* include/bits/stl_pair.h (pair<>::pair(pair&&)): Declare defaulted,
-+	per C++11.
-+	* include/bits/stl_map.h (map<>::insert(_Pair&&), map<>::insert
-+	(const_iterator, _Pair&&)): Constrain with std::is_constructible,
-+	per LWG2005.
-+	* include/bits/stl_multimap.h (multimap<>::insert(_Pair&&),
-+	multimap<>::insert(const_iterator, _Pair&&)): Likewise.
-+	* include/bits/hashtable_policy.h (_Insert<>::insert(_Pair&&),
-+	_Insert<>::insert(const_iterator, _Pair&&)): Likewise.
-+	* include/debug/unordered_map: Adjust.
-+	* include/debug/map.h: Likewise.
-+	* include/debug/multimap.h: Likewise.
-+	* include/profile/unordered_map: Likewise.
-+	* include/profile/map.h: Likewise.
-+	* include/profile/multimap.h: Likewise.
-+
-+2012-07-07  Jonathan Wakely  <jwakely.gcc at gmail.com>
-+
-+	PR libstdc++/53578
-+	* include/ext/concurrence.h (__recursive_mutex::_S_destroy): Fix
-+	narrowing conversion.
-+	* include/std/mutex (__recursive_mutex_base::_S_destroy): Likewise.
-+
-+2012-07-06  Paolo Carlini  <paolo.carlini at oracle.com>
-+
-+	PR libstdc++/53872
-+	* include/std/thread (thread::_M_make_routine): Qualify make_shared
-+	to prevent ADL.
-+	* testsuite/30_threads/thread/adl.cc: New.
-+
-+2012-07-05  Jonathan Wakely  <jwakely.gcc at gmail.com>
-+
-+	* include/std/condition_variable: Update copyright years.
-+
-+2012-07-05  Jonathan Wakely  <jwakely.gcc at gmail.com>
-+
-+	PR libstdc++/53830
-+	* include/std/condition_variable (condition_variable_any::wait):
-+	Move _Unlock type to class scope.
-+	(condition_variable_any::wait_until): Reuse it.
-+	* testsuite/30_threads/condition_variable_any/53830.cc: New.
-+
-+2012-07-02  Paolo Carlini  <paolo.carlini at oracle.com>
-+
-+	Revert:
-+	2011-10-04  Paolo Carlini  <paolo.carlini at oracle.com>
-+
-+	PR libstdc++/49561
-+	* include/bits/stl_list.h (_List_base<>::_List_impl::_M_size):
-+	Add in C++0x mode.
-+	(_List_base<>::_List_impl, _List_base<>::_M_get_node,
-+	_List_base<>::_M_put_node, _List_base<>::_List_base(_List_base&&),
-+	list<>::size, list<>::swap, list<>::splice): Use it.
-+	(operator==(const list<>&, const list<>&)): Rewrite in C++0x mode.
-+	* include/bits/list.tcc (list<>::erase): Likewise.
-+	(list<>::merge): Adjust in C++0x mode.
-+	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
-+	Adjust dg-error line number.
-+	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
-+	Likewise.
-+	* testsuite/23_containers/list/requirements/dr438/
-+	constructor_1_neg.cc: Likewise.
-+	* testsuite/23_containers/list/requirements/dr438/
-+	constructor_2_neg.cc: Likewise.
-+
-+2012-06-19  Jonathan Wakely  <jwakely.gcc at gmail.com>
-+
-+	PR libstdc++/53270
-+	* config/os/gnu-linux/os_defines.h: Disable static initializer macros
-+	for gthreads types in C++11 mode.
-+
-+2012-06-19  Jörg Sonnenberger <joerg at britannica.bec.de>
-+	    Jonathan Wakely  <jwakely.gcc at gmail.com>
-+
-+	PR libstdc++/53678
-+	* config/os/bsd/netbsd/ctype_base.h: Check for _CTYPE_U.
-+	* testsuite/22_locale/ctype_base/53678.cc: New.
-+
- 2012-06-14  Release Manager
- 
- 	* GCC 4.7.1 released.
-Index: libstdc++-v3/testsuite/Makefile.in
-===================================================================
---- libstdc++-v3/testsuite/Makefile.in	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/testsuite/Makefile.in	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -572,7 +572,7 @@
- 	  normal0) \
- 	    if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
- 	      $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) \
--			$(RUNTESTFLAGS) abi.exp; \
-+			$(RUNTESTFLAGS) abi.exp prettyprinters.exp; \
- 	    else echo "WARNING: could not find \`runtest'" 1>&2; :;\
- 	    fi; \
- 	    dirs="`cd $$srcdir; echo [013-9][0-9]_*/*`";; \
-Index: libstdc++-v3/testsuite/30_threads/condition_variable/54185.cc
-===================================================================
---- libstdc++-v3/testsuite/30_threads/condition_variable/54185.cc	(.../tags/gcc_4_7_1_release)	(wersja 0)
-+++ libstdc++-v3/testsuite/30_threads/condition_variable/54185.cc	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -0,0 +1,62 @@
-+// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* powerpc-ibm-aix* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* powerpc-ibm-aix* } }
-+// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
-+// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
-+// { dg-require-cstdint "" }
-+// { dg-require-gthreads "" }
-+
-+// Copyright (C) 2012 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 3, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING3.  If not see
-+// <http://www.gnu.org/licenses/>.
-+
-+#include <vector>
-+#include <mutex>
-+#include <condition_variable>
-+#include <thread>
-+
-+// PR libstdc++/54185
-+
-+std::condition_variable* cond = nullptr;
-+std::mutex mx;
-+int started = 0;
-+int constexpr NUM_THREADS = 10;
-+
-+void do_thread_a()
-+{
-+  std::unique_lock<std::mutex> lock(mx);
-+  if(++started >= NUM_THREADS)
-+  {
-+    cond->notify_all();
-+    delete cond;
-+    cond = nullptr;
-+  }
-+  else
-+    cond->wait(lock);
-+}
-+
-+int main(){
-+  std::vector<std::thread> vec;
-+  for(int j = 0; j < 1000; ++j)
-+  {
-+    started = 0;
-+    cond = new std::condition_variable;
-+    for (int i = 0; i < NUM_THREADS; ++i)
-+      vec.emplace_back(&do_thread_a);
-+    for (int i = 0; i < NUM_THREADS; ++i)
-+      vec[i].join();
-+    vec.clear();
-+  }
-+}
-Index: libstdc++-v3/testsuite/30_threads/condition_variable_any/53830.cc
-===================================================================
---- libstdc++-v3/testsuite/30_threads/condition_variable_any/53830.cc	(.../tags/gcc_4_7_1_release)	(wersja 0)
-+++ libstdc++-v3/testsuite/30_threads/condition_variable_any/53830.cc	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -0,0 +1,68 @@
-+// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* powerpc-ibm-aix* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* powerpc-ibm-aix* } }
-+// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
-+// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
-+// { dg-require-cstdint "" }
-+// { dg-require-gthreads "" }
-+// { dg-require-sched-yield "" }
-+// { dg-require-nanosleep "" }
-+
-+// Copyright (C) 2012 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 3, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING3.  If not see
-+// <http://www.gnu.org/licenses/>.
-+
-+// PR libstdc++/53830
-+// Test for deadlock in condition_variable_any::wait_for
-+
-+#include <thread>
-+#include <mutex>
-+#include <condition_variable>
-+#include <chrono>
-+#include <atomic>
-+
-+std::mutex mutex;
-+std::condition_variable_any cv;
-+
-+std::atomic<int> barrier(0);
-+
-+// waits for data from another thread
-+void wait_for_data()
-+{
-+  std::unique_lock<std::mutex> lock(mutex);
-+  barrier = 1;
-+  cv.wait_for(lock, std::chrono::milliseconds(100), []{ return false; });
-+  // read data
-+}
-+
-+// passes data to waiting thread
-+void provide_data()
-+{
-+  while (barrier == 0)
-+    std::this_thread::yield();
-+  std::unique_lock<std::mutex> lock(mutex);
-+  // pass data
-+  std::this_thread::sleep_for(std::chrono::seconds(1));
-+  cv.notify_one();
-+}
-+
-+int main()
-+{
-+  std::thread thread1(wait_for_data);
-+  provide_data();
-+  thread1.join();
-+  return 0;
-+}
-+
-Index: libstdc++-v3/testsuite/30_threads/thread/adl.cc
-===================================================================
---- libstdc++-v3/testsuite/30_threads/thread/adl.cc	(.../tags/gcc_4_7_1_release)	(wersja 0)
-+++ libstdc++-v3/testsuite/30_threads/thread/adl.cc	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -0,0 +1,39 @@
-+// { dg-do compile }
-+// { dg-options "-std=gnu++11" }
-+// { dg-require-cstdint "" }
-+// { dg-require-gthreads "" }
-+
-+// Copyright (C) 2012 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 3, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING3.  If not see
-+// <http://www.gnu.org/licenses/>.
-+
-+#include <thread>
-+#include <memory>
-+#include <functional>
-+
-+template<typename, typename...P>
-+void make_shared(P&&...)
-+{}
-+
-+struct C {};
-+
-+void f(C){}
-+
-+// PR libstdc++/53872
-+int main()
-+{
-+  std::thread t(std::bind(&::f, C()));
-+}
-Index: libstdc++-v3/testsuite/30_threads/async/54297.cc
-===================================================================
---- libstdc++-v3/testsuite/30_threads/async/54297.cc	(.../tags/gcc_4_7_1_release)	(wersja 0)
-+++ libstdc++-v3/testsuite/30_threads/async/54297.cc	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -0,0 +1,51 @@
-+// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* powerpc-ibm-aix* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* powerpc-ibm-aix* } }
-+// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
-+// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
-+// { dg-require-cstdint "" }
-+// { dg-require-gthreads "" }
-+// { dg-require-atomic-builtins "" }
-+// { dg-require-nanosleep "" }
-+
-+// Copyright (C) 2012 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 3, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING3.  If not see
-+// <http://www.gnu.org/licenses/>.
-+
-+#include <chrono>
-+#include <thread>
-+#include <future>
-+#include <set>
-+#include <testsuite_hooks.h>
-+
-+struct Task;
-+
-+std::set<const Task*> dead_tasks;
-+
-+struct Task
-+{
-+  ~Task() { dead_tasks.insert(this); }
-+
-+  void operator()() const
-+  {
-+    std::this_thread::sleep_for(std::chrono::seconds(1));
-+    VERIFY( dead_tasks.count(this) == 0 );
-+  }
-+};
-+
-+int main()
-+{
-+  std::async(std::launch::async, Task());
-+}
-Index: libstdc++-v3/testsuite/decimal/pr54036-1.cc
-===================================================================
---- libstdc++-v3/testsuite/decimal/pr54036-1.cc	(.../tags/gcc_4_7_1_release)	(wersja 0)
-+++ libstdc++-v3/testsuite/decimal/pr54036-1.cc	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -0,0 +1,70 @@
-+// Copyright (C) 2012 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 3, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING3.  If not see
-+// <http://www.gnu.org/licenses/>.
-+
-+// { dg-require-effective-target dfp }
-+
-+#include <decimal/decimal>
-+#include <testsuite_hooks.h>
-+
-+using namespace std::decimal;
-+
-+decimal32
-+__attribute__ ((noinline))
-+my_nan32 (void)
-+{
-+  decimal32 z = 0;
-+  decimal32 v = z/z;
-+  return v;
-+}
-+
-+decimal32
-+__attribute__ ((noinline))
-+my_inf32 (void)
-+{
-+  decimal32 o = 1;
-+  decimal32 z = 0;
-+  decimal32 v = o/z;
-+  return v;
-+}
-+
-+int
-+main ()
-+{
-+  decimal32 v;
-+
-+  v = my_nan32 ();
-+
-+  VERIFY (__builtin_isnand32 (v.__getval ()));
-+  VERIFY (!__builtin_signbitd32 (v.__getval ()));
-+
-+  v = -v;
-+
-+  VERIFY (__builtin_isnand32 (v.__getval ()));
-+  VERIFY (__builtin_signbitd32 (v.__getval ()));
-+
-+  v = my_inf32 ();
-+
-+  VERIFY (__builtin_isinfd32 (v.__getval ()));
-+  VERIFY (!__builtin_signbitd32 (v.__getval ()));
-+
-+  v = -v;
-+
-+  VERIFY (__builtin_isinfd32 (v.__getval ()));
-+  VERIFY (__builtin_signbitd32 (v.__getval ()));
-+
-+  return 0;
-+}
-Index: libstdc++-v3/testsuite/decimal/pr54036-2.cc
-===================================================================
---- libstdc++-v3/testsuite/decimal/pr54036-2.cc	(.../tags/gcc_4_7_1_release)	(wersja 0)
-+++ libstdc++-v3/testsuite/decimal/pr54036-2.cc	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -0,0 +1,70 @@
-+// Copyright (C) 2012 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 3, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING3.  If not see
-+// <http://www.gnu.org/licenses/>.
-+
-+// { dg-require-effective-target dfp }
-+
-+#include <decimal/decimal>
-+#include <testsuite_hooks.h>
-+
-+using namespace std::decimal;
-+
-+decimal64
-+__attribute__ ((noinline))
-+my_nan64 (void)
-+{
-+  decimal64 z = 0;
-+  decimal64 v = z/z;
-+  return v;
-+}
-+
-+decimal64
-+__attribute__ ((noinline))
-+my_inf64 (void)
-+{
-+  decimal64 o = 1;
-+  decimal64 z = 0;
-+  decimal64 v = o/z;
-+  return v;
-+}
-+
-+int
-+main ()
-+{
-+  decimal64 v;
-+
-+  v = my_nan64 ();
-+
-+  VERIFY (__builtin_isnand64 (v.__getval ()));
-+  VERIFY (!__builtin_signbitd64 (v.__getval ()));
-+
-+  v = -v;
-+
-+  VERIFY (__builtin_isnand64 (v.__getval ()));
-+  VERIFY (__builtin_signbitd64 (v.__getval ()));
-+
-+  v = my_inf64 ();
-+
-+  VERIFY (__builtin_isinfd64 (v.__getval ()));
-+  VERIFY (!__builtin_signbitd64 (v.__getval ()));
-+
-+  v = -v;
-+
-+  VERIFY (__builtin_isinfd64 (v.__getval ()));
-+  VERIFY (__builtin_signbitd64 (v.__getval ()));
-+
-+  return 0;
-+}
-Index: libstdc++-v3/testsuite/decimal/pr54036-3.cc
-===================================================================
---- libstdc++-v3/testsuite/decimal/pr54036-3.cc	(.../tags/gcc_4_7_1_release)	(wersja 0)
-+++ libstdc++-v3/testsuite/decimal/pr54036-3.cc	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -0,0 +1,70 @@
-+// Copyright (C) 2012 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 3, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING3.  If not see
-+// <http://www.gnu.org/licenses/>.
-+
-+// { dg-require-effective-target dfp }
-+
-+#include <decimal/decimal>
-+#include <testsuite_hooks.h>
-+
-+using namespace std::decimal;
-+
-+decimal128
-+__attribute__ ((noinline))
-+my_nan128 (void)
-+{
-+  decimal128 z = 0;
-+  decimal128 v = z/z;
-+  return v;
-+}
-+
-+decimal128
-+__attribute__ ((noinline))
-+my_inf128 (void)
-+{
-+  decimal128 o = 1;
-+  decimal128 z = 0;
-+  decimal128 v = o/z;
-+  return v;
-+}
-+
-+int
-+main ()
-+{
-+  decimal128 v;
-+
-+  v = my_nan128 ();
-+
-+  VERIFY (__builtin_isnand128 (v.__getval ()));
-+  VERIFY (!__builtin_signbitd128 (v.__getval ()));
-+
-+  v = -v;
-+
-+  VERIFY (__builtin_isnand128 (v.__getval ()));
-+  VERIFY (__builtin_signbitd128 (v.__getval ()));
-+
-+  v = my_inf128 ();
-+
-+  VERIFY (__builtin_isinfd128 (v.__getval ()));
-+  VERIFY (!__builtin_signbitd128 (v.__getval ()));
-+
-+  v = -v;
-+
-+  VERIFY (__builtin_isinfd128 (v.__getval ()));
-+  VERIFY (__builtin_signbitd128 (v.__getval ()));
-+
-+  return 0;
-+}
-Index: libstdc++-v3/testsuite/performance/23_containers/insert/unordered_set.cc
-===================================================================
---- libstdc++-v3/testsuite/performance/23_containers/insert/unordered_set.cc	(.../tags/gcc_4_7_1_release)	(wersja 0)
-+++ libstdc++-v3/testsuite/performance/23_containers/insert/unordered_set.cc	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -0,0 +1,42 @@
-+// Copyright (C) 2012 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 3, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING3.  If not see
-+// <http://www.gnu.org/licenses/>.
-+
-+// { dg-options "-std=c++11" }
-+
-+#include <unordered_set>
-+#include <testsuite_performance.h>
-+
-+int main()
-+{
-+  using namespace __gnu_test;
-+
-+  time_counter time;
-+  resource_counter resource;
-+
-+  const int sz = 10000000;
-+
-+  std::unordered_set<int> s;
-+  start_counters(time, resource);
-+
-+  for (int i = 0; i != sz ; ++i)
-+    s.insert(i);
-+
-+  stop_counters(time, resource);
-+  report_performance(__FILE__, "unordered_set 10000000 insertions",
-+		     time, resource);
-+  return 0;
-+}
-Index: libstdc++-v3/testsuite/22_locale/ctype_base/53678.cc
-===================================================================
---- libstdc++-v3/testsuite/22_locale/ctype_base/53678.cc	(.../tags/gcc_4_7_1_release)	(wersja 0)
-+++ libstdc++-v3/testsuite/22_locale/ctype_base/53678.cc	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -0,0 +1,28 @@
-+// Copyright (C) 2012 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 3, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING3.  If not see
-+// <http://www.gnu.org/licenses/>.
-+
-+// { dg-do compile }
-+
-+// 22.2.1 The ctype category
-+
-+#include <locale>
-+
-+// libstdc++/53678
-+void test01()
-+{
-+  bool NetBSD __attribute__((unused)) = true;
-+}
-Index: libstdc++-v3/testsuite/Makefile.am
-===================================================================
---- libstdc++-v3/testsuite/Makefile.am	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/testsuite/Makefile.am	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -134,7 +134,7 @@
- 	  normal0) \
- 	    if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
- 	      $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) \
--			$(RUNTESTFLAGS) abi.exp; \
-+			$(RUNTESTFLAGS) abi.exp prettyprinters.exp; \
- 	    else echo "WARNING: could not find \`runtest'" 1>&2; :;\
- 	    fi; \
- 	    dirs="`cd $$srcdir; echo [013-9][0-9]_*/*`";; \
-Index: libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/reserve.cc
-===================================================================
---- libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/reserve.cc	(.../tags/gcc_4_7_1_release)	(wersja 0)
-+++ libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/reserve.cc	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -0,0 +1,47 @@
-+// { dg-options "-std=gnu++0x" }
-+
-+// Copyright (C) 2012 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 3, or (at your option)
-+// any later version.
-+//
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+// GNU General Public License for more details.
-+//
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING3.  If not see
-+// <http://www.gnu.org/licenses/>.
-+
-+#include <unordered_map>
-+#include <testsuite_hooks.h>
-+
-+bool test __attribute__((unused)) = true;
-+
-+void test01()
-+{
-+  const int N = 1000;
-+
-+  typedef std::unordered_map<int, int> Map;
-+  Map m;
-+  m.reserve(N);
-+
-+  std::size_t bkts = m.bucket_count();
-+  for (int i = 0; i != N; ++i)
-+    {
-+      m.insert(std::make_pair(i, i));
-+      // As long as we insert less than the reserved number of elements we
-+      // shouldn't experiment any rehash.
-+      VERIFY( m.bucket_count() == bkts );
-+    }
-+}
-+
-+int main()
-+{
-+  test01();
-+  return 0;
-+}
-Index: libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/reserve.cc
-===================================================================
---- libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/reserve.cc	(.../tags/gcc_4_7_1_release)	(wersja 0)
-+++ libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/reserve.cc	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -0,0 +1,48 @@
-+// { dg-options "-std=gnu++0x" }
-+
-+// Copyright (C) 2012 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 3, or (at your option)
-+// any later version.
-+//
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+// GNU General Public License for more details.
-+//
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING3.  If not see
-+// <http://www.gnu.org/licenses/>.
-+
-+#include <unordered_map>
-+#include <testsuite_hooks.h>
-+
-+bool test __attribute__((unused)) = true;
-+
-+void test01()
-+{
-+  const int N = 1000;
-+
-+  typedef std::unordered_multimap<int, int> MMap;
-+  MMap m;
-+  m.reserve(N * 2);
-+
-+  std::size_t bkts = m.bucket_count();
-+  for (int i = 0; i != N; ++i)
-+    {
-+      m.insert(std::make_pair(i, i));
-+      m.insert(std::make_pair(i, i));
-+      // As long as we insert less than the reserved number of elements we
-+      // shouldn't experiment any rehash.
-+      VERIFY( m.bucket_count() == bkts );
-+    }
-+}
-+
-+int main()
-+{
-+  test01();
-+  return 0;
-+}
-Index: libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/reserve.cc
-===================================================================
---- libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/reserve.cc	(.../tags/gcc_4_7_1_release)	(wersja 0)
-+++ libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/reserve.cc	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -0,0 +1,47 @@
-+// { dg-options "-std=gnu++0x" }
-+
-+// Copyright (C) 2012 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 3, or (at your option)
-+// any later version.
-+//
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+// GNU General Public License for more details.
-+//
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING3.  If not see
-+// <http://www.gnu.org/licenses/>.
-+
-+#include <unordered_set>
-+#include <testsuite_hooks.h>
-+
-+bool test __attribute__((unused)) = true;
-+
-+void test01()
-+{
-+  const int N = 1000;
-+
-+  typedef std::unordered_set<int> Set;
-+  Set s;
-+  s.reserve(N);
-+
-+  std::size_t bkts = s.bucket_count();
-+  for (int i = 0; i != N; ++i)
-+    {
-+      s.insert(i);
-+      // As long as we insert less than the reserved number of elements we
-+      // shouldn't experiment any rehash.
-+      VERIFY( s.bucket_count() == bkts );
-+    }
-+}
-+
-+int main()
-+{
-+  test01();
-+  return 0;
-+}
-Index: libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc
-===================================================================
---- libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,6 +1,6 @@
- // 2007-04-27  Paolo Carlini  <pcarlini at suse.de>
- 
--// Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation
-+// Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation
- //
- // This file is part of the GNU ISO C++ Library.  This library is free
- // software; you can redistribute it and/or modify it under the
-@@ -18,7 +18,7 @@
- // <http://www.gnu.org/licenses/>.
- 
- // { dg-do compile }
--// { dg-error "no matching" "" { target *-*-* } 1552 }
-+// { dg-error "no matching" "" { target *-*-* } 1501 }
- 
- #include <list>
- 
-Index: libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc
-===================================================================
---- libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,6 +1,6 @@
- // 2007-04-27  Paolo Carlini  <pcarlini at suse.de>
- 
--// Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation
-+// Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation
- //
- // This file is part of the GNU ISO C++ Library.  This library is free
- // software; you can redistribute it and/or modify it under the
-@@ -18,7 +18,7 @@
- // <http://www.gnu.org/licenses/>.
- 
- // { dg-do compile }
--// { dg-error "no matching" "" { target *-*-* } 1508 }
-+// { dg-error "no matching" "" { target *-*-* } 1457 }
- 
- #include <list>
- 
-Index: libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc
-===================================================================
---- libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,6 +1,6 @@
- // 2007-04-27  Paolo Carlini  <pcarlini at suse.de>
- 
--// Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation
-+// Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation
- //
- // This file is part of the GNU ISO C++ Library.  This library is free
- // software; you can redistribute it and/or modify it under the
-@@ -18,7 +18,7 @@
- // <http://www.gnu.org/licenses/>.
- 
- // { dg-do compile }
--// { dg-error "no matching" "" { target *-*-* } 1508 }
-+// { dg-error "no matching" "" { target *-*-* } 1457 }
- 
- #include <list>
- 
-Index: libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc
-===================================================================
---- libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,6 +1,6 @@
- // 2007-04-27  Paolo Carlini  <pcarlini at suse.de>
- 
--// Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation
-+// Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation
- //
- // This file is part of the GNU ISO C++ Library.  This library is free
- // software; you can redistribute it and/or modify it under the
-@@ -18,7 +18,7 @@
- // <http://www.gnu.org/licenses/>.
- 
- // { dg-do compile }
--// { dg-error "no matching" "" { target *-*-* } 1508 }
-+// { dg-error "no matching" "" { target *-*-* } 1457 }
- 
- #include <list>
- #include <utility>
-Index: libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/reserve.cc
-===================================================================
---- libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/reserve.cc	(.../tags/gcc_4_7_1_release)	(wersja 0)
-+++ libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/reserve.cc	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -0,0 +1,48 @@
-+// { dg-options "-std=gnu++0x" }
-+
-+// Copyright (C) 2012 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 3, or (at your option)
-+// any later version.
-+//
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+// GNU General Public License for more details.
-+//
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING3.  If not see
-+// <http://www.gnu.org/licenses/>.
-+
-+#include <unordered_set>
-+#include <testsuite_hooks.h>
-+
-+bool test __attribute__((unused)) = true;
-+
-+void test01()
-+{
-+  const int N = 1000;
-+
-+  typedef std::unordered_multiset<int> MSet;
-+  MSet s;
-+  s.reserve(N * 2);
-+
-+  std::size_t bkts = s.bucket_count();
-+  for (int i = 0; i != N; ++i)
-+    {
-+      s.insert(i);
-+      s.insert(i);
-+      // As long as we insert less than the reserved number of elements we
-+      // shouldn't experiment any rehash.
-+      VERIFY( s.bucket_count() == bkts );
-+    }
-+}
-+
-+int main()
-+{
-+  test01();
-+  return 0;
-+}
-Index: libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc
-===================================================================
---- libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -41,10 +41,10 @@
-   std::unique_ptr<int, B&> ub(nullptr, b);
-   std::unique_ptr<int, D&> ud(nullptr, d);
-   ub = std::move(ud);
--// { dg-error "use of deleted function" "" { target *-*-* } 189 }
-+// { dg-error "use of deleted function" "" { target *-*-* } 195 }
- 
-   std::unique_ptr<int[], B&> uba(nullptr, b);
-   std::unique_ptr<int[], D&> uda(nullptr, d);
-   uba = std::move(uda);
--// { dg-error "use of deleted function" "" { target *-*-* } 329 }
-+// { dg-error "use of deleted function" "" { target *-*-* } 341 }
- }
-Index: libstdc++-v3/testsuite/20_util/unique_ptr/54351.cc
-===================================================================
---- libstdc++-v3/testsuite/20_util/unique_ptr/54351.cc	(.../tags/gcc_4_7_1_release)	(wersja 0)
-+++ libstdc++-v3/testsuite/20_util/unique_ptr/54351.cc	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -0,0 +1,70 @@
-+// { dg-options "-std=gnu++0x" }
-+// { dg-do run }
-+
-+// Copyright (C) 2012 Free Software Foundation
-+//
-+// This file is part of the GNU ISO C++ Library.  This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 3, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING3.  If not see
-+// <http://www.gnu.org/licenses/>.
-+
-+// 20.7.1 Template class unique_ptr [unique.ptr]
-+
-+#include <memory>
-+#include <testsuite_hooks.h>
-+
-+struct A;
-+
-+struct B
-+{
-+  std::unique_ptr<A> a;
-+};
-+
-+struct A
-+{
-+  B* b;
-+  ~A() { VERIFY(b->a != nullptr); }
-+};
-+
-+void test01()
-+{
-+  B b;
-+  b.a.reset(new A);
-+  b.a->b = &b;
-+}
-+
-+struct C;
-+
-+struct D
-+{
-+  std::unique_ptr<C[]> c;
-+};
-+
-+struct C
-+{
-+  D* d;
-+  ~C() { VERIFY(d->c != nullptr); }
-+};
-+
-+void test02()
-+{
-+  D d;
-+  d.c.reset(new C[1]);
-+  d.c[0].d = &d;
-+}
-+
-+int main()
-+{
-+  test01();
-+  test02();
-+}
-Index: libstdc++-v3/config/os/bsd/netbsd/ctype_base.h
-===================================================================
---- libstdc++-v3/config/os/bsd/netbsd/ctype_base.h	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libstdc++-v3/config/os/bsd/netbsd/ctype_base.h	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,6 +1,6 @@
- // Locale support -*- C++ -*-
- 
--// Copyright (C) 2000, 2009 Free Software Foundation, Inc.
-+// Copyright (C) 2000, 2009, 2011, 2012 Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library.  This library is free
- // software; you can redistribute it and/or modify it under the
-@@ -31,8 +31,6 @@
- //   anoncvs at anoncvs.netbsd.org:/cvsroot/basesrc/include/ctype.h
- // See www.netbsd.org for details of access.
-   
--#include <sys/param.h>
--
- namespace std _GLIBCXX_VISIBILITY(default)
- {
- _GLIBCXX_BEGIN_NAMESPACE_VERSION
-@@ -47,7 +45,7 @@
-     // on the mask type. Because of this, we don't use an enum.
-     typedef unsigned char      	mask;
- 
--#if __NetBSD_Version__ < 599004100
-+#ifndef _CTYPE_U
-     static const mask upper    	= _U;
-     static const mask lower 	= _L;
-     static const mask alpha 	= _U | _L;
-Index: libgcc/config.host
-===================================================================
---- libgcc/config.host	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libgcc/config.host	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -916,15 +916,15 @@
- 	;;
- rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
- 	md_unwind_header=rs6000/aix-unwind.h
--	tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-ibm-ldouble rs6000/t-slibgcc-aix"
-+	tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble"
- 	;;
- rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
- 	md_unwind_header=rs6000/aix-unwind.h
--	tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-ibm-ldouble rs6000/t-slibgcc-aix"
-+	tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble"
- 	;;
- rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
- 	md_unwind_header=rs6000/aix-unwind.h
--	tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-ibm-ldouble rs6000/t-slibgcc-aix"
-+	tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble"
- 	;;
- rl78-*-elf)
- 	tmake_file="$tm_file t-fdpbit rl78/t-rl78"
-Index: libgcc/ChangeLog
-===================================================================
---- libgcc/ChangeLog	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libgcc/ChangeLog	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,3 +1,16 @@
-+2012-08-21  Ian Lance Taylor  <iant at google.com>
-+
-+	* config/i386/morestack.S (__morestack_non_split): Increase amount
-+	of space allocated for non-split code stack.
-+
-+2012-08-16  David Edelsohn  <dje.gcc at gmail.com>
-+
-+	Backported from mainline
-+	2012-08-16  David Edelsohn  <dje.gcc at gmail.com>
-+
-+	* config.host (*-*-aix*): Move rs6000/t-ibm-ldouble after
-+	rs6000/t-slibgcc-aix.
-+
- 2012-06-14  Release Manager
- 
- 	* GCC 4.7.1 released.
-Index: libgcc/config/i386/morestack.S
-===================================================================
---- libgcc/config/i386/morestack.S	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ libgcc/config/i386/morestack.S	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -83,6 +83,9 @@
- #endif
- 
- 
-+# The amount of space we ask for when calling non-split-stack code.
-+#define NON_SPLIT_STACK 0x100000
-+
- # This entry point is for split-stack code which calls non-split-stack
- # code.  When the linker sees this case, it converts the call to
- # __morestack to call __morestack_non_split instead.  We just bump the
-@@ -109,7 +112,7 @@
- 
- 	movl	%esp,%eax		# Current stack,
- 	subl	8(%esp),%eax		# less required stack frame size,
--	subl	$0x4000,%eax		# less space for non-split code.
-+	subl	$NON_SPLIT_STACK,%eax	# less space for non-split code.
- 	cmpl	%gs:0x30,%eax		# See if we have enough space.
- 	jb	2f			# Get more space if we need it.
- 
-@@ -171,7 +174,8 @@
- 
- 	.cfi_adjust_cfa_offset -4	# Account for popped register.
- 
--	addl	$0x5000+BACKOFF,4(%esp)	# Increment space we request.
-+	# Increment space we request.
-+	addl	$NON_SPLIT_STACK+0x1000+BACKOFF,4(%esp)
- 
- 	# Fall through into morestack.
- 
-@@ -186,7 +190,7 @@
- 
- 	movq	%rsp,%rax		# Current stack,
- 	subq	%r10,%rax		# less required stack frame size,
--	subq	$0x4000,%rax		# less space for non-split code.
-+	subq	$NON_SPLIT_STACK,%rax	# less space for non-split code.
- 
- #ifdef __LP64__
- 	cmpq	%fs:0x70,%rax		# See if we have enough space.
-@@ -219,7 +223,8 @@
- 
- 	.cfi_adjust_cfa_offset -8	# Adjust for popped register.
- 
--	addq	$0x5000+BACKOFF,%r10	# Increment space we request.
-+	# Increment space we request.
-+	addq	$NON_SPLIT_STACK+0x1000+BACKOFF,%r10
- 
- 	# Fall through into morestack.
- 
-Index: gcc/doc/tm.texi
-===================================================================
---- gcc/doc/tm.texi	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ gcc/doc/tm.texi	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1105,6 +1105,14 @@
- If the value of this macro has a type, it should be an unsigned type.
- @end defmac
- 
-+ at deftypefn {Target Hook} HOST_WIDE_INT TARGET_VECTOR_ALIGNMENT (const_tree @var{type})
-+This hook can be used to define the alignment for a vector of type
-+ at var{type}, in order to comply with a platform ABI.  The default is to
-+require natural alignment for vector types.  The alignment returned by
-+this hook must be a power-of-two multiple of the default alignment of
-+the vector element type.
-+ at end deftypefn
-+
- @defmac STACK_SLOT_ALIGNMENT (@var{type}, @var{mode}, @var{basic-align})
- If defined, a C expression to compute the alignment for stack slot.
- @var{type} is the data type, @var{mode} is the widest mode available,
-Index: gcc/doc/tm.texi.in
-===================================================================
---- gcc/doc/tm.texi.in	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ gcc/doc/tm.texi.in	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1093,6 +1093,8 @@
- If the value of this macro has a type, it should be an unsigned type.
- @end defmac
- 
-+ at hook TARGET_VECTOR_ALIGNMENT
-+
- @defmac STACK_SLOT_ALIGNMENT (@var{type}, @var{mode}, @var{basic-align})
- If defined, a C expression to compute the alignment for stack slot.
- @var{type} is the data type, @var{mode} is the widest mode available,
-Index: gcc/doc/invoke.texi
-===================================================================
---- gcc/doc/invoke.texi	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ gcc/doc/invoke.texi	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -493,7 +493,8 @@
- -mcaller-super-interworking  -mcallee-super-interworking @gol
- -mtp=@var{name} -mtls-dialect=@var{dialect} @gol
- -mword-relocations @gol
---mfix-cortex-m3-ldrd}
-+-mfix-cortex-m3-ldrd @gol
-+-munaligned-access}
- 
- @emph{AVR Options}
- @gccoptlist{-mmcu=@var{mcu} -maccumulate-args -mbranch-cost=@var{cost} @gol
-@@ -882,8 +883,8 @@
- -m5-compact  -m5-compact-nofpu @gol
- -mb  -ml  -mdalign  -mrelax @gol
- -mbigtable -mfmovd -mhitachi -mrenesas -mno-renesas -mnomacsave @gol
---mieee  -mbitops  -misize  -minline-ic_invalidate -mpadstruct  -mspace @gol
---mprefergot  -musermode -multcost=@var{number} -mdiv=@var{strategy} @gol
-+-mieee -mno-ieee -mbitops  -misize  -minline-ic_invalidate -mpadstruct @gol
-+-mspace -mprefergot  -musermode -multcost=@var{number} -mdiv=@var{strategy} @gol
- -mdivsi3_libfunc=@var{name} -mfixed-range=@var{register-range} @gol
- -madjust-unroll -mindexed-addressing -mgettrcost=@var{number} -mpt-fixed @gol
- -maccumulate-outgoing-args -minvalid-symbols -msoft-atomic @gol
-@@ -10929,6 +10930,23 @@
- generating these instructions.  This option is enabled by default when
- @option{-mcpu=cortex-m3} is specified.
- 
-+ at item -munaligned-access
-+ at itemx -mno-unaligned-access
-+ at opindex munaligned-access
-+ at opindex mno-unaligned-access
-+Enables (or disables) reading and writing of 16- and 32- bit values
-+from addresses that are not 16- or 32- bit aligned.  By default
-+unaligned access is disabled for all pre-ARMv6 and all ARMv6-M
-+architectures, and enabled for all other architectures.  If unaligned
-+access is not enabled then words in packed data structures will be
-+accessed a byte at a time.
-+
-+The ARM attribute @code{Tag_CPU_unaligned_access} will be set in the
-+generated object file to either true or false, depending upon the
-+setting of this option.  If unaligned access is enabled then the
-+preprocessor symbol @code{__ARM_FEATURE_UNALIGNED} will also be
-+defined.
-+
- @end table
- 
- @node AVR Options
-@@ -17952,13 +17970,15 @@
- @option{-mhitachi} is given.
- 
- @item -mieee
-+ at item -mno-ieee
- @opindex mieee
--Increase IEEE compliance of floating-point code.
--At the moment, this is equivalent to @option{-fno-finite-math-only}.
--When generating 16-bit SH opcodes, getting IEEE-conforming results for
--comparisons of NANs / infinities incurs extra overhead in every
--floating-point comparison, therefore the default is set to
-- at option{-ffinite-math-only}.
-+ at opindex mnoieee
-+Control the IEEE compliance of floating-point comparisons, which affects the
-+handling of cases where the result of a comparison is unordered.  By default
-+ at option{-mieee} is implicitly enabled.  If @option{-ffinite-math-only} is
-+enabled @option{-mno-ieee} is implicitly set, which results in faster
-+floating-point greater-equal and less-equal comparisons.  The implcit settings
-+can be overridden by specifying either @option{-mieee} or @option{-mno-ieee}.
- 
- @item -minline-ic_invalidate
- @opindex minline-ic_invalidate
-Index: gcc/doc/md.texi
-===================================================================
---- gcc/doc/md.texi	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ gcc/doc/md.texi	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -3588,7 +3588,7 @@
- @itemx R07
- @itemx R08
- @itemx R09
-- at itemx R010
-+ at itemx R10
- Each of these represents a register constraint for an individual
- register, from r0 to r10.
- 
-@@ -3666,7 +3666,7 @@
- @itemx R07
- @itemx R08
- @itemx R09
-- at itemx R010
-+ at itemx R10
- Each of these represents a register constraint for an individual
- register, from r0 to r10.
- 
-Index: gcc/tree-ssa-loop-im.c
-===================================================================
---- gcc/tree-ssa-loop-im.c	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ gcc/tree-ssa-loop-im.c	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -52,7 +52,7 @@
- 	 }
-      }
- 
--   Where COND and INV are is invariants, but evaluating INV may trap or be
-+   Where COND and INV are invariants, but evaluating INV may trap or be
-    invalid from some other reason if !COND.  This may be transformed to
- 
-    if (cond)
-@@ -1480,9 +1480,8 @@
- /* A function to free the mem_ref object OBJ.  */
- 
- static void
--memref_free (void *obj)
-+memref_free (struct mem_ref *mem)
- {
--  struct mem_ref *const mem = (struct mem_ref *) obj;
-   unsigned i;
-   mem_ref_locs_p accs;
- 
-@@ -1626,6 +1625,7 @@
- 	  fprintf (dump_file, "\n");
- 	}
-     }
-+
-   if (is_stored)
-     mark_ref_stored (ref, loop);
- 
-@@ -1721,8 +1721,7 @@
-   unsigned i;
-   bitmap empty;
- 
--  memory_accesses.refs
--	  = htab_create (100, memref_hash, memref_eq, memref_free);
-+  memory_accesses.refs = htab_create (100, memref_hash, memref_eq, NULL);
-   memory_accesses.refs_list = NULL;
-   memory_accesses.refs_in_loop = VEC_alloc (bitmap, heap,
- 					    number_of_loops ());
-@@ -1956,6 +1955,173 @@
-   return lsm_tmp_name;
- }
- 
-+struct prev_flag_edges {
-+  /* Edge to insert new flag comparison code.  */
-+  edge append_cond_position;
-+
-+  /* Edge for fall through from previous flag comparison.  */
-+  edge last_cond_fallthru;
-+};
-+
-+/* Helper function for execute_sm.  Emit code to store TMP_VAR into
-+   MEM along edge EX.
-+
-+   The store is only done if MEM has changed.  We do this so no
-+   changes to MEM occur on code paths that did not originally store
-+   into it.
-+
-+   The common case for execute_sm will transform:
-+
-+     for (...) {
-+       if (foo)
-+         stuff;
-+       else
-+         MEM = TMP_VAR;
-+     }
-+
-+   into:
-+
-+     lsm = MEM;
-+     for (...) {
-+       if (foo)
-+         stuff;
-+       else
-+         lsm = TMP_VAR;
-+     }
-+     MEM = lsm;
-+
-+  This function will generate:
-+
-+     lsm = MEM;
-+
-+     lsm_flag = false;
-+     ...
-+     for (...) {
-+       if (foo)
-+         stuff;
-+       else {
-+         lsm = TMP_VAR;
-+         lsm_flag = true;
-+       }
-+     }
-+     if (lsm_flag)	<--
-+       MEM = lsm;	<--
-+*/
-+
-+static void
-+execute_sm_if_changed (edge ex, tree mem, tree tmp_var, tree flag)
-+{
-+  basic_block new_bb, then_bb, old_dest;
-+  bool loop_has_only_one_exit;
-+  edge then_old_edge, orig_ex = ex;
-+  gimple_stmt_iterator gsi;
-+  gimple stmt;
-+  struct prev_flag_edges *prev_edges = (struct prev_flag_edges *) ex->aux;
-+
-+  /* ?? Insert store after previous store if applicable.  See note
-+     below.  */
-+  if (prev_edges)
-+    ex = prev_edges->append_cond_position;
-+
-+  loop_has_only_one_exit = single_pred_p (ex->dest);
-+
-+  if (loop_has_only_one_exit)
-+    ex = split_block_after_labels (ex->dest);
-+
-+  old_dest = ex->dest;
-+  new_bb = split_edge (ex);
-+  then_bb = create_empty_bb (new_bb);
-+  if (current_loops && new_bb->loop_father)
-+    add_bb_to_loop (then_bb, new_bb->loop_father);
-+
-+  gsi = gsi_start_bb (new_bb);
-+  stmt = gimple_build_cond (NE_EXPR, flag, boolean_false_node,
-+			    NULL_TREE, NULL_TREE);
-+  gsi_insert_after (&gsi, stmt, GSI_CONTINUE_LINKING);
-+
-+  gsi = gsi_start_bb (then_bb);
-+  /* Insert actual store.  */
-+  stmt = gimple_build_assign (unshare_expr (mem), tmp_var);
-+  gsi_insert_after (&gsi, stmt, GSI_CONTINUE_LINKING);
-+
-+  make_edge (new_bb, then_bb, EDGE_TRUE_VALUE);
-+  make_edge (new_bb, old_dest, EDGE_FALSE_VALUE);
-+  then_old_edge = make_edge (then_bb, old_dest, EDGE_FALLTHRU);
-+
-+  set_immediate_dominator (CDI_DOMINATORS, then_bb, new_bb);
-+
-+  if (prev_edges)
-+    {
-+      basic_block prevbb = prev_edges->last_cond_fallthru->src;
-+      redirect_edge_succ (prev_edges->last_cond_fallthru, new_bb);
-+      set_immediate_dominator (CDI_DOMINATORS, new_bb, prevbb);
-+      set_immediate_dominator (CDI_DOMINATORS, old_dest,
-+			       recompute_dominator (CDI_DOMINATORS, old_dest));
-+    }
-+
-+  /* ?? Because stores may alias, they must happen in the exact
-+     sequence they originally happened.  Save the position right after
-+     the (_lsm) store we just created so we can continue appending after
-+     it and maintain the original order.  */
-+  {
-+    struct prev_flag_edges *p;
-+
-+    if (orig_ex->aux)
-+      orig_ex->aux = NULL;
-+    alloc_aux_for_edge (orig_ex, sizeof (struct prev_flag_edges));
-+    p = (struct prev_flag_edges *) orig_ex->aux;
-+    p->append_cond_position = then_old_edge;
-+    p->last_cond_fallthru = find_edge (new_bb, old_dest);
-+    orig_ex->aux = (void *) p;
-+  }
-+
-+  if (!loop_has_only_one_exit)
-+    for (gsi = gsi_start_phis (old_dest); !gsi_end_p (gsi); gsi_next (&gsi))
-+      {
-+	gimple phi = gsi_stmt (gsi);
-+	unsigned i;
-+
-+	for (i = 0; i < gimple_phi_num_args (phi); i++)
-+	  if (gimple_phi_arg_edge (phi, i)->src == new_bb)
-+	    {
-+	      tree arg = gimple_phi_arg_def (phi, i);
-+	      add_phi_arg (phi, arg, then_old_edge, UNKNOWN_LOCATION);
-+	      update_stmt (phi);
-+	    }
-+      }
-+  /* Remove the original fall through edge.  This was the
-+     single_succ_edge (new_bb).  */
-+  EDGE_SUCC (new_bb, 0)->flags &= ~EDGE_FALLTHRU;
-+}
-+
-+/* Helper function for execute_sm.  On every location where REF is
-+   set, set an appropriate flag indicating the store.  */
-+
-+static tree
-+execute_sm_if_changed_flag_set (struct loop *loop, mem_ref_p ref)
-+{
-+  unsigned i;
-+  mem_ref_loc_p loc;
-+  tree flag;
-+  VEC (mem_ref_loc_p, heap) *locs = NULL;
-+  char *str = get_lsm_tmp_name (ref->mem, ~0);
-+
-+  lsm_tmp_name_add ("_flag");
-+  flag = make_rename_temp (boolean_type_node, str);
-+  get_all_locs_in_loop (loop, ref, &locs);
-+  FOR_EACH_VEC_ELT (mem_ref_loc_p, locs, i, loc)
-+    {
-+      gimple_stmt_iterator gsi;
-+      gimple stmt;
-+
-+      gsi = gsi_for_stmt (loc->stmt);
-+      stmt = gimple_build_assign (flag, boolean_true_node);
-+      gsi_insert_after (&gsi, stmt, GSI_CONTINUE_LINKING);
-+    }
-+  VEC_free (mem_ref_loc_p, heap, locs);
-+  return flag;
-+}
-+
- /* Executes store motion of memory reference REF from LOOP.
-    Exits from the LOOP are stored in EXITS.  The initialization of the
-    temporary variable is put to the preheader of the loop, and assignments
-@@ -1964,12 +2130,13 @@
- static void
- execute_sm (struct loop *loop, VEC (edge, heap) *exits, mem_ref_p ref)
- {
--  tree tmp_var;
-+  tree tmp_var, store_flag;
-   unsigned i;
--  gimple load, store;
-+  gimple load;
-   struct fmt_data fmt_data;
--  edge ex;
-+  edge ex, latch_edge;
-   struct lim_aux_data *lim_data;
-+  bool multi_threaded_model_p = false;
- 
-   if (dump_file && (dump_flags & TDF_DETAILS))
-     {
-@@ -1985,23 +2152,47 @@
-   fmt_data.orig_loop = loop;
-   for_each_index (&ref->mem, force_move_till, &fmt_data);
- 
-+  if (block_in_transaction (loop_preheader_edge (loop)->src)
-+      || !PARAM_VALUE (PARAM_ALLOW_STORE_DATA_RACES))
-+    multi_threaded_model_p = true;
-+
-+  if (multi_threaded_model_p)
-+    store_flag = execute_sm_if_changed_flag_set (loop, ref);
-+
-   rewrite_mem_refs (loop, ref, tmp_var);
- 
--  /* Emit the load & stores.  */
-+  /* Emit the load code into the latch, so that we are sure it will
-+     be processed after all dependencies.  */
-+  latch_edge = loop_latch_edge (loop);
-+
-+  /* FIXME/TODO: For the multi-threaded variant, we could avoid this
-+     load altogether, since the store is predicated by a flag.  We
-+     could, do the load only if it was originally in the loop.  */
-   load = gimple_build_assign (tmp_var, unshare_expr (ref->mem));
-   lim_data = init_lim_data (load);
-   lim_data->max_loop = loop;
-   lim_data->tgt_loop = loop;
-+  gsi_insert_on_edge (latch_edge, load);
- 
--  /* Put this into the latch, so that we are sure it will be processed after
--     all dependencies.  */
--  gsi_insert_on_edge (loop_latch_edge (loop), load);
-+  if (multi_threaded_model_p)
-+    {
-+      load = gimple_build_assign (store_flag, boolean_false_node);
-+      lim_data = init_lim_data (load);
-+      lim_data->max_loop = loop;
-+      lim_data->tgt_loop = loop;
-+      gsi_insert_on_edge (latch_edge, load);
-+    }
- 
-+  /* Sink the store to every exit from the loop.  */
-   FOR_EACH_VEC_ELT (edge, exits, i, ex)
--    {
--      store = gimple_build_assign (unshare_expr (ref->mem), tmp_var);
--      gsi_insert_on_edge (ex, store);
--    }
-+    if (!multi_threaded_model_p)
-+      {
-+	gimple store;
-+	store = gimple_build_assign (unshare_expr (ref->mem), tmp_var);
-+	gsi_insert_on_edge (ex, store);
-+      }
-+    else
-+      execute_sm_if_changed (ex, ref->mem, tmp_var, store_flag);
- }
- 
- /* Hoists memory references MEM_REFS out of LOOP.  EXITS is the list of exit
-@@ -2410,6 +2601,8 @@
- 
-   if (flag_tm)
-     compute_transaction_bits ();
-+
-+  alloc_aux_for_edges (0);
- }
- 
- /* Cleans up after the invariant motion pass.  */
-@@ -2420,15 +2613,21 @@
-   basic_block bb;
-   unsigned i;
-   bitmap b;
-+  mem_ref_p ref;
- 
-+  free_aux_for_edges ();
-+
-   FOR_EACH_BB (bb)
-     SET_ALWAYS_EXECUTED_IN (bb, NULL);
- 
-   pointer_map_destroy (lim_aux_data_map);
- 
--  VEC_free (mem_ref_p, heap, memory_accesses.refs_list);
-   htab_delete (memory_accesses.refs);
- 
-+  FOR_EACH_VEC_ELT (mem_ref_p, memory_accesses.refs_list, i, ref)
-+    memref_free (ref);
-+  VEC_free (mem_ref_p, heap, memory_accesses.refs_list);
-+
-   FOR_EACH_VEC_ELT (bitmap, memory_accesses.refs_in_loop, i, b)
-     BITMAP_FREE (b);
-   VEC_free (bitmap, heap, memory_accesses.refs_in_loop);
-@@ -2442,7 +2641,7 @@
-   VEC_free (bitmap, heap, memory_accesses.all_refs_stored_in_loop);
- 
-   if (memory_accesses.ttae_cache)
--    pointer_map_destroy (memory_accesses.ttae_cache);
-+    free_affine_expand_cache (&memory_accesses.ttae_cache);
- }
- 
- /* Moves invariants from loops.  Only "expensive" invariants are moved out --
-Index: gcc/targhooks.c
-===================================================================
---- gcc/targhooks.c	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ gcc/targhooks.c	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -939,6 +939,13 @@
-    return id;
- }
- 
-+/* Default to natural alignment for vector types.  */
-+HOST_WIDE_INT
-+default_vector_alignment (const_tree type)
-+{
-+  return tree_low_cst (TYPE_SIZE (type), 0);
-+}
-+
- bool
- default_builtin_vector_alignment_reachable (const_tree type, bool is_packed)
- {
-Index: gcc/targhooks.h
-===================================================================
---- gcc/targhooks.h	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ gcc/targhooks.h	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -83,6 +83,8 @@
- 
- extern tree default_builtin_reciprocal (unsigned int, bool, bool);
- 
-+extern HOST_WIDE_INT default_vector_alignment (const_tree);
-+
- extern bool default_builtin_vector_alignment_reachable (const_tree, bool);
- extern bool
- default_builtin_support_vector_misalignment (enum machine_mode mode,
-Index: gcc/tree-ssa-loop-niter.c
-===================================================================
---- gcc/tree-ssa-loop-niter.c	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ gcc/tree-ssa-loop-niter.c	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -2290,7 +2290,10 @@
-   /* Loops with multiple exits are expensive to handle and less important.  */
-   if (!flag_expensive_optimizations
-       && VEC_length (edge, exits) > 1)
--    return chrec_dont_know;
-+    {
-+      VEC_free (edge, heap, exits);
-+      return chrec_dont_know;
-+    }
- 
-   FOR_EACH_VEC_ELT (edge, exits, i, ex)
-     {
-Index: gcc/c-family/ChangeLog
-===================================================================
---- gcc/c-family/ChangeLog	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ gcc/c-family/ChangeLog	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,3 +1,9 @@
-+2012-06-27  Kai Tietz  <ktietz at redhat.com>
-+
-+	Merged from trunk
-+	PR preprocessor/37215
-+	* c-ppoutput.c (preprocess_file): Check for nonempty buffer.
-+
- 2012-06-14  Release Manager
- 
- 	* GCC 4.7.1 released.
-Index: gcc/c-family/c-ppoutput.c
-===================================================================
---- gcc/c-family/c-ppoutput.c	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ gcc/c-family/c-ppoutput.c	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -86,7 +86,7 @@
- {
-   /* A successful cpp_read_main_file guarantees that we can call
-      cpp_scan_nooutput or cpp_get_token next.  */
--  if (flag_no_output)
-+  if (flag_no_output && pfile->buffer)
-     {
-       /* Scan -included buffers, then the main file.  */
-       while (pfile->buffer->prev)
-Index: gcc/target.def
-===================================================================
---- gcc/target.def	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ gcc/target.def	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1615,6 +1615,16 @@
-  bool, (enum machine_mode mode),
-  hook_bool_mode_false)
- 
-+DEFHOOK
-+(vector_alignment,
-+ "This hook can be used to define the alignment for a vector of type\n\
-+ at var{type}, in order to comply with a platform ABI.  The default is to\n\
-+require natural alignment for vector types.  The alignment returned by\n\
-+this hook must be a power-of-two multiple of the default alignment of\n\
-+the vector element type.",
-+ HOST_WIDE_INT, (const_tree type),
-+ default_vector_alignment)
-+
- /* True if we should try to use a scalar mode to represent an array,
-    overriding the usual MAX_FIXED_MODE limit.  */
- DEFHOOK
-Index: gcc/DATESTAMP
-===================================================================
---- gcc/DATESTAMP	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ gcc/DATESTAMP	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1 +1 @@
--20120614
-+20120901
-Index: gcc/defaults.h
-===================================================================
---- gcc/defaults.h	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ gcc/defaults.h	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1063,6 +1063,11 @@
- #define TARGET_HAS_SINCOS 0
- #endif
- 
-+/* Determin whether the target runtime library is Bionic */
-+#ifndef TARGET_HAS_BIONIC
-+#define TARGET_HAS_BIONIC 0
-+#endif
-+
- /* Indicate that CLZ and CTZ are undefined at zero.  */
- #ifndef CLZ_DEFINED_VALUE_AT_ZERO
- #define CLZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE)  0
-Index: gcc/tree.c
-===================================================================
---- gcc/tree.c	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ gcc/tree.c	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1617,7 +1617,7 @@
-     {
-     case INTEGER_TYPE: case ENUMERAL_TYPE: case BOOLEAN_TYPE:
-     case POINTER_TYPE: case REFERENCE_TYPE:
--    case OFFSET_TYPE:
-+    case OFFSET_TYPE: case NULLPTR_TYPE:
-       return build_int_cst (type, 0);
- 
-     case REAL_TYPE:
-@@ -2922,6 +2922,7 @@
-     case METHOD_TYPE:
-     case FUNCTION_TYPE:
-     case VECTOR_TYPE:
-+    case NULLPTR_TYPE:
-       return false;
- 
-     case INTEGER_TYPE:
-@@ -4517,11 +4518,17 @@
-   free_lang_data_in_one_sizepos (&TYPE_SIZE (type));
-   free_lang_data_in_one_sizepos (&TYPE_SIZE_UNIT (type));
- 
--  if (debug_info_level < DINFO_LEVEL_TERSE
--      || (TYPE_CONTEXT (type)
--	  && TREE_CODE (TYPE_CONTEXT (type)) != FUNCTION_DECL
--	  && TREE_CODE (TYPE_CONTEXT (type)) != NAMESPACE_DECL))
--    TYPE_CONTEXT (type) = NULL_TREE;
-+  if (TYPE_CONTEXT (type)
-+      && TREE_CODE (TYPE_CONTEXT (type)) == BLOCK)
-+    {
-+      tree ctx = TYPE_CONTEXT (type);
-+      do
-+	{
-+	  ctx = BLOCK_SUPERCONTEXT (ctx);
-+	}
-+      while (ctx && TREE_CODE (ctx) == BLOCK);
-+      TYPE_CONTEXT (type) = ctx;
-+    }
- }
- 
- 
-@@ -4846,7 +4853,15 @@
-       fld_worklist_push (TYPE_MAIN_VARIANT (t), fld);
-       /* Do not walk TYPE_NEXT_VARIANT.  We do not stream it and thus
-          do not and want not to reach unused variants this way.  */
--      fld_worklist_push (TYPE_CONTEXT (t), fld);
-+      if (TYPE_CONTEXT (t))
-+	{
-+	  tree ctx = TYPE_CONTEXT (t);
-+	  /* We adjust BLOCK TYPE_CONTEXTs to the innermost non-BLOCK one.
-+	     So push that instead.  */
-+	  while (ctx && TREE_CODE (ctx) == BLOCK)
-+	    ctx = BLOCK_SUPERCONTEXT (ctx);
-+	  fld_worklist_push (ctx, fld);
-+	}
-       /* Do not walk TYPE_CANONICAL.  We do not stream it and thus do not
- 	 and want not to reach unused types this way.  */
- 
-@@ -6119,6 +6134,7 @@
-     case COMPLEX_TYPE:
-     case POINTER_TYPE:
-     case REFERENCE_TYPE:
-+    case NULLPTR_TYPE:
-       return 1;
- 
-     case VECTOR_TYPE:
-Index: gcc/configure
-===================================================================
---- gcc/configure	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ gcc/configure	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -26179,7 +26179,7 @@
-   then gcc_cv_as_gnu_unique_object=yes
- fi
-   elif test x$gcc_cv_as != x; then
--    $as_echo '.type foo, @gnu_unique_object' > conftest.s
-+    $as_echo '.type foo, '$target_type_format_char'gnu_unique_object' > conftest.s
-     if { ac_try='$gcc_cv_as $gcc_cv_as_flags  -o conftest.o conftest.s >&5'
-   { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-   (eval $ac_try) 2>&5
-@@ -26198,7 +26198,8 @@
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_gnu_unique_object" >&5
- $as_echo "$gcc_cv_as_gnu_unique_object" >&6; }
- if test $gcc_cv_as_gnu_unique_object = yes; then
--  # Also check for ld.so support, i.e. glibc 2.11 or higher.
-+  # We need to unquote above to to use the definition from config.gcc.
-+# Also check for ld.so support, i.e. glibc 2.11 or higher.
-    if test x$host = x$build -a x$host = x$target &&
-        ldd --version 2>/dev/null &&
-        glibcver=`ldd --version 2>/dev/null | sed 's/.* //;q'`; then
-@@ -26721,6 +26722,11 @@
- 	     $target_header_dir/bits/uClibc_config.h > /dev/null; then
- 	  gcc_cv_libc_provides_ssp=yes
- 	fi
-+      # all versions of Bionic support stack protector
-+      elif test -f $target_header_dir/sys/cdefs.h \
-+        && $EGREP '^[  ]*#[    ]*define[       ]+__BIONIC__[   ]+1' \
-+           $target_header_dir/sys/cdefs.h > /dev/null; then
-+         gcc_cv_libc_provides_ssp=yes
-       fi
- 	;;
-        *-*-gnu*)
-Index: gcc/omp-low.c
-===================================================================
---- gcc/omp-low.c	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ gcc/omp-low.c	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1823,8 +1823,8 @@
- 
- 
- /* Check OpenMP nesting restrictions.  */
--static void
--check_omp_nesting_restrictions (gimple  stmt, omp_context *ctx)
-+static bool
-+check_omp_nesting_restrictions (gimple stmt, omp_context *ctx)
- {
-   switch (gimple_code (stmt))
-     {
-@@ -1843,17 +1843,19 @@
- 	  case GIMPLE_OMP_TASK:
- 	    if (is_gimple_call (stmt))
- 	      {
--		warning (0, "barrier region may not be closely nested inside "
--			    "of work-sharing, critical, ordered, master or "
--			    "explicit task region");
--		return;
-+		error_at (gimple_location (stmt),
-+			  "barrier region may not be closely nested inside "
-+			  "of work-sharing, critical, ordered, master or "
-+			  "explicit task region");
-+		return false;
- 	      }
--	    warning (0, "work-sharing region may not be closely nested inside "
--			"of work-sharing, critical, ordered, master or explicit "
--			"task region");
--	    return;
-+	    error_at (gimple_location (stmt),
-+		      "work-sharing region may not be closely nested inside "
-+		      "of work-sharing, critical, ordered, master or explicit "
-+		      "task region");
-+	    return false;
- 	  case GIMPLE_OMP_PARALLEL:
--	    return;
-+	    return true;
- 	  default:
- 	    break;
- 	  }
-@@ -1866,11 +1868,12 @@
- 	  case GIMPLE_OMP_SECTIONS:
- 	  case GIMPLE_OMP_SINGLE:
- 	  case GIMPLE_OMP_TASK:
--	    warning (0, "master region may not be closely nested inside "
--			"of work-sharing or explicit task region");
--	    return;
-+	    error_at (gimple_location (stmt),
-+		      "master region may not be closely nested inside "
-+		      "of work-sharing or explicit task region");
-+	    return false;
- 	  case GIMPLE_OMP_PARALLEL:
--	    return;
-+	    return true;
- 	  default:
- 	    break;
- 	  }
-@@ -1881,17 +1884,22 @@
- 	  {
- 	  case GIMPLE_OMP_CRITICAL:
- 	  case GIMPLE_OMP_TASK:
--	    warning (0, "ordered region may not be closely nested inside "
--			"of critical or explicit task region");
--	    return;
-+	    error_at (gimple_location (stmt),
-+		      "ordered region may not be closely nested inside "
-+		      "of critical or explicit task region");
-+	    return false;
- 	  case GIMPLE_OMP_FOR:
- 	    if (find_omp_clause (gimple_omp_for_clauses (ctx->stmt),
- 				 OMP_CLAUSE_ORDERED) == NULL)
--	      warning (0, "ordered region must be closely nested inside "
-+	      {
-+		error_at (gimple_location (stmt),
-+			  "ordered region must be closely nested inside "
- 			  "a loop region with an ordered clause");
--	    return;
-+		return false;
-+	      }
-+	    return true;
- 	  case GIMPLE_OMP_PARALLEL:
--	    return;
-+	    return true;
- 	  default:
- 	    break;
- 	  }
-@@ -1902,14 +1910,16 @@
- 	    && (gimple_omp_critical_name (stmt)
- 		== gimple_omp_critical_name (ctx->stmt)))
- 	  {
--	    warning (0, "critical region may not be nested inside a critical "
--			"region with the same name");
--	    return;
-+	    error_at (gimple_location (stmt),
-+		      "critical region may not be nested inside a critical "
-+		      "region with the same name");
-+	    return false;
- 	  }
-       break;
-     default:
-       break;
-     }
-+  return true;
- }
- 
- 
-@@ -1980,15 +1990,21 @@
-   /* Check the OpenMP nesting restrictions.  */
-   if (ctx != NULL)
-     {
-+      bool remove = false;
-       if (is_gimple_omp (stmt))
--	check_omp_nesting_restrictions (stmt, ctx);
-+	remove = !check_omp_nesting_restrictions (stmt, ctx);
-       else if (is_gimple_call (stmt))
- 	{
- 	  tree fndecl = gimple_call_fndecl (stmt);
- 	  if (fndecl && DECL_BUILT_IN_CLASS (fndecl) == BUILT_IN_NORMAL
- 	      && DECL_FUNCTION_CODE (fndecl) == BUILT_IN_GOMP_BARRIER)
--	    check_omp_nesting_restrictions (stmt, ctx);
-+	    remove = !check_omp_nesting_restrictions (stmt, ctx);
- 	}
-+      if (remove)
-+	{
-+	  stmt = gimple_build_nop ();
-+	  gsi_replace (gsi, stmt, false);
-+	}
-     }
- 
-   *handled_ops_p = true;
-@@ -4742,45 +4758,40 @@
-   unsigned i, casei;
-   bool exit_reachable = region->cont != NULL;
- 
--  gcc_assert (exit_reachable == (region->exit != NULL));
-+  gcc_assert (region->exit != NULL);
-   entry_bb = region->entry;
-   l0_bb = single_succ (entry_bb);
-   l1_bb = region->cont;
-   l2_bb = region->exit;
--  if (exit_reachable)
-+  if (single_pred_p (l2_bb) && single_pred (l2_bb) == l0_bb)
-+    l2 = gimple_block_label (l2_bb);
-+  else
-     {
--      if (single_pred_p (l2_bb) && single_pred (l2_bb) == l0_bb)
--	l2 = gimple_block_label (l2_bb);
-+      /* This can happen if there are reductions.  */
-+      len = EDGE_COUNT (l0_bb->succs);
-+      gcc_assert (len > 0);
-+      e = EDGE_SUCC (l0_bb, len - 1);
-+      si = gsi_last_bb (e->dest);
-+      l2 = NULL_TREE;
-+      if (gsi_end_p (si)
-+          || gimple_code (gsi_stmt (si)) != GIMPLE_OMP_SECTION)
-+	l2 = gimple_block_label (e->dest);
-       else
--	{
--	  /* This can happen if there are reductions.  */
--	  len = EDGE_COUNT (l0_bb->succs);
--	  gcc_assert (len > 0);
--	  e = EDGE_SUCC (l0_bb, len - 1);
--	  si = gsi_last_bb (e->dest);
--	  l2 = NULL_TREE;
--	  if (gsi_end_p (si)
--	      || gimple_code (gsi_stmt (si)) != GIMPLE_OMP_SECTION)
--	    l2 = gimple_block_label (e->dest);
--	  else
--	    FOR_EACH_EDGE (e, ei, l0_bb->succs)
-+	FOR_EACH_EDGE (e, ei, l0_bb->succs)
-+	  {
-+	    si = gsi_last_bb (e->dest);
-+	    if (gsi_end_p (si)
-+		|| gimple_code (gsi_stmt (si)) != GIMPLE_OMP_SECTION)
- 	      {
--		si = gsi_last_bb (e->dest);
--		if (gsi_end_p (si)
--		    || gimple_code (gsi_stmt (si)) != GIMPLE_OMP_SECTION)
--		  {
--		    l2 = gimple_block_label (e->dest);
--		    break;
--		  }
-+		l2 = gimple_block_label (e->dest);
-+		break;
- 	      }
--	}
--      default_bb = create_empty_bb (l1_bb->prev_bb);
-+	  }
-     }
-+  if (exit_reachable)
-+    default_bb = create_empty_bb (l1_bb->prev_bb);
-   else
--    {
--      default_bb = create_empty_bb (l0_bb);
--      l2 = gimple_block_label (default_bb);
--    }
-+    default_bb = create_empty_bb (l0_bb);
- 
-   /* We will build a switch() with enough cases for all the
-      GIMPLE_OMP_SECTION regions, a '0' case to handle the end of more work
-@@ -4833,13 +4844,9 @@
-       vnext = NULL_TREE;
-     }
- 
--  i = 0;
--  if (exit_reachable)
--    {
--      t = build_case_label (build_int_cst (unsigned_type_node, 0), NULL, l2);
--      VEC_quick_push (tree, label_vec, t);
--      i++;
--    }
-+  t = build_case_label (build_int_cst (unsigned_type_node, 0), NULL, l2);
-+  VEC_quick_push (tree, label_vec, t);
-+  i = 1;
- 
-   /* Convert each GIMPLE_OMP_SECTION into a CASE_LABEL_EXPR.  */
-   for (inner = region->inner, casei = 1;
-@@ -4909,18 +4916,18 @@
-       gsi_remove (&si, true);
- 
-       single_succ_edge (l1_bb)->flags = EDGE_FALLTHRU;
--
--      /* Cleanup function replaces GIMPLE_OMP_RETURN in EXIT_BB.  */
--      si = gsi_last_bb (l2_bb);
--      if (gimple_omp_return_nowait_p (gsi_stmt (si)))
--	t = builtin_decl_explicit (BUILT_IN_GOMP_SECTIONS_END_NOWAIT);
--      else
--	t = builtin_decl_explicit (BUILT_IN_GOMP_SECTIONS_END);
--      stmt = gimple_build_call (t, 0);
--      gsi_insert_after (&si, stmt, GSI_SAME_STMT);
--      gsi_remove (&si, true);
-     }
- 
-+  /* Cleanup function replaces GIMPLE_OMP_RETURN in EXIT_BB.  */
-+  si = gsi_last_bb (l2_bb);
-+  if (gimple_omp_return_nowait_p (gsi_stmt (si)))
-+    t = builtin_decl_explicit (BUILT_IN_GOMP_SECTIONS_END_NOWAIT);
-+  else
-+    t = builtin_decl_explicit (BUILT_IN_GOMP_SECTIONS_END);
-+  stmt = gimple_build_call (t, 0);
-+  gsi_insert_after (&si, stmt, GSI_SAME_STMT);
-+  gsi_remove (&si, true);
-+
-   set_immediate_dominator (CDI_DOMINATORS, default_bb, l0_bb);
- }
- 
-@@ -6852,6 +6859,9 @@
-       lower_omp (gimple_try_eval (stmt), ctx);
-       lower_omp (gimple_try_cleanup (stmt), ctx);
-       break;
-+    case GIMPLE_TRANSACTION:
-+      lower_omp (gimple_transaction_body (stmt), ctx);
-+      break;
-     case GIMPLE_BIND:
-       lower_omp (gimple_bind_body (stmt), ctx);
-       break;
-Index: gcc/cfg.c
-===================================================================
---- gcc/cfg.c	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ gcc/cfg.c	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -814,10 +814,10 @@
-   clear_aux_for_blocks ();
- }
- 
--/* Allocate a memory edge of SIZE as BB->aux.  The obstack must
-+/* Allocate a memory edge of SIZE as E->aux.  The obstack must
-    be first initialized by alloc_aux_for_edges.  */
- 
--static void
-+void
- alloc_aux_for_edge (edge e, int size)
- {
-   /* Verify that aux field is clear.  */
-Index: gcc/tree-chrec.c
-===================================================================
---- gcc/tree-chrec.c	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ gcc/tree-chrec.c	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1011,6 +1011,8 @@
-   if (TREE_CODE (chrec) == POLYNOMIAL_CHREC)
-     {
-       if (CHREC_VARIABLE (chrec) == (unsigned) loopnum
-+	  || flow_loop_nested_p (get_loop (loopnum),
-+				 get_loop (CHREC_VARIABLE (chrec)))
- 	  || !evolution_function_is_invariant_rec_p (CHREC_RIGHT (chrec),
- 						     loopnum)
- 	  || !evolution_function_is_invariant_rec_p (CHREC_LEFT (chrec),
-@@ -1114,6 +1116,8 @@
- 	  break;
- 
- 	default:
-+	  if (tree_contains_chrecs (CHREC_LEFT (chrec), NULL))
-+	    return false;
- 	  break;
- 	}
- 
-@@ -1127,6 +1131,8 @@
- 	  break;
- 
- 	default:
-+	  if (tree_contains_chrecs (CHREC_RIGHT (chrec), NULL))
-+	    return false;
- 	  break;
- 	}
- 
-Index: gcc/DEV-PHASE
-===================================================================
---- gcc/DEV-PHASE	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ gcc/DEV-PHASE	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -0,0 +1 @@
-+prerelease
-Index: gcc/tree-ssa-sccvn.c
-===================================================================
---- gcc/tree-ssa-sccvn.c	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ gcc/tree-ssa-sccvn.c	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -3590,6 +3590,8 @@
- 	fprintf (dump_file, "WARNING: Giving up with SCCVN due to "
- 		 "SCC size %u exceeding %u\n", VEC_length (tree, scc),
- 		 (unsigned)PARAM_VALUE (PARAM_SCCVN_MAX_SCC_SIZE));
-+
-+      VEC_free (tree, heap, scc);
-       return false;
-     }
- 
-Index: gcc/ChangeLog
-===================================================================
---- gcc/ChangeLog	(.../tags/gcc_4_7_1_release)	(wersja 190845)
-+++ gcc/ChangeLog	(.../branches/gcc-4_7-branch)	(wersja 190845)
-@@ -1,3 +1,805 @@
-+2012-08-31  Kirill Yukhin  <kirill.yukhin at intel.com>
-+
-+	Backport from mainline
-+	2012-08-23  Yuri Rumyantsev  <ysrumyan at gmail.com>
-+
-+	* config/i386/i386.c (ia32_multipass_dfa_lookahead) : Add
-+	case for Atom processor.
-+
-+2012-08-28  Uros Bizjak  <ubizjak at gmail.com>
-+
-+	Backport from mainline
-+	2012-08-27  Uros Bizjak  <ubizjak at gmail.com>
-+
-+	PR target/46254
-+	* config/i386/predicates.md (cmpxchg8b_pic_memory_operand): Return
-+	true for TARGET_64BIT or !flag_pic.
-+	* config/i386/sync.md (*atomic_compare_and_swap_doubledi_pic): Remove.
-+	(atomic_compare_and_swap_double<mode>): Change operand 2 predicate
-+	to cmpxchg8b_pic_memory_operand.  Use DWIH mode iterator.
-+	Add insn constraint.  Conditionally emit xchg asm insns.
-+	(atomic_compare_and_swap<mode>): Update calls.  Check only
-+	cmpxchg8b_pic_memory_operand in memory address fixup.
-+	(DCASMODE): Remove.
-+	(CASHMODE): Rename from DCASHMODE.
-+	(doublemodesuffix): Update modes.
-+	(regprefix): New mode attribute.
-+
-+	(unspecv) <UNSPECV_CMPXCHG_{1,2,3,4}>: Remove.
-+	<UNSPECV_CMPXCHG>: New constant.
-+	(atomic_compare_and_swap<mode>_1): Rename from
-+	atomic_compare_and_swap_single<mode>.  Update calls and
-+	unspec_volatile constants.
-+	(atomic_compare_and_swap<mode>_doubleword): Rename from
-+	atomic_compare_and_swap_double<mode>.  Update calls and
-+	unspec_volatile constants.
-+
-+2012-08-28  Walter Lee  <walt at tilera.com>
-+
-+	Backport from mainline
-+	2012-08-28  Walter Lee  <walt at tilera.com>
-+
-+	* confg/tilegx/tilegx.md: Fix code style.
-+	(*zero_extendsidi_truncdisi): Fix typo.
-+	* config/tilegx/tilegx.c: Fix code style.
-+	(tilegx_function_profiler): Fix typo.
-+
-+2012-08-27  Walter Lee  <walt at tilera.com>
-+
-+	Backport from mainline
-+	2012-08-27  Walter Lee  <walt at tilera.com>
-+
-+	* doc/md.texi (TILE-Gx): Fix typo.
-+
-+2012-08-27  Walter Lee  <walt at tilera.com>
-+
-+	Backport from mainline
-+	2012-08-27  Walter Lee  <walt at tilera.com>
-+
-+	* config/tilegx/tilegx.c (tilegx_function_profiler): Fix typo.
-+	* config/tilepro/tilepro.c (tilepro_function_profiler): Ditto.
-+
-+2012-08-27  Walter Lee  <walt at tilera.com>
-+
-+	Backport from mainline
-+	2012-08-27  Walter Lee  <walt at tilera.com>
-+
-+	* config/tilegx/tilegx.md (*bfins): Rename to insn_bfins.
-+	(insn_bfins): Delete.
-+
-+2012-08-27  Walter Lee  <walt at tilera.com>
-+
-+	Backport from mainline
-+	2012-08-27  Walter Lee  <walt at tilera.com>
-+
-+	* config/tilegx/sync.md (atomic_compare_and_swap_bare<mode>,
-+	atomic_exchange_bare<mode>,
-+	atomic_fetch_<fetchop_name>_bare<mode>): Set type to X1_remote.
-+	* config/tilegx/tilegx-generic.md (X1_remote): New insn_reservation.
-+	* config/tilegx/tilegx.md (type): Add X1_remove.
-+	(insn_cmpexch<four_if_si>, insn_exch<four_if_si>,
-+	insn_fetchadd<four_if_si>, insn_fetchaddgez<four_if_si>,
-+	insn_fetchand<four_if_si>, insn_fetchor<four_if_si>): Set type to
-+	X1_remote.
-+
-+2012-08-25  Eric Botcazou  <ebotcazou at adacore.com>
-+
-+	PR rtl-optimization/54088
-+	* jump.c (delete_related_insns): Robustify latest change.
-+
-+2012-08-21  Richard Guenther  <rguenther at suse.de>
-+
-+	Backport from mainline
-+	2012-08-16  Richard Guenther  <rguenther at suse.de>
-+
-+	PR middle-end/54146
-+	* tree-ssa-loop-niter.c (find_loop_niter_by_eval): Free the
-+	exit vector.
-+	* ipa-pure-const.c (analyze_function): Use FOR_EACH_LOOP_BREAK.
-+	* cfgloop.h (FOR_EACH_LOOP_BREAK): Fix.
-+	* tree-ssa-structalias.c (handle_lhs_call): Properly free rhsc.
-+	* tree-ssa-loop-im.c (analyze_memory_references): Adjust.
-+	(tree_ssa_lim_finalize): Free all mem_refs.
-+	* tree-ssa-sccvn.c (extract_and_process_scc_for_name): Free
-+	scc when bailing out.
-+	* modulo-sched.c (sms_schedule): Use FOR_EACH_LOOP_BREAK.
-+	* ira-build.c (loop_with_complex_edge_p): Free loop exit vector.
-+	* graphite-sese-to-poly.c (scop_ivs_can_be_represented): Use
-+	FOR_EACH_LOOP_BREAK.
-+
-+	2012-08-17  Richard Guenther  <rguenther at suse.de>
-+
-+	* tree-sra.c (modify_function): Free redirect_callers vector.
-+	* ipa-split.c (split_function): Free args_to_pass vector.
-+	* tree-vect-stmts.c (vectorizable_operation): Do not pre-allocate
-+	vec_oprnds.
-+	(new_stmt_vec_info): Do not pre-allocate STMT_VINFO_SAME_ALIGN_REFS.
<Skipped 342803 lines>
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/crossmingw64-gcc.git/commitdiff/8c3f48e4321d2e8e8e7a3f46301ccd7658e6a81d




More information about the pld-cvs-commit mailing list