diff options
author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-02-11 17:50:13 +0000 |
---|---|---|
committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-02-11 17:50:13 +0000 |
commit | 6985c6f9253a2e5abc4dc1612ad6ff6c90800752 (patch) | |
tree | fe180eb10b98589f5ed9fd419ccd34e3c604d803 /libstdc++-v3/linkage.m4 | |
parent | ffc1977a9d0e485ad63906c4ad8998166e7250b9 (diff) | |
download | gcc-6985c6f9253a2e5abc4dc1612ad6ff6c90800752.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195948 138bc75d-0d04-0410-961f-82ee72b054a4
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 b24f4556000..45a09cdf445 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) |