mirror of git://gcc.gnu.org/git/gcc.git
configure.ac: Check for __cxa_thread_atexit_impl.
* configure.ac: Check for __cxa_thread_atexit_impl. * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward to it if available. * config.h.in, configure: Regenerate. From-SVN: r196276
This commit is contained in:
parent
9bcb18f6f5
commit
bed152e374
|
|
@ -1,3 +1,10 @@
|
||||||
|
2013-02-25 Jason Merrill <jason@redhat.com>
|
||||||
|
|
||||||
|
* configure.ac: Check for __cxa_thread_atexit_impl.
|
||||||
|
* libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
|
||||||
|
to it if available.
|
||||||
|
* config.h.in, configure: Regenerate.
|
||||||
|
|
||||||
2013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com>
|
2013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com>
|
||||||
|
|
||||||
* include/std/streambuf (basic_streambuf): Use injected class name
|
* include/std/streambuf (basic_streambuf): Use injected class name
|
||||||
|
|
|
||||||
|
|
@ -658,6 +658,9 @@
|
||||||
/* Define to 1 if you have the `_tanl' function. */
|
/* Define to 1 if you have the `_tanl' function. */
|
||||||
#undef HAVE__TANL
|
#undef HAVE__TANL
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `__cxa_thread_atexit_impl' function. */
|
||||||
|
#undef HAVE___CXA_THREAD_ATEXIT_IMPL
|
||||||
|
|
||||||
/* Define as const if the declaration of iconv() needs const. */
|
/* Define as const if the declaration of iconv() needs const. */
|
||||||
#undef ICONV_CONST
|
#undef ICONV_CONST
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26700,6 +26700,18 @@ $as_echo "#define HAVE_TLS 1" >>confdefs.h
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
for ac_func in __cxa_thread_atexit_impl
|
||||||
|
do :
|
||||||
|
ac_fn_c_check_func "$LINENO" "__cxa_thread_atexit_impl" "ac_cv_func___cxa_thread_atexit_impl"
|
||||||
|
if test "x$ac_cv_func___cxa_thread_atexit_impl" = x""yes; then :
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define HAVE___CXA_THREAD_ATEXIT_IMPL 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
# For iconv support.
|
# For iconv support.
|
||||||
|
|
||||||
if test "X$prefix" = "XNONE"; then
|
if test "X$prefix" = "XNONE"; then
|
||||||
|
|
|
||||||
|
|
@ -235,6 +235,8 @@ if $GLIBCXX_IS_NATIVE; then
|
||||||
# For TLS support.
|
# For TLS support.
|
||||||
GCC_CHECK_TLS
|
GCC_CHECK_TLS
|
||||||
|
|
||||||
|
AC_CHECK_FUNCS(__cxa_thread_atexit_impl)
|
||||||
|
|
||||||
# For iconv support.
|
# For iconv support.
|
||||||
AM_ICONV
|
AM_ICONV
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,20 @@
|
||||||
#include <new>
|
#include <new>
|
||||||
#include "bits/gthr.h"
|
#include "bits/gthr.h"
|
||||||
|
|
||||||
|
#if HAVE___CXA_THREAD_ATEXIT_IMPL
|
||||||
|
|
||||||
|
extern "C" int __cxa_thread_atexit_impl (void (*func) (void *),
|
||||||
|
void *arg, void *d);
|
||||||
|
extern "C" int
|
||||||
|
__cxxabiv1::__cxa_thread_atexit (void (*dtor)(void *),
|
||||||
|
void *obj, void *dso_handle)
|
||||||
|
_GLIBCXX_NOTHROW
|
||||||
|
{
|
||||||
|
return __cxa_thread_atexit_impl (dtor, obj, dso_handle);
|
||||||
|
}
|
||||||
|
|
||||||
|
#else /* HAVE___CXA_THREAD_ATEXIT_IMPL */
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
// One element in a singly-linked stack of cleanups.
|
// One element in a singly-linked stack of cleanups.
|
||||||
struct elt
|
struct elt
|
||||||
|
|
@ -116,3 +130,5 @@ __cxxabiv1::__cxa_thread_atexit (void (*dtor)(void *), void *obj, void */*dso_ha
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* HAVE___CXA_THREAD_ATEXIT_IMPL */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue