diff --git a/configure.ac b/configure.ac
index df2af18f9bd..4afd4f813f6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1439,11 +1439,19 @@ case "$have_compiler:$host:$target:$enable_bootstrap" in
     ;;
 esac
 
-# When bootstrapping with GCC, build stage 1 in C++98 mode to ensure that a
-# C++98 compiler can still start the bootstrap.
-if test "$enable_bootstrap:$GXX" = "yes:yes"; then
-  CXX="$CXX -std=gnu++98"
-fi
+# When bootstrapping with GCC, build stage 1 in C++11 mode to ensure that a 
+# C++11 compiler can still start the bootstrap. 
+if test "$enable_bootstrap:$GXX" = "yes:yes"; then 
+  CXX="$CXX -std=gnu++11" 
+ 
+  AC_LANG_PUSH(C++) 
+  AC_MSG_CHECKING([that the compiler supports c++11]) 
+  AC_TRY_COMPILE([#include <type_traits>],[], [AC_MSG_RESULT([yes]); supports_cpp11=yes], [AC_MSG_RESULT([no]); supports_cpp11=no]) 
+  if test x$supports_cpp11 != xyes; then 
+    AC_MSG_ERROR([Building GCC requires a compiler that supports c++11, such as GCC 4.8.1 or newer]) 
+  fi 
+  AC_LANG_POP(C++) 
+fi 
 
 # Used for setting $lt_cv_objdir
 _LT_CHECK_OBJDIR
