diff options
author | Jason Merrill <jason@redhat.com> | 2013-02-11 12:50:13 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2013-02-11 12:50:13 -0500 |
commit | cc999d030035b7ad8cda2a1743f3cc4f76fede00 (patch) | |
tree | fe180eb10b98589f5ed9fd419ccd34e3c604d803 /libstdc++-v3/linkage.m4 | |
parent | b63fe0076d20fa0ddd660e53d882792e54d1bef7 (diff) | |
download | gcc-cc999d030035b7ad8cda2a1743f3cc4f76fede00.zip gcc-cc999d030035b7ad8cda2a1743f3cc4f76fede00.tar.gz gcc-cc999d030035b7ad8cda2a1743f3cc4f76fede00.tar.bz2 |
linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
* linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
(GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
* include/c_std/cstdlib: Add atexit and at_quick_exit.
* include/c_global/cstdlib: Add atexit and at_quick_exit.
* testsuite/18_support/quick_exit/quick_exit.cc: New.
From-SVN: r195948
Diffstat (limited to 'libstdc++-v3/linkage.m4')
-rw-r--r-- | libstdc++-v3/linkage.m4 | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/libstdc++-v3/linkage.m4 b/libstdc++-v3/linkage.m4 index b24f455..45a09cd 100644 --- a/libstdc++-v3/linkage.m4 +++ b/libstdc++-v3/linkage.m4 @@ -239,6 +239,35 @@ dnl 2) has "C" linkage dnl dnl argument 1 is name of function to check dnl +dnl ASSUMES argument is a stdlib function with ONE parameter +dnl +dnl GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_1 +AC_DEFUN([GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_1], [ + AC_MSG_CHECKING([for $1 declaration]) + if test x${glibcxx_cv_func_$1_use+set} != xset; then + AC_CACHE_VAL(glibcxx_cv_func_$1_use, [ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include <stdlib.h>], + [ $1(0);], + [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no]) + AC_LANG_RESTORE + ]) + fi + AC_MSG_RESULT($glibcxx_cv_func_$1_use) + if test x$glibcxx_cv_func_$1_use = x"yes"; then + AC_CHECK_FUNCS($1) + fi +]) + + +dnl +dnl Check to see if the (stdlib function) argument passed is +dnl 1) declared when using the c++ compiler +dnl 2) has "C" linkage +dnl +dnl argument 1 is name of function to check +dnl dnl ASSUMES argument is a stdlib function with TWO parameters dnl dnl GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2 @@ -306,6 +335,8 @@ AC_DEFUN([GLIBCXX_CHECK_STDLIB_SUPPORT], [ ac_save_CXXFLAGS="$CXXFLAGS" CXXFLAGS='-fno-builtin -D_GNU_SOURCE' + GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_1(at_quick_exit) + GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_1(quick_exit) GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2(strtold) GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2(strtof) |