diff --git a/configure b/configure
index 7cd59fd581526856a20653b168258b2f075703c0..a14560c35128bf7bf6700db3db7513e6efa7fd16 100755
--- a/configure
+++ b/configure
@@ -6712,12 +6712,16 @@ $as_echo "$as_me: Release mode, adding -DNDEBUG" >&6;}
 
 fi
 
-# in debug-glibcxx mode, add -D_GLIBCXX_DEBUG
+# in debug-glibcxx mode, add other debug macros
 if test "$debug_glibcxx" == true ; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: Check boundaries, adding -D_GLIBCXX_DEBUG" >&5
-$as_echo "$as_me: Check boundaries, adding -D_GLIBCXX_DEBUG" >&6;}
+  { $as_echo "$as_me:${as_lineno-$LINENO}: Enabling libstdc++ debug options, adding -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC -D_GLIBCXX_ASSERTIONS" >&5
+$as_echo "$as_me: Enabling libstdc++ debug options, adding -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC -D_GLIBCXX_ASSERTIONS" >&6;}
   $as_echo "#define _GLIBCXX_DEBUG 1" >>confdefs.h
 
+  $as_echo "#define _GLIBCXX_DEBUG_PEDANTIC 1" >>confdefs.h
+
+  $as_echo "#define _GLIBCXX_DEBUG_ASSERTIONS 1" >>confdefs.h
+
 fi
 
 if test "$cxx_exceptions" == true ; then
diff --git a/configure.ac b/configure.ac
index 80d1775bd0dbe1ad7fb82fec4fa738fd6f16715a..3a2ccae7c7cc359cc5648de2e97f66b44c58cd66 100644
--- a/configure.ac
+++ b/configure.ac
@@ -542,10 +542,12 @@ if test "$debug" == false ; then
   AC_DEFINE([NDEBUG])
 fi
 
-# in debug-glibcxx mode, add -D_GLIBCXX_DEBUG
+# in debug-glibcxx mode, add other debug macros
 if test "$debug_glibcxx" == true ; then
-  AC_MSG_NOTICE([Check boundaries, adding -D_GLIBCXX_DEBUG])
+  AC_MSG_NOTICE([Enabling libstdc++ debug options, adding -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC -D_GLIBCXX_ASSERTIONS])
   AC_DEFINE([_GLIBCXX_DEBUG])
+  AC_DEFINE([_GLIBCXX_DEBUG_PEDANTIC])
+  AC_DEFINE([_GLIBCXX_DEBUG_ASSERTIONS])
 fi
 
 if test "$cxx_exceptions" == true ; then