Blob Blame History Raw
--- autoconf-2.13/acgeneral.m4~	Tue Jun 26 17:00:28 2001
+++ autoconf-2.13/acgeneral.m4	Tue Jun 26 17:00:28 2001
@@ -1817,10 +1817,6 @@
 [cat > conftest.$ac_ext <<EOF
 [#]line __oline__ "configure"
 #include "confdefs.h"
-ifelse(AC_LANG, CPLUSPLUS, [#ifdef __cplusplus
-extern "C" void exit(int);
-#endif
-])dnl
 [$1]
 EOF
 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
--- autoconf-2.13/acspecific.m4~	Tue Jun 26 17:04:34 2001
+++ autoconf-2.13/acspecific.m4		Tue Jun 26 17:04:34 2001
@@ -152,8 +152,41 @@
     CXXFLAGS=
   fi
 fi
+
+AC_PROG_CXX_EXIT_DECLARATION
 ])
 
+
+# AC_PROG_CXX_EXIT_DECLARATION
+# -----------------------------
+# Find a valid prototype for exit and declare it in confdefs.h.
+AC_DEFUN(AC_PROG_CXX_EXIT_DECLARATION,
+[for ac_declaration in \
+   ''\
+   '#include <stdlib.h>' \
+   'extern "C" void std::exit (int) throw (); using std::exit;' \
+   'extern "C" void std::exit (int); using std::exit;' \
+   'extern "C" void exit (int) throw ();' \
+   'extern "C" void exit (int);' \
+   'void exit (int);'
+do
+  AC_TRY_COMPILE([#include <stdlib.h>
+$ac_declaration], 
+                 [exit (42);],
+                 [],
+                 [continue])
+  AC_TRY_COMPILE([$ac_declaration],
+                 [exit (42);],
+                 [break])
+done
+if test -n "$ac_declaration"; then
+  echo '#ifdef __cplusplus' >>confdefs.h
+  echo $ac_declaration      >>confdefs.h
+  echo '#endif'             >>confdefs.h
+fi
+])# AC_PROG_CXX_EXIT_DECLARATION
+
+
 dnl Determine a Fortran 77 compiler to use.  If `F77' is not already set
 dnl in the environment, check for `g77', `f77' and `f2c', in that order.
 dnl Set the output variable `F77' to the name of the compiler found.