Add support for g++ 4.7 when compiling in C++11 mode.
diff --git a/asio/boostify.pl b/asio/boostify.pl
index 144b1ca..e4b6dd0 100755
--- a/asio/boostify.pl
+++ b/asio/boostify.pl
@@ -121,6 +121,10 @@
     {
       $line =~ s/asio_detail_posix_thread_function/boost_asio_detail_posix_thread_function/g;
     }
+    if ($line =~ /const ASIO_ERROR_CATEGORY_NOEXCEPT$/)
+    {
+      $line =~ s/ ASIO_ERROR_CATEGORY_NOEXCEPT$//;
+    }
     if ($line =~ /ASIO_/ && !($line =~ /BOOST_ASIO_/))
     {
       $line =~ s/ASIO_/BOOST_ASIO_/g;
diff --git a/asio/include/asio/detail/config.hpp b/asio/include/asio/detail/config.hpp
index 86e110d..6282934 100644
--- a/asio/include/asio/detail/config.hpp
+++ b/asio/include/asio/detail/config.hpp
@@ -112,6 +112,20 @@
 # endif // defined(__GNUC__)
 #endif // !defined(ASIO_DISABLE_STD_SYSTEM_ERROR)
 
+// Compliant C++11 compilers put noexcept specifiers on error_category members.
+#if !defined(ASIO_ERROR_CATEGORY_NOEXCEPT)
+# if defined(__GNUC__)
+#  if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4)
+#   if defined(__GXX_EXPERIMENTAL_CXX0X__)
+#     define ASIO_ERROR_CATEGORY_NOEXCEPT noexcept(true)
+#   endif // defined(__GXX_EXPERIMENTAL_CXX0X__)
+#  endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4)
+# endif // defined(__GNUC__)
+# if !defined(ASIO_ERROR_CATEGORY_NOEXCEPT)
+#  define ASIO_ERROR_CATEGORY_NOEXCEPT
+# endif // !defined(ASIO_ERROR_CATEGORY_NOEXCEPT)
+#endif // !defined(ASIO_ERROR_CATEGORY_NOEXCEPT)
+
 // Standard library support for arrays.
 #if !defined(ASIO_DISABLE_STD_ARRAY)
 # if defined(__GNUC__)
@@ -163,7 +177,9 @@
 #  if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 6)) || (__GNUC__ > 4)
 #   if defined(__GXX_EXPERIMENTAL_CXX0X__)
 #    define ASIO_HAS_STD_CHRONO
-#    define ASIO_HAS_STD_CHRONO_MONOTONIC_CLOCK
+#    if ((__GNUC__ == 4) && (__GNUC_MINOR__ == 6))
+#     define ASIO_HAS_STD_CHRONO_MONOTONIC_CLOCK
+#    endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ == 6))
 #   endif // defined(__GXX_EXPERIMENTAL_CXX0X__)
 #  endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 6)) || (__GNUC__ > 4)
 # endif // defined(__GNUC__)
diff --git a/asio/include/asio/impl/error.ipp b/asio/include/asio/impl/error.ipp
index 836b200..7448813 100644
--- a/asio/include/asio/impl/error.ipp
+++ b/asio/include/asio/impl/error.ipp
@@ -30,7 +30,7 @@
 class netdb_category : public asio::error_category
 {
 public:
-  const char* name() const
+  const char* name() const ASIO_ERROR_CATEGORY_NOEXCEPT
   {
     return "asio.netdb";
   }
@@ -62,7 +62,7 @@
 class addrinfo_category : public asio::error_category
 {
 public:
-  const char* name() const
+  const char* name() const ASIO_ERROR_CATEGORY_NOEXCEPT
   {
     return "asio.addrinfo";
   }
@@ -92,7 +92,7 @@
 class misc_category : public asio::error_category
 {
 public:
-  const char* name() const
+  const char* name() const ASIO_ERROR_CATEGORY_NOEXCEPT
   {
     return "asio.misc";
   }
diff --git a/asio/include/asio/impl/error_code.ipp b/asio/include/asio/impl/error_code.ipp
index e9e326c..a9db6fa 100644
--- a/asio/include/asio/impl/error_code.ipp
+++ b/asio/include/asio/impl/error_code.ipp
@@ -34,7 +34,7 @@
 class system_category : public error_category
 {
 public:
-  const char* name() const
+  const char* name() const ASIO_ERROR_CATEGORY_NOEXCEPT
   {
     return "asio.system";
   }
diff --git a/asio/include/asio/ssl/impl/error.ipp b/asio/include/asio/ssl/impl/error.ipp
index a9fd2c4..a092241 100644
--- a/asio/include/asio/ssl/impl/error.ipp
+++ b/asio/include/asio/ssl/impl/error.ipp
@@ -29,7 +29,7 @@
 class ssl_category : public asio::error_category
 {
 public:
-  const char* name() const
+  const char* name() const ASIO_ERROR_CATEGORY_NOEXCEPT
   {
     return "asio.ssl";
   }
diff --git a/asio/src/doc/history.qbk b/asio/src/doc/history.qbk
index 8a3773f..9066d31 100644
--- a/asio/src/doc/history.qbk
+++ b/asio/src/doc/history.qbk
@@ -23,6 +23,8 @@
 
 * Improved the performance of strand rescheduling.
 
+* Added support for [^g++] 4.7 when compiling in C++11 mode.
+
 [heading Asio 1.8.0]
 
 * Added a new class template `basic_waitable_timer` based around the C++11 clock