===================================================================
@@ -57,8 +57,14 @@
extern "C" void abort(void) throw () _GLIBCXX_NORETURN;
extern "C" int atexit(void (*)()) throw ();
extern "C" void exit(int) throw () _GLIBCXX_NORETURN;
+#if __cplusplus >= 201103L
+# ifdef _GLIBCXX_HAVE_AT_QUICK_EXIT
extern "C" int at_quick_exit(void (*)()) throw ();
+# endif
+# ifdef _GLIBCXX_HAVE_QUICK_EXIT
extern "C" void quick_exit(int) throw() _GLIBCXX_NORETURN;
+# endif
+#endif
} // namespace std
#else
@@ -69,7 +75,11 @@
#undef abort
#undef abs
#undef atexit
-#undef at_quick_exit
+#if __cplusplus >= 201103L
+# ifdef _GLIBCXX_HAVE_AT_QUICK_EXIT
+# undef at_quick_exit
+# endif
+#endif
#undef atof
#undef atoi
#undef atol
@@ -86,7 +96,11 @@
#undef mbstowcs
#undef mbtowc
#undef qsort
-#undef quick_exit
+#if __cplusplus >= 201103L
+# ifdef _GLIBCXX_HAVE_QUICK_EXIT
+# undef quick_exit
+# endif
+#endif
#undef rand
#undef realloc
#undef srand
@@ -107,8 +121,10 @@
using ::abort;
using ::abs;
using ::atexit;
-#ifdef _GLIBCXX_HAVE_AT_QUICK_EXIT
+#if __cplusplus >= 201103L
+# ifdef _GLIBCXX_HAVE_AT_QUICK_EXIT
using ::at_quick_exit;
+# endif
#endif
using ::atof;
using ::atoi;
@@ -128,8 +144,10 @@
using ::mbtowc;
#endif // _GLIBCXX_HAVE_MBSTATE_T
using ::qsort;
-#ifdef _GLIBCXX_HAVE_QUICK_EXIT
+#if __cplusplus >= 201103L
+# ifdef _GLIBCXX_HAVE_QUICK_EXIT
using ::quick_exit;
+# endif
#endif
using ::rand;
using ::realloc;
===================================================================
@@ -57,8 +57,6 @@
extern "C" void abort(void) throw () _GLIBCXX_NORETURN;
extern "C" int atexit(void (*)()) throw ();
extern "C" void exit(int) throw () _GLIBCXX_NORETURN;
- extern "C" int at_quick_exit(void (*)()) throw ();
- extern "C" void quick_exit(int) throw() _GLIBCXX_NORETURN;
} // namespace
#else
@@ -69,7 +67,6 @@
#undef abort
#undef abs
#undef atexit
-#undef at_quick_exit
#undef atof
#undef atoi
#undef atol
@@ -86,7 +83,6 @@
#undef mbstowcs
#undef mbtowc
#undef qsort
-#undef quick_exit
#undef rand
#undef realloc
#undef srand
@@ -107,9 +103,6 @@
using ::abort;
using ::abs;
using ::atexit;
-#ifdef _GLIBCXX_HAVE_AT_QUICK_EXIT
- using ::at_quick_exit;
-#endif
using ::atof;
using ::atoi;
using ::atol;
@@ -128,9 +121,6 @@
using ::mbtowc;
#endif // _GLIBCXX_HAVE_MBSTATE_T
using ::qsort;
-#ifdef _GLIBCXX_HAVE_QUICK_EXIT
- using ::quick_exit;
-#endif
using ::rand;
using ::realloc;
using ::srand;
===================================================================
@@ -1,5 +1,7 @@
-// 2013-02-11 Jason Merrill
-
+// { dg-options "-std=gnu++11" }
+//
+// 2013-02-11 Jason Merrill
+//
// Copyright (C) 2013 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -33,7 +35,9 @@
int main()
{
+#if defined(_GLIBCXX_HAVE_AT_QUICK_EXIT) && defined(_GLIBCXX_HAVE_QUICK_EXIT)
std::at_quick_exit (handler);
std::atexit (wrong_handler);
std::quick_exit (1);
+#endif
}