cstdlib (at_quick_exit, quick_exit): Do not declare.
2013-02-11 Paolo Carlini <paolo.carlini@oracle.com> * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare. * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only in C++11 mode and if available in the underlying C library. * testsuite/18_support/quick_exit/quick_exit.cc: Compile with -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and _GLIBCXX_HAVE_QUICK_EXIT. From-SVN: r195961
This commit is contained in:
parent
6c59ffd1ac
commit
42906f7940
|
@ -1,7 +1,16 @@
|
|||
2013-02-11 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
* include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
|
||||
* include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
|
||||
in C++11 mode and if available in the underlying C library.
|
||||
* testsuite/18_support/quick_exit/quick_exit.cc: Compile with
|
||||
-std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
|
||||
_GLIBCXX_HAVE_QUICK_EXIT.
|
||||
|
||||
2013-02-11 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
* doc/html/*: Regenerate.
|
||||
|
||||
|
||||
2013-02-11 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
|
||||
|
|
|
@ -57,8 +57,14 @@ namespace std
|
|||
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 @@ namespace std
|
|||
#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 @@ namespace std
|
|||
#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 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
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 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
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 @@ namespace std
|
|||
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 @@ namespace std
|
|||
#undef abort
|
||||
#undef abs
|
||||
#undef atexit
|
||||
#undef at_quick_exit
|
||||
#undef atof
|
||||
#undef atoi
|
||||
#undef atol
|
||||
|
@ -86,7 +83,6 @@ namespace std
|
|||
#undef mbstowcs
|
||||
#undef mbtowc
|
||||
#undef qsort
|
||||
#undef quick_exit
|
||||
#undef rand
|
||||
#undef realloc
|
||||
#undef srand
|
||||
|
@ -107,9 +103,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
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 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
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 @@ void wrong_handler()
|
|||
|
||||
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
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue