diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 34cd0a5283ab4405c1909dd55851f4e0a1ab4b8d..324ef51066e28da2ea547c078a21e411d69fcd20 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,11 @@
+2012-12-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+	PR libstdc++/55631
+	* include/ext/alloc_traits.h: Include missing header.
+	* include/ext/pointer.h: Likewise.
+	* include/ext/string_conversions.h: Require C++11.
+	* libsupc++/initializer_list: Reindent.
+
 2012-12-10  Benjamin Kosnik  <bkoz@redhat.com>
 
 	* doc/Makefile.am (xml_sources_manual): Add
diff --git a/libstdc++-v3/include/ext/alloc_traits.h b/libstdc++-v3/include/ext/alloc_traits.h
index a0834c36c85557d2b64163a0137d1b64cb1463de..b46b0fc119e5f1ddfd976289f6db10db80262399 100644
--- a/libstdc++-v3/include/ext/alloc_traits.h
+++ b/libstdc++-v3/include/ext/alloc_traits.h
@@ -32,6 +32,7 @@
 #pragma GCC system_header
 
 #if __cplusplus >= 201103L
+# include <bits/move.h>
 # include <bits/alloc_traits.h>
 #else
 # include <bits/allocator.h>  // for __alloc_swap
diff --git a/libstdc++-v3/include/ext/pointer.h b/libstdc++-v3/include/ext/pointer.h
index 5592a77b3e13774850c714a433a47442ec105507..b3c86874563948590e9dc6703ebf2577d53d3880 100644
--- a/libstdc++-v3/include/ext/pointer.h
+++ b/libstdc++-v3/include/ext/pointer.h
@@ -43,6 +43,7 @@
 #include <ext/cast.h>
 #include <ext/type_traits.h>
 #if __cplusplus >= 201103L
+# include <bits/move.h>
 # include <bits/ptr_traits.h>
 #endif
 
diff --git a/libstdc++-v3/include/ext/string_conversions.h b/libstdc++-v3/include/ext/string_conversions.h
index f85ab99235c8048d0395dd28d188a64c6d8be741..7df905fd6b25af7b322c498099ad8bc71f72ca84 100644
--- a/libstdc++-v3/include/ext/string_conversions.h
+++ b/libstdc++-v3/include/ext/string_conversions.h
@@ -31,6 +31,10 @@
 
 #pragma GCC system_header
 
+#if __cplusplus < 201103L
+# include <bits/c++0x_warning.h>
+#else
+
 #include <bits/c++config.h>
 #include <ext/numeric_traits.h>
 #include <bits/functexcept.h>
@@ -98,4 +102,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 _GLIBCXX_END_NAMESPACE_VERSION
 } // namespace
 
+#endif // C++11
+
 #endif // _STRING_CONVERSIONS_H
diff --git a/libstdc++-v3/libsupc++/initializer_list b/libstdc++-v3/libsupc++/initializer_list
index 5e2a78bb97de3764f726382276c4583127d810bc..89add48d78cd2d204d10d6fc2248fae8d4b87e15 100644
--- a/libstdc++-v3/libsupc++/initializer_list
+++ b/libstdc++-v3/libsupc++/initializer_list
@@ -77,7 +77,7 @@ namespace std
       // One past the last element.
       constexpr const_iterator
       end() const noexcept { return begin() + size(); }
-  };
+    };
 
   /**
    *  @brief  Return an iterator pointing to the first element of