[PATCH 3/6] libstdc++: Update AC_TRY_COMPILE to AC_COMPILE_IFELSE [PR103459]

Pietro Monteiro pietro@sociotechnical.xyz
Thu Jun 25 02:58:12 GMT 2026


AC_TRY_COMPILE has been deprecated by Autoconf.  Update to
AC_COMPILE_IFELSE.  Delete unused macro
GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_0.

	PR bootstrap/103459

libstdc++-v3/ChangeLog:

	* acinclude.m4 (GLIBCXX_CHECK_COMPILER_FEATURES): Update
	AC_TRY_COMPILE to AC_COMPILE_IFELSE.
	(GLIBCXX_CHECK_SETRLIMIT_ancilliary): Likewise.
	(GLIBCXX_CHECK_SETRLIMIT): Likewise.
	(GLIBCXX_ENABLE_C99): Likewise.
	(GLIBCXX_ENABLE_LIBSTDCXX_TIME): Likewise.
	(GLIBCXX_CHECK_C99_TR1): Likewise.
	(GLIBCXX_CHECK_UCHAR_H): Likewise.
	(GLIBCXX_ENABLE_CLOCALE): Likewise.
	(GLIBCXX_ENABLE_WCHAR_T): Likewise.
	(GLIBCXX_ENABLE_ATOMIC_BUILTINS): Likewise.
	(GLIBCXX_ENABLE_LOCK_POLICY): Likewise.
	(GLIBCXX_ENABLE_LIBSTDCXX_VISIBILITY): Likewise.
	(GLIBCXX_ENABLE_SYMVERS): Likewise.
	(GLIBCXX_CHECK_GTHREADS): Likewise.
	(GLIBCXX_CHECK_X86_RDRAND): Likewise.
	(GLIBCXX_CHECK_X86_RDSEED): Likewise.
	(GLIBCXX_CHECK_SIZE_T_MANGLING): Likewise.
	(GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Likewise.
	(GLIBCXX_CHECK_ALIGNAS_CACHELINE): Likewise.
	(GLIBCXX_CHECK_INIT_PRIORITY): Likewise.
	(GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES): Likewise.
	(GLIBCXX_CHECK_TEXT_ENCODING): Likewise.
	(GLIBCXX_CHECK_DEBUGGING): Likewise.
	(GLIBCXX_CHECK_STDIO_LOCKING): Likewise.
	* configure: Regenerate.
	* configure.ac: Update AC_TRY_COMPILE to AC_COMPILE_IFELSE.
	* crossconfig.m4 (GLIBCXX_CHECK_MATH_DECL): Likewise.
	* linkage.m4 (GLIBCXX_CHECK_MATH_DECL_1): Likewise.
	(GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1): Likewise.
	(GLIBCXX_CHECK_MATH_DECL_2): Likewise.
	(GLIBCXX_CHECK_MATH_DECL_3): Likewise.
	(GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_0): Delete.
	(GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_1): Update
	AC_TRY_COMPILE to AC_COMPILE_IFELSE.
	(GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2): Likewise.
	(GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_3): Likewise.

Signed-off-by: Pietro Monteiro <pietro@sociotechnical.xyz>
---
 libstdc++-v3/acinclude.m4   | 403 ++++++++++++++++++------------------
 libstdc++-v3/configure      |  21 +-
 libstdc++-v3/configure.ac   |  20 +-
 libstdc++-v3/crossconfig.m4 |   6 +-
 libstdc++-v3/linkage.m4     |  59 ++----
 5 files changed, 242 insertions(+), 267 deletions(-)

diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
index 7afd6a50c96..87892199259 100644
--- a/libstdc++-v3/acinclude.m4
+++ b/libstdc++-v3/acinclude.m4
@@ -147,7 +147,9 @@ AC_DEFUN([GLIBCXX_CHECK_COMPILER_FEATURES], [
   # Check for -ffunction-sections -fdata-sections
   AC_MSG_CHECKING([for g++ that supports -ffunction-sections -fdata-sections])
   CXXFLAGS='-g -Werror -ffunction-sections -fdata-sections'
-  AC_TRY_COMPILE([int foo; void bar() { };],, [ac_fdsections=yes], [ac_fdsections=no])
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[int foo; void bar() { };]],[[]])],
+    [ac_fdsections=yes],
+    [ac_fdsections=no])
   if test "$ac_test_CXXFLAGS" = set; then
     CXXFLAGS="$ac_save_CXXFLAGS"
   else
@@ -323,12 +325,12 @@ dnl  various HAVE_LIMIT_* for individual limit names
 dnl
 AC_DEFUN([GLIBCXX_CHECK_SETRLIMIT_ancilliary], [
   AC_MSG_CHECKING([for RLIMIT_$1])
-  AC_TRY_COMPILE(
-    [#include <unistd.h>
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+    [[#include <unistd.h>
      #include <sys/time.h>
      #include <sys/resource.h>
-    ],
-    [ int f = RLIMIT_$1 ; ],
+    ]],
+    [[ int f = RLIMIT_$1 ; ]])],
     [glibcxx_mresult=1], [glibcxx_mresult=0])
   AC_DEFINE_UNQUOTED(HAVE_LIMIT_$1, $glibcxx_mresult,
 		     [Only used in build directory testsuite_hooks.h.])
@@ -356,13 +358,13 @@ AC_DEFUN([GLIBCXX_CHECK_SETRLIMIT], [
     # Check for rlimit, setrlimit.
     AC_CACHE_CHECK([for testsuite resource limits support],
       glibcxx_cv_setrlimit, [
-      AC_TRY_COMPILE(
-	[#include <unistd.h>
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+	[[#include <unistd.h>
 	 #include <sys/time.h>
 	 #include <sys/resource.h>
-	],
-	[struct rlimit r;
-	 setrlimit(0, &r);],
+	]],
+	[[struct rlimit r;
+	 setrlimit(0, &r);]])],
 	[glibcxx_cv_setrlimit=yes], [glibcxx_cv_setrlimit=no])
     ])
 
@@ -1048,38 +1050,38 @@ AC_DEFUN([GLIBCXX_ENABLE_C99], [
        test x"$ac_has_wctype_h" = xyes; then
       AC_CACHE_CHECK([for ISO C99 support in <wchar.h> for C++98],
 	glibcxx_cv_c99_wchar_cxx98, [
-        AC_TRY_COMPILE([#include <wchar.h>
+        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <wchar.h>
           namespace test
           {
             using ::wcstold;
             using ::wcstoll;
             using ::wcstoull;
           }
-        ], [], [glibcxx_cv_c99_wchar_cxx98=yes], [glibcxx_cv_c99_wchar_cxx98=no])
+        ]], [[]])], [glibcxx_cv_c99_wchar_cxx98=yes], [glibcxx_cv_c99_wchar_cxx98=no])
       ])
 
       # Checks for wide character functions that may not be present.
       # Injection of these is wrapped with guard macros.
       # NB: only put functions here, instead of immediately above, if
       # absolutely necessary.
-      AC_TRY_COMPILE([#include <wchar.h>
-        namespace test { using ::vfwscanf; }], [],
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <wchar.h>
+        namespace test { using ::vfwscanf; }]], [[]])],
         [AC_DEFINE(HAVE_VFWSCANF, 1, [Defined if vfwscanf exists.])], [])
 
-      AC_TRY_COMPILE([#include <wchar.h>
-        namespace test { using ::vswscanf; }], [],
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <wchar.h>
+        namespace test { using ::vswscanf; }]], [[]])],
         [AC_DEFINE(HAVE_VSWSCANF, 1, [Defined if vswscanf exists.])], [])
 
-      AC_TRY_COMPILE([#include <wchar.h>
-        namespace test { using ::vwscanf; }], [],
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <wchar.h>
+        namespace test { using ::vwscanf; }]], [[]])],
         [AC_DEFINE(HAVE_VWSCANF, 1, [Defined if vwscanf exists.])], [])
 
-      AC_TRY_COMPILE([#include <wchar.h>
-        namespace test { using ::wcstof; }], [],
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <wchar.h>
+        namespace test { using ::wcstof; }]], [[]])],
         [AC_DEFINE(HAVE_WCSTOF, 1, [Defined if wcstof exists.])], [])
 
-      AC_TRY_COMPILE([#include <wctype.h>],
-        [wint_t t; int i = iswblank(t);],
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <wctype.h>]],
+        [[wint_t t; int i = iswblank(t);]])],
         [AC_DEFINE(HAVE_ISWBLANK, 1, [Defined if iswblank exists.])], [])
 
       if test x"$glibcxx_cv_c99_wchar_cxx98" = x"yes"; then
@@ -1130,10 +1132,10 @@ AC_DEFUN([GLIBCXX_ENABLE_C99], [
     # Check for the existence of <stdint.h> types.
     AC_CACHE_CHECK([for ISO C99 support in <stdint.h> for C++11],
     glibcxx_cv_c99_stdint, [
-    AC_TRY_COMPILE([#define __STDC_LIMIT_MACROS
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#define __STDC_LIMIT_MACROS
 		    #define __STDC_CONSTANT_MACROS
-		    #include <stdint.h>],
-		   [typedef int8_t          my_int8_t;
+		    #include <stdint.h>]],
+		   [[typedef int8_t          my_int8_t;
 		    my_int8_t               i8 = INT8_MIN;
 		    i8 = INT8_MAX;
 		    typedef int16_t         my_int16_t;
@@ -1217,8 +1219,8 @@ AC_DEFUN([GLIBCXX_ENABLE_C99], [
 		    typedef uintptr_t       my_uintptr_t;
 		    my_uintptr_t            uip = UINTPTR_MAX;
 		    uip = UINTPTR_MAX;
-		   ],[glibcxx_cv_c99_stdint=yes],
-		     [glibcxx_cv_c99_stdint=no])
+		   ]])],[glibcxx_cv_c99_stdint=yes],
+		        [glibcxx_cv_c99_stdint=no])
     ])
     if test x"$glibcxx_cv_c99_stdint" = x"yes"; then
       AC_DEFINE(_GLIBCXX_USE_C99_STDINT, 1,
@@ -1231,15 +1233,15 @@ AC_DEFUN([GLIBCXX_ENABLE_C99], [
     ac_c99_inttypes=no;
     if test x"$glibcxx_cv_c99_stdint" = x"yes"; then
       AC_MSG_CHECKING([for ISO C99 support for C++11 in <inttypes.h>])
-      AC_TRY_COMPILE([#include <inttypes.h>],
-		     [intmax_t i, numer, denom, base;
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <inttypes.h>]],
+		     [[intmax_t i, numer, denom, base;
 		      const char* s;
 		      char** endptr;
 		      intmax_t ret = imaxabs(i);
 		      imaxdiv_t dret = imaxdiv(numer, denom);
 		      ret = strtoimax(s, endptr, base);
 		      uintmax_t uret = strtoumax(s, endptr, base);
-		     ],[ac_c99_inttypes=yes], [ac_c99_inttypes=no])
+		     ]])],[ac_c99_inttypes=yes], [ac_c99_inttypes=no])
       AC_MSG_RESULT($ac_c99_inttypes)
     fi
     if test x"$ac_c99_inttypes" = x"yes"; then
@@ -1253,14 +1255,14 @@ AC_DEFUN([GLIBCXX_ENABLE_C99], [
     ac_c99_inttypes_wchar_t=no;
     if test x"$glibcxx_cv_c99_stdint" = x"yes"; then
       AC_MSG_CHECKING([for wchar_t ISO C99 support for C++11 in <inttypes.h>])
-      AC_TRY_COMPILE([#include <inttypes.h>],
-		     [intmax_t base;
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <inttypes.h>]],
+		     [[intmax_t base;
 		      const wchar_t* s;
 		      wchar_t** endptr;
 		      intmax_t ret = wcstoimax(s, endptr, base);
 		      uintmax_t uret = wcstoumax(s, endptr, base);
-		     ],[ac_c99_inttypes_wchar_t=yes],
-		       [ac_c99_inttypes_wchar_t=no])
+		     ]])],[ac_c99_inttypes_wchar_t=yes],
+		          [ac_c99_inttypes_wchar_t=no])
       AC_MSG_RESULT($ac_c99_inttypes_wchar_t)
     fi
     if test x"$ac_c99_inttypes_wchar_t" = x"yes"; then
@@ -1300,11 +1302,11 @@ AC_DEFUN([GLIBCXX_ENABLE_C99], [
     # Check for the existence of <math.h> typedefs.
     AC_CACHE_CHECK([for ISO C99 float types for C++11 in <math.h>],
     glibcxx_cv_c99_flt_eval_types, [
-    AC_TRY_COMPILE([#include <math.h>],
-		   [// Types
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <math.h>]],
+		   [[// Types
 		    typedef double_t  my_double_t;
 		    typedef float_t   my_float_t;
-		   ],
+		   ]])],
 		   [glibcxx_cv_c99_flt_eval_types=yes],
 		   [glibcxx_cv_c99_flt_eval_types=no])
     ])
@@ -1317,8 +1319,8 @@ AC_DEFUN([GLIBCXX_ENABLE_C99], [
     # Check for the existence of <math.h> functions.
     AC_CACHE_CHECK([for ISO C99 function support for C++11 in <math.h>],
     glibcxx_cv_c99_math_funcs, [
-    AC_TRY_COMPILE([#include <math.h>],
-		   [
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <math.h>]],
+		   [[
 		    // Hyperbolic
 		    acosh(0.0);
 		    acoshf(0.0f);
@@ -1435,7 +1437,7 @@ AC_DEFUN([GLIBCXX_ENABLE_C99], [
 		    fma(0.0, 0.0, 0.0);
 		    fmaf(0.0f, 0.0f, 0.0f);
 		    fmal(0.0l, 0.0l, 0.0l);
-		   ],
+		   ]])],
 		   [glibcxx_cv_c99_math_funcs=yes],
 		   [glibcxx_cv_c99_math_funcs=no])
     ])
@@ -1448,14 +1450,14 @@ AC_DEFUN([GLIBCXX_ENABLE_C99], [
 	darwin*)
 	  AC_CACHE_CHECK([for ISO C99 rounding functions in <math.h>],
 	    glibcxx_cv_c99_math_llround, [
-	    AC_TRY_COMPILE([#include <math.h>],
-		   [llrint(0.0);
+	    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <math.h>]],
+		   [[llrint(0.0);
 		    llrintf(0.0f);
 		    llrintl(0.0l);
 		    llround(0.0);
 		    llroundf(0.0f);
 		    llroundl(0.0l);
-		   ],
+		   ]])],
 		   [glibcxx_cv_c99_math_llround=yes],
 		   [glibcxx_cv_c99_math_llround=no])
 	    ])
@@ -1541,8 +1543,8 @@ AC_DEFUN([GLIBCXX_ENABLE_C99], [
     ac_c99_complex_arc=no;
     if test x"$ac_has_complex_h" = x"yes"; then
       AC_MSG_CHECKING([for ISO C99 support for inverse trig functions in <complex.h>])
-      AC_TRY_COMPILE([#include <complex.h>],
-		     [typedef __complex__ float float_type; float_type tmpf;
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <complex.h>]],
+		     [[typedef __complex__ float float_type; float_type tmpf;
 		      cacosf(tmpf);
 		      casinf(tmpf);
 		      catanf(tmpf);
@@ -1563,7 +1565,7 @@ AC_DEFUN([GLIBCXX_ENABLE_C99], [
 		      cacoshl(tmpld);
 		      casinhl(tmpld);
 		      catanhl(tmpld);
-		     ],[ac_c99_complex_arc=yes], [ac_c99_complex_arc=no])
+		     ]])],[ac_c99_complex_arc=yes], [ac_c99_complex_arc=no])
     fi
     AC_MSG_RESULT($ac_c99_complex_arc)
     if test x"$ac_c99_complex_arc" = x"yes"; then
@@ -1629,38 +1631,38 @@ AC_DEFUN([GLIBCXX_ENABLE_C99], [
        test x"$ac_has_wctype_h" = xyes; then
       AC_CACHE_CHECK([for ISO C99 support in <wchar.h> for C++11],
 	glibcxx_cv_c99_wchar_cxx11, [
-        AC_TRY_COMPILE([#include <wchar.h>
+        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <wchar.h>
           namespace test
           {
             using ::wcstold;
             using ::wcstoll;
             using ::wcstoull;
           }
-        ], [], [glibcxx_cv_c99_wchar_cxx11=yes], [glibcxx_cv_c99_wchar_cxx11=no])
+        ]], [[]])], [glibcxx_cv_c99_wchar_cxx11=yes], [glibcxx_cv_c99_wchar_cxx11=no])
       ])
 
       # Checks for wide character functions that may not be present.
       # Injection of these is wrapped with guard macros.
       # NB: only put functions here, instead of immediately above, if
       # absolutely necessary.
-      AC_TRY_COMPILE([#include <wchar.h>
-        namespace test { using ::vfwscanf; }], [],
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <wchar.h>
+        namespace test { using ::vfwscanf; }]], [[]])],
         [AC_DEFINE(HAVE_VFWSCANF, 1, [Defined if vfwscanf exists.])], [])
 
-      AC_TRY_COMPILE([#include <wchar.h>
-        namespace test { using ::vswscanf; }], [],
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <wchar.h>
+        namespace test { using ::vswscanf; }]], [[]])],
         [AC_DEFINE(HAVE_VSWSCANF, 1, [Defined if vswscanf exists.])], [])
 
-      AC_TRY_COMPILE([#include <wchar.h>
-        namespace test { using ::vwscanf; }], [],
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <wchar.h>
+        namespace test { using ::vwscanf; }]], [[]])],
         [AC_DEFINE(HAVE_VWSCANF, 1, [Defined if vwscanf exists.])], [])
 
-      AC_TRY_COMPILE([#include <wchar.h>
-        namespace test { using ::wcstof; }], [],
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <wchar.h>
+        namespace test { using ::wcstof; }]], [[]])],
         [AC_DEFINE(HAVE_WCSTOF, 1, [Defined if wcstof exists.])], [])
 
-      AC_TRY_COMPILE([#include <wctype.h>],
-        [wint_t t; int i = iswblank(t);],
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <wctype.h>]],
+        [[wint_t t; int i = iswblank(t);]])],
         [AC_DEFINE(HAVE_ISWBLANK, 1, [Defined if iswblank exists.])], [])
 
       if test x"$glibcxx_cv_c99_wchar_cxx11" = x"yes"; then
@@ -1673,12 +1675,12 @@ AC_DEFUN([GLIBCXX_ENABLE_C99], [
     # Check for the existence of <ctype.h> functions.
     AC_CACHE_CHECK([for ISO C99 support for C++11 in <ctype.h>],
     glibcxx_cv_c99_ctype, [
-    AC_TRY_COMPILE([#include <ctype.h>],
-		   [int ch;
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <ctype.h>]],
+		   [[int ch;
 		    int ret;
 		    ret = isblank(ch);
-		   ],[glibcxx_cv_c99_ctype=yes],
-		     [glibcxx_cv_c99_ctype=no])
+		   ]])],[glibcxx_cv_c99_ctype=yes],
+		        [glibcxx_cv_c99_ctype=no])
     ])
     if test x"$glibcxx_cv_c99_ctype" = x"yes"; then
       AC_DEFINE(_GLIBCXX_USE_C99_CTYPE, 1,
@@ -1691,8 +1693,8 @@ AC_DEFUN([GLIBCXX_ENABLE_C99], [
     ac_c99_fenv=no;
     if test x"$ac_has_fenv_h" = x"yes"; then
       AC_MSG_CHECKING([for ISO C99 support for C++11 in <fenv.h>])
-      AC_TRY_COMPILE([#include <fenv.h>],
-		     [int except, mode;
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <fenv.h>]],
+		     [[int except, mode;
 		      fexcept_t* pflag;
 		      fenv_t* penv;
 		      int ret;
@@ -1707,7 +1709,7 @@ AC_DEFUN([GLIBCXX_ENABLE_C99], [
 		      ret = feholdexcept(penv);
 		      ret = fesetenv(penv);
 		      ret = feupdateenv(penv);
-		     ],[ac_c99_fenv=yes], [ac_c99_fenv=no])
+		     ]])],[ac_c99_fenv=yes], [ac_c99_fenv=no])
       AC_MSG_RESULT($ac_c99_fenv)
     fi
     if test x"$ac_c99_fenv" = x"yes"; then
@@ -1906,17 +1908,17 @@ AC_DEFUN([GLIBCXX_ENABLE_LIBSTDCXX_TIME], [
     case ${target_os} in
       linux* | uclinux*)
 	AC_MSG_CHECKING([for clock_gettime syscall])
-	AC_TRY_COMPILE(
-	  [#include <unistd.h>
+	AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+	  [[#include <unistd.h>
 	   #include <time.h>
 	   #include <sys/syscall.h>
-	  ],
-	  [#if _POSIX_TIMERS > 0 && defined(_POSIX_MONOTONIC_CLOCK)
+	  ]],
+	  [[#if _POSIX_TIMERS > 0 && defined(_POSIX_MONOTONIC_CLOCK)
 	    timespec tp;
 	   #endif
 	   syscall(SYS_clock_gettime, CLOCK_MONOTONIC, &tp);
 	   syscall(SYS_clock_gettime, CLOCK_REALTIME, &tp);
-	  ], [ac_has_clock_gettime_syscall=yes], [ac_has_clock_gettime_syscall=no])
+	  ]])], [ac_has_clock_gettime_syscall=yes], [ac_has_clock_gettime_syscall=no])
 	AC_MSG_RESULT($ac_has_clock_gettime_syscall)
 	if test x"$ac_has_clock_gettime_syscall" = x"yes"; then
 	  AC_DEFINE(_GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, 1,
@@ -1924,11 +1926,11 @@ AC_DEFUN([GLIBCXX_ENABLE_LIBSTDCXX_TIME], [
 	  ac_has_clock_monotonic=yes
 	  ac_has_clock_realtime=yes
 	  AC_MSG_CHECKING([for struct timespec that matches syscall])
-	  AC_TRY_COMPILE(
-	    [#include <time.h>
+	  AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+	    [[#include <time.h>
 	     #include <sys/syscall.h>
-	    ],
-	    [#ifdef SYS_clock_gettime64
+	    ]],
+	    [[#ifdef SYS_clock_gettime64
 	     #if SYS_clock_gettime64 != SYS_clock_gettime
 	     // We need to use SYS_clock_gettime and libc appears to
 	     // also know about the SYS_clock_gettime64 syscall.
@@ -1937,7 +1939,7 @@ AC_DEFUN([GLIBCXX_ENABLE_LIBSTDCXX_TIME], [
 	       "struct timespec must be compatible with SYS_clock_gettime");
 	     #endif
 	     #endif
-	    ],
+	    ]])],
 	    [ac_timespec_matches_syscall=yes],
 	    [ac_timespec_matches_syscall=no])
 	  AC_MSG_RESULT($ac_timespec_matches_syscall)
@@ -1971,17 +1973,17 @@ AC_DEFUN([GLIBCXX_ENABLE_LIBSTDCXX_TIME], [
       [Defined if Sleep exists.])
   else
       AC_MSG_CHECKING([for sleep])
-      AC_TRY_COMPILE([#include <unistd.h>],
-                     [sleep(1)],
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <unistd.h>]],
+                     [[sleep(1)]])],
                      [ac_has_sleep=yes],[ac_has_sleep=no])
       if test x"$ac_has_sleep" = x"yes"; then
         AC_DEFINE(HAVE_SLEEP,1, [Defined if sleep exists.])
       fi
       AC_MSG_RESULT($ac_has_sleep)
       AC_MSG_CHECKING([for usleep])
-      AC_TRY_COMPILE([#include <unistd.h>],
-                     [sleep(1);
-                      usleep(100);],
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <unistd.h>]],
+                     [[sleep(1);
+                      usleep(100);]])],
                      [ac_has_usleep=yes],[ac_has_usleep=no])
       if test x"$ac_has_usleep" = x"yes"; then
         AC_DEFINE(HAVE_USLEEP,1, [Defined if usleep exists.])
@@ -2053,8 +2055,8 @@ AC_DEFUN([GLIBCXX_CHECK_C99_TR1], [
   ac_c99_complex_tr1=no;
   if test x"$ac_has_complex_h" = x"yes"; then
     AC_MSG_CHECKING([for ISO C99 support to TR1 in <complex.h>])
-    AC_TRY_COMPILE([#include <complex.h>],
-		   [typedef __complex__ float float_type; float_type tmpf;
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <complex.h>]],
+		   [[typedef __complex__ float float_type; float_type tmpf;
 		    cacosf(tmpf);
 		    casinf(tmpf);
 		    catanf(tmpf);
@@ -2075,7 +2077,7 @@ AC_DEFUN([GLIBCXX_CHECK_C99_TR1], [
 		    cacoshl(tmpld);
 		    casinhl(tmpld);
 		    catanhl(tmpld);
-		   ],[ac_c99_complex_tr1=yes], [ac_c99_complex_tr1=no])
+		   ]])],[ac_c99_complex_tr1=yes], [ac_c99_complex_tr1=no])
   fi
   AC_MSG_RESULT($ac_c99_complex_tr1)
   if test x"$ac_c99_complex_tr1" = x"yes"; then
@@ -2088,12 +2090,12 @@ AC_DEFUN([GLIBCXX_CHECK_C99_TR1], [
   # Check for the existence of <ctype.h> functions.
   AC_CACHE_CHECK([for ISO C99 support to TR1 in <ctype.h>],
   glibcxx_cv_c99_ctype_tr1, [
-  AC_TRY_COMPILE([#include <ctype.h>],
-		 [int ch;
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <ctype.h>]],
+		 [[int ch;
 		  int ret;
 		  ret = isblank(ch);
-		 ],[glibcxx_cv_c99_ctype_tr1=yes],
-		   [glibcxx_cv_c99_ctype_tr1=no])
+		 ]])],[glibcxx_cv_c99_ctype_tr1=yes],
+		      [glibcxx_cv_c99_ctype_tr1=no])
   ])
   if test x"$glibcxx_cv_c99_ctype_tr1" = x"yes"; then
     AC_DEFINE(_GLIBCXX_USE_C99_CTYPE_TR1, 1,
@@ -2106,8 +2108,8 @@ AC_DEFUN([GLIBCXX_CHECK_C99_TR1], [
   ac_c99_fenv_tr1=no;
   if test x"$ac_has_fenv_h" = x"yes"; then
     AC_MSG_CHECKING([for ISO C99 support to TR1 in <fenv.h>])
-    AC_TRY_COMPILE([#include <fenv.h>],
-		   [int except, mode;
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <fenv.h>]],
+		   [[int except, mode;
 		    fexcept_t* pflag;
 		    fenv_t* penv;
 		    int ret;
@@ -2122,7 +2124,7 @@ AC_DEFUN([GLIBCXX_CHECK_C99_TR1], [
 		    ret = feholdexcept(penv);
 		    ret = fesetenv(penv);
 		    ret = feupdateenv(penv);
-		   ],[ac_c99_fenv_tr1=yes], [ac_c99_fenv_tr1=no])
+		   ]])],[ac_c99_fenv_tr1=yes], [ac_c99_fenv_tr1=no])
     AC_MSG_RESULT($ac_c99_fenv_tr1)
   fi
   if test x"$ac_c99_fenv_tr1" = x"yes"; then
@@ -2134,10 +2136,10 @@ AC_DEFUN([GLIBCXX_CHECK_C99_TR1], [
   # Check for the existence of <stdint.h> types.
   AC_CACHE_CHECK([for ISO C99 support to TR1 in <stdint.h>],
   glibcxx_cv_c99_stdint_tr1, [
-  AC_TRY_COMPILE([#define __STDC_LIMIT_MACROS
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#define __STDC_LIMIT_MACROS
 		  #define __STDC_CONSTANT_MACROS
-		  #include <stdint.h>],
-		 [typedef int8_t          my_int8_t;
+		  #include <stdint.h>]],
+		 [[typedef int8_t          my_int8_t;
 		  my_int8_t               i8 = INT8_MIN;
 		  i8 = INT8_MAX;
 		  typedef int16_t         my_int16_t;
@@ -2221,8 +2223,8 @@ AC_DEFUN([GLIBCXX_CHECK_C99_TR1], [
 		  typedef uintptr_t       my_uintptr_t;
 		  my_uintptr_t            uip = UINTPTR_MAX;
 		  uip = UINTPTR_MAX;
-		 ],[glibcxx_cv_c99_stdint_tr1=yes],
-		   [glibcxx_cv_c99_stdint_tr1=no])
+		 ]])],[glibcxx_cv_c99_stdint_tr1=yes],
+		      [glibcxx_cv_c99_stdint_tr1=no])
   ])
   if test x"$glibcxx_cv_c99_stdint_tr1" = x"yes"; then
     AC_DEFINE(_GLIBCXX_USE_C99_STDINT_TR1, 1,
@@ -2233,8 +2235,8 @@ AC_DEFUN([GLIBCXX_CHECK_C99_TR1], [
   # Check for the existence of <math.h> functions.
   AC_CACHE_CHECK([for ISO C99 support to TR1 in <math.h>],
   glibcxx_cv_c99_math_tr1, [
-  AC_TRY_COMPILE([#include <math.h>],
-		 [typedef double_t  my_double_t;
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <math.h>]],
+		 [[typedef double_t  my_double_t;
 		  typedef float_t   my_float_t;
 		  acosh(0.0);
 		  acoshf(0.0f);
@@ -2343,7 +2345,7 @@ AC_DEFUN([GLIBCXX_CHECK_C99_TR1], [
 		  trunc(0.0);
 		  truncf(0.0f);
 		  truncl(0.0l);
-		 ],[glibcxx_cv_c99_math_tr1=yes], [glibcxx_cv_c99_math_tr1=no])
+		 ]])],[glibcxx_cv_c99_math_tr1=yes], [glibcxx_cv_c99_math_tr1=no])
   ])
   if test x"$glibcxx_cv_c99_math_tr1" = x"yes"; then
     AC_DEFINE(_GLIBCXX_USE_C99_MATH_TR1, 1,
@@ -2356,15 +2358,15 @@ AC_DEFUN([GLIBCXX_CHECK_C99_TR1], [
   ac_c99_inttypes_tr1=no;
   if test x"$glibcxx_cv_c99_stdint_tr1" = x"yes"; then
     AC_MSG_CHECKING([for ISO C99 support to TR1 in <inttypes.h>])
-    AC_TRY_COMPILE([#include <inttypes.h>],
-		   [intmax_t i, numer, denom, base;
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <inttypes.h>]],
+		   [[intmax_t i, numer, denom, base;
 		    const char* s;
 		    char** endptr;
 		    intmax_t ret = imaxabs(i);
 		    imaxdiv_t dret = imaxdiv(numer, denom);
 		    ret = strtoimax(s, endptr, base);
 		    uintmax_t uret = strtoumax(s, endptr, base);
-		   ],[ac_c99_inttypes_tr1=yes], [ac_c99_inttypes_tr1=no])
+		   ]])],[ac_c99_inttypes_tr1=yes], [ac_c99_inttypes_tr1=no])
     AC_MSG_RESULT($ac_c99_inttypes_tr1)
   fi
   if test x"$ac_c99_inttypes_tr1" = x"yes"; then
@@ -2378,14 +2380,14 @@ AC_DEFUN([GLIBCXX_CHECK_C99_TR1], [
   ac_c99_inttypes_wchar_t_tr1=no;
   if test x"$glibcxx_cv_c99_stdint_tr1" = x"yes"; then
     AC_MSG_CHECKING([for wchar_t ISO C99 support to TR1 in <inttypes.h>])
-    AC_TRY_COMPILE([#include <inttypes.h>],
-		   [intmax_t base;
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <inttypes.h>]],
+		   [[intmax_t base;
 		    const wchar_t* s;
 		    wchar_t** endptr;
 		    intmax_t ret = wcstoimax(s, endptr, base);
 		    uintmax_t uret = wcstoumax(s, endptr, base);
-		   ],[ac_c99_inttypes_wchar_t_tr1=yes],
-		     [ac_c99_inttypes_wchar_t_tr1=no])
+		   ]])],[ac_c99_inttypes_wchar_t_tr1=yes],
+		        [ac_c99_inttypes_wchar_t_tr1=no])
     AC_MSG_RESULT($ac_c99_inttypes_wchar_t_tr1)
   fi
   if test x"$ac_c99_inttypes_wchar_t_tr1" = x"yes"; then
@@ -2419,7 +2421,7 @@ AC_DEFUN([GLIBCXX_CHECK_UCHAR_H], [
 
   if test x"$ac_has_uchar_h" = x"yes"; then
     AC_MSG_CHECKING([for ISO C11 support for <uchar.h>])
-    AC_TRY_COMPILE([#include <uchar.h>
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <uchar.h>
 		    #ifdef __STDC_UTF_16__
 		    long i = __STDC_UTF_16__;
 		    #endif
@@ -2433,8 +2435,8 @@ AC_DEFUN([GLIBCXX_CHECK_UCHAR_H], [
 		      using ::mbrtoc16;
 		      using ::mbrtoc32;
 		    }
-		   ],
-		   [], [ac_c11_uchar_cxx11=yes], [ac_c11_uchar_cxx11=no])
+		   ]],
+		   [[]])], [ac_c11_uchar_cxx11=yes], [ac_c11_uchar_cxx11=no])
     AC_MSG_RESULT($ac_c11_uchar_cxx11)
   else
     ac_c11_uchar_cxx11=no
@@ -2448,15 +2450,15 @@ AC_DEFUN([GLIBCXX_CHECK_UCHAR_H], [
   CXXFLAGS="$CXXFLAGS -fchar8_t"
   if test x"$ac_has_uchar_h" = x"yes"; then
     AC_MSG_CHECKING([for c8rtomb and mbrtoc8 in <uchar.h> with -fchar8_t])
-    AC_TRY_COMPILE([#include <uchar.h>
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <uchar.h>
 		    namespace test
 		    {
 		      using ::c8rtomb;
 		      using ::mbrtoc8;
 		    }
-		   ],
-		   [], [ac_uchar_c8rtomb_mbrtoc8_fchar8_t=yes],
-		       [ac_uchar_c8rtomb_mbrtoc8_fchar8_t=no])
+		   ]],
+		   [[]])], [ac_uchar_c8rtomb_mbrtoc8_fchar8_t=yes],
+		           [ac_uchar_c8rtomb_mbrtoc8_fchar8_t=no])
     AC_MSG_RESULT($ac_uchar_c8rtomb_mbrtoc8_fchar8_t)
   else
     ac_uchar_c8rtomb_mbrtoc8_fchar8_t=no
@@ -2470,15 +2472,15 @@ AC_DEFUN([GLIBCXX_CHECK_UCHAR_H], [
   CXXFLAGS="$CXXFLAGS -std=c++20"
   if test x"$ac_has_uchar_h" = x"yes"; then
     AC_MSG_CHECKING([for c8rtomb and mbrtoc8 in <uchar.h> with -std=c++20])
-    AC_TRY_COMPILE([#include <uchar.h>
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <uchar.h>
 		    namespace test
 		    {
 		      using ::c8rtomb;
 		      using ::mbrtoc8;
 		    }
-		   ],
-		   [], [ac_uchar_c8rtomb_mbrtoc8_cxx20=yes],
-		       [ac_uchar_c8rtomb_mbrtoc8_cxx20=no])
+		   ]],
+		   [[]])], [ac_uchar_c8rtomb_mbrtoc8_cxx20=yes],
+		           [ac_uchar_c8rtomb_mbrtoc8_cxx20=no])
     AC_MSG_RESULT($ac_uchar_c8rtomb_mbrtoc8_cxx20)
   else
     ac_uchar_c8rtomb_mbrtoc8_cxx20=no
@@ -2845,18 +2847,18 @@ AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [
     CFLAGS="-Wimplicit-function-declaration -Werror"
 
     # Use strxfrm_l if available.
-    AC_TRY_COMPILE([#define _GNU_SOURCE 1
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#define _GNU_SOURCE 1
      		    #include <string.h>
-		    #include <locale.h>],
-		    [char s[128]; __locale_t loc; strxfrm_l(s, "C", 5, loc);],
+		    #include <locale.h>]],
+		    [[char s[128]; __locale_t loc; strxfrm_l(s, "C", 5, loc);]])],
 		    AC_DEFINE(HAVE_STRXFRM_L, 1,
 		    [Define if strxfrm_l is available in <string.h>.]),)
 
     # Use strerror_l if available.
-    AC_TRY_COMPILE([#define _GNU_SOURCE 1
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#define _GNU_SOURCE 1
 		    #include <string.h>
-		    #include <locale.h>],
-		    [__locale_t loc; strerror_l(5, loc);],
+		    #include <locale.h>]],
+		    [[__locale_t loc; strerror_l(5, loc);]])],
 		    AC_DEFINE(HAVE_STRERROR_L, 1,
 		    [Define if strerror_l is available in <string.h>.]),)
 
@@ -2866,10 +2868,10 @@ AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [
   # Perhaps use strerror_r if available, and strerror_l isn't.
   ac_save_CFLAGS="$CFLAGS"
   CFLAGS="-Wimplicit-function-declaration -Werror"
-  AC_TRY_COMPILE([#define _GNU_SOURCE 1
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#define _GNU_SOURCE 1
 	     	  #include <string.h>
-		  #include <locale.h>],
-		  [char s[128]; strerror_r(5, s, 128);],
+		  #include <locale.h>]],
+		  [[char s[128]; strerror_r(5, s, 128);]])],
 		  AC_DEFINE(HAVE_STRERROR_R, 1,
 		  [Define if strerror_r is available in <string.h>.]),)
   CFLAGS="$ac_save_CFLAGS"
@@ -3482,7 +3484,7 @@ dnl  _GLIBCXX_USE_DECIMAL_FLOAT
 dnl
 AC_DEFUN([GLIBCXX_ENABLE_DECIMAL_FLOAT], [
 
-  # Fake what AC_TRY_COMPILE does, without linking as this is
+  # Fake what AC_COMPILE_IFELSE does, without linking as this is
   # unnecessary for this test.
 
     cat > conftest.$ac_ext << EOF
@@ -3521,7 +3523,7 @@ AC_DEFUN([GLIBCXX_ENABLE_FLOAT128], [
   AC_LANG_SAVE
   AC_LANG_CPLUSPLUS
 
-  # Fake what AC_TRY_COMPILE does, without linking as this is
+  # Fake what AC_COMPILE_IFELSE does, without linking as this is
   # unnecessary for this test.
 
   cat > conftest.$ac_ext << EOF
@@ -3569,8 +3571,8 @@ AC_DEFUN([GLIBCXX_ENABLE_WCHAR_T], [
   # Test wchar.h for mbstate_t, which is needed for char_traits and fpos.
   AC_CHECK_HEADERS(wchar.h, ac_has_wchar_h=yes, ac_has_wchar_h=no)
   AC_MSG_CHECKING([for mbstate_t])
-  AC_TRY_COMPILE([#include <wchar.h>],
-  [mbstate_t teststate;],
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <wchar.h>]],
+  [[mbstate_t teststate;]])],
   have_mbstate_t=yes, have_mbstate_t=no)
   AC_MSG_RESULT($have_mbstate_t)
   if test x"$have_mbstate_t" = xyes; then
@@ -3588,7 +3590,7 @@ AC_DEFUN([GLIBCXX_ENABLE_WCHAR_T], [
 
     if test x"$ac_has_wchar_h" = xyes &&
        test x"$ac_has_wctype_h" = xyes; then
-      AC_TRY_COMPILE([#include <wchar.h>
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <wchar.h>
 		      #include <stddef.h>
 		      wint_t i;
 		      long l = WEOF;
@@ -3649,7 +3651,7 @@ AC_DEFUN([GLIBCXX_ENABLE_WCHAR_T], [
 			using ::wprintf;
 			using ::wscanf;
 		      }
-		     ],[],[], [enable_wchar_t=no])
+		     ]],[[]])],[], [enable_wchar_t=no])
     else
       enable_wchar_t=no
     fi
@@ -3787,7 +3789,7 @@ AC_DEFUN([GLIBCXX_ENABLE_ATOMIC_BUILTINS], [
     # Compile unoptimized.
     CXXFLAGS='-O0 -S'
 
-    # Fake what AC_TRY_COMPILE does.
+    # Fake what AC_COMPILE_IFELSE does.
 
     cat > conftest.$ac_ext << EOF
 [#]line __oline__ "configure"
@@ -3886,7 +3888,7 @@ AC_DEFUN([GLIBCXX_ENABLE_LOCK_POLICY], [
     dnl Why do we care about 2-byte CAS on targets with 4-byte _Atomic_word?!
     dnl Why don't we check 8-byte CAS for sparc64, where _Atomic_word is long?!
     dnl New targets should only check for CAS for the _Atomic_word type.
-    AC_TRY_COMPILE([
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
     #if defined __AMDGCN__ || defined __nvptx__
     /* Yes, please.  */
     #elif defined __riscv
@@ -3896,7 +3898,7 @@ AC_DEFUN([GLIBCXX_ENABLE_LOCK_POLICY], [
     #elif ! defined __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
     # error "No 4-byte compare-and-swap"
     #endif
-    ],,
+    ]],[])],
     [libstdcxx_atomic_lock_policy=atomic],
     [libstdcxx_atomic_lock_policy=mutex])
     AC_LANG_RESTORE
@@ -3931,9 +3933,10 @@ if test x$enable_libstdcxx_visibility = xyes ; then
 		 glibcxx_cv_have_attribute_visibility, [
   save_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS -Werror"
-  AC_TRY_COMPILE([void __attribute__((visibility("hidden"))) foo(void) { }],
-		 [], glibcxx_cv_have_attribute_visibility=yes,
-		 glibcxx_cv_have_attribute_visibility=no)
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[void __attribute__((visibility("hidden"))) foo(void) { }]],
+		 [[]])],
+		 [glibcxx_cv_have_attribute_visibility=yes],
+		 [glibcxx_cv_have_attribute_visibility=no])
   CFLAGS="$save_CFLAGS"])
   if test $glibcxx_cv_have_attribute_visibility = no; then
     enable_libstdcxx_visibility=no
@@ -4140,9 +4143,11 @@ fi
 
 AC_CACHE_CHECK([whether the target supports .symver directive],
 	       glibcxx_cv_have_as_symver_directive, [
-  AC_TRY_COMPILE([void foo (void); __asm (".symver foo, bar@SYMVER");],
-		 [], glibcxx_cv_have_as_symver_directive=yes,
-		 glibcxx_cv_have_as_symver_directive=no)])
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+		    [[void foo (void); __asm (".symver foo, bar@SYMVER");]],
+		    [[]])],
+		    [glibcxx_cv_have_as_symver_directive=yes],
+		    [glibcxx_cv_have_as_symver_directive=no])])
 if test $glibcxx_cv_have_as_symver_directive = yes; then
   AC_DEFINE(HAVE_AS_SYMVER_DIRECTIVE, 1,
     [Define to 1 if the target assembler supports .symver directive.])
@@ -4178,7 +4183,7 @@ fi
 AC_MSG_CHECKING([for size_t as unsigned int])
 ac_save_CFLAGS="$CFLAGS"
 CFLAGS="-Werror"
-AC_TRY_COMPILE(, [__SIZE_TYPE__* stp; unsigned int* uip; stp = uip;],
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[__SIZE_TYPE__* stp; unsigned int* uip; stp = uip;]])],
 		 [glibcxx_size_t_is_i=yes], [glibcxx_size_t_is_i=no])
 CFLAGS=$ac_save_CFLAGS
 if test "$glibcxx_size_t_is_i" = yes; then
@@ -4189,7 +4194,7 @@ AC_MSG_RESULT([$glibcxx_size_t_is_i])
 AC_MSG_CHECKING([for ptrdiff_t as int])
 ac_save_CFLAGS="$CFLAGS"
 CFLAGS="-Werror"
-AC_TRY_COMPILE(, [__PTRDIFF_TYPE__* ptp; int* ip; ptp = ip;],
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[__PTRDIFF_TYPE__* ptp; int* ip; ptp = ip;]])],
 		 [glibcxx_ptrdiff_t_is_i=yes], [glibcxx_ptrdiff_t_is_i=no])
 CFLAGS=$ac_save_CFLAGS
 if test "$glibcxx_ptrdiff_t_is_i" = yes; then
@@ -4257,8 +4262,8 @@ AC_DEFUN([GLIBCXX_CHECK_GTHREADS], [
 
   AC_MSG_CHECKING([whether it can be safely assumed that mutex_timedlock is available])
 
-  AC_TRY_COMPILE([#include <unistd.h>],
-    [
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <unistd.h>]],
+    [[
       // In case of POSIX threads check _POSIX_TIMEOUTS.
       #if (defined(_PTHREADS) \
 	  && (!defined(_POSIX_TIMEOUTS) || _POSIX_TIMEOUTS <= 0))
@@ -4267,7 +4272,7 @@ AC_DEFUN([GLIBCXX_CHECK_GTHREADS], [
       #elif defined(_WIN32_THREADS)
       #error
       #endif
-    ], [ac_gthread_use_mutex_timedlock=1], [ac_gthread_use_mutex_timedlock=0])
+    ]])], [ac_gthread_use_mutex_timedlock=1], [ac_gthread_use_mutex_timedlock=0])
 
   AC_DEFINE_UNQUOTED(_GTHREAD_USE_MUTEX_TIMEDLOCK, $ac_gthread_use_mutex_timedlock,
 		     [Define to 1 if mutex_timedlock is available.])
@@ -4278,12 +4283,12 @@ AC_DEFUN([GLIBCXX_CHECK_GTHREADS], [
 
   AC_MSG_CHECKING([for gthreads library])
 
-  AC_TRY_COMPILE([#include "gthr.h"],
-    [
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include "gthr.h"]],
+    [[
       #ifndef __GTHREADS_CXX0X
       #error
       #endif
-    ], [ac_has_gthreads=yes], [ac_has_gthreads=no])
+    ]])], [ac_has_gthreads=yes], [ac_has_gthreads=no])
   else
     ac_has_gthreads=no
   fi
@@ -4299,12 +4304,12 @@ AC_DEFUN([GLIBCXX_CHECK_GTHREADS], [
     # On VxWorks for example, pthread_rwlock_t is defined in sys/types.h
     # but the pthread library is not there by default and the gthread library
     # does not use it.
-    AC_TRY_COMPILE([#include "gthr.h"],
-    [
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include "gthr.h"]],
+    [[
       #if (!defined(_PTHREADS))
       #error
       #endif
-    ], [ac_gthread_use_pthreads=yes], [ac_gthread_use_pthreads=no])
+    ]])], [ac_gthread_use_pthreads=yes], [ac_gthread_use_pthreads=no])
     if test x"$ac_gthread_use_pthreads" = x"yes"; then
       AC_CHECK_TYPE([pthread_rwlock_t],
              [AC_DEFINE([_GLIBCXX_USE_PTHREAD_RWLOCK_T], 1,
@@ -4334,8 +4339,9 @@ AC_DEFUN([GLIBCXX_CHECK_GTHREADS], [
 AC_DEFUN([AC_LC_MESSAGES], [
   AC_CHECK_HEADER(locale.h, [
     AC_CACHE_CHECK([for LC_MESSAGES], ac_cv_val_LC_MESSAGES,
-      [AC_TRY_COMPILE([#include <locale.h>], [return LC_MESSAGES],
-       ac_cv_val_LC_MESSAGES=yes, ac_cv_val_LC_MESSAGES=no)])
+      [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+      [[#include <locale.h>]], [[return LC_MESSAGES]])],
+       [ac_cv_val_LC_MESSAGES=yes], [ac_cv_val_LC_MESSAGES=no])])
     if test $ac_cv_val_LC_MESSAGES = yes; then
       AC_DEFINE(HAVE_LC_MESSAGES, 1,
 		[Define if LC_MESSAGES is available in <locale.h>.])
@@ -4352,7 +4358,7 @@ AC_DEFUN([GLIBCXX_CHECK_X86_RDRAND], [
   case "$target" in
     i?86-*-* | \
     x86_64-*-*)
-    AC_TRY_COMPILE(, [asm("rdrand %eax");],
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[asm("rdrand %eax");]])],
 		[ac_cv_x86_rdrand=yes], [ac_cv_x86_rdrand=no])
   esac
   ])
@@ -4371,7 +4377,7 @@ AC_DEFUN([GLIBCXX_CHECK_X86_RDSEED], [
   case "$target" in
     i?86-*-* | \
     x86_64-*-*)
-    AC_TRY_COMPILE(, [asm("rdseed %eax");],
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[asm("rdseed %eax");]])],
 		[ac_cv_x86_rdseed=yes], [ac_cv_x86_rdseed=no])
   esac
   ])
@@ -5160,26 +5166,28 @@ dnl Check how size_t is mangled.  Copied from libitm.
 dnl
 AC_DEFUN([GLIBCXX_CHECK_SIZE_T_MANGLING], [
   AC_CACHE_CHECK([how size_t is mangled],
-                 glibcxx_cv_size_t_mangling, [
-    AC_TRY_COMPILE([], [extern __SIZE_TYPE__ x; extern unsigned long x;],
-                   [glibcxx_cv_size_t_mangling=m], [
-      AC_TRY_COMPILE([], [extern __SIZE_TYPE__ x; extern unsigned int x;],
-                     [glibcxx_cv_size_t_mangling=j], [
-        AC_TRY_COMPILE([],
-                       [extern __SIZE_TYPE__ x; extern unsigned long long x;],
-                       [glibcxx_cv_size_t_mangling=y], [
-          AC_TRY_COMPILE([],
-                         [extern __SIZE_TYPE__ x; extern unsigned short x;],
-                         [glibcxx_cv_size_t_mangling=t], [
-            AC_TRY_COMPILE([],
-                           [extern __SIZE_TYPE__ x; extern __int20 unsigned x;],
+                 glibcxx_cv_size_t_mangling,
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],
+    		   [[extern __SIZE_TYPE__ x; extern unsigned long x;]])],
+                   [glibcxx_cv_size_t_mangling=m],
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],
+      		     [[extern __SIZE_TYPE__ x; extern unsigned int x;]])],
+                     [glibcxx_cv_size_t_mangling=j],
+        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],
+                       [[extern __SIZE_TYPE__ x; extern unsigned long long x;]])],
+                       [glibcxx_cv_size_t_mangling=y],
+          AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],
+                         [[extern __SIZE_TYPE__ x; extern unsigned short x;]])],
+                         [glibcxx_cv_size_t_mangling=t],
+            AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],
+                           [[extern __SIZE_TYPE__ x; extern __int20 unsigned x;]])],
                            [glibcxx_cv_size_t_mangling=u6uint20],
                            [glibcxx_cv_size_t_mangling=x])
-          ])
-        ])
-      ])
-    ])
-  ])
+          )
+        )
+      )
+    )
+  )
   if test $glibcxx_cv_size_t_mangling = x; then
     AC_MSG_ERROR([Unknown underlying type for size_t])
   fi
@@ -5205,11 +5213,11 @@ AC_DEFUN([GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER], [
       *)
         # If the value of this macro changes then we will need to hardcode
         # yes/no here for additional targets based on the original value.
-        AC_TRY_COMPILE([], [
+        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
           #if __GCC_ATOMIC_INT_LOCK_FREE <= 1
           # error atomic int not always lock free
           #endif
-          ],
+          ]])],
           [ac_exception_ptr_since_gcc46=yes],
           [ac_exception_ptr_since_gcc46=no])
         ;;
@@ -5692,9 +5700,10 @@ AC_DEFUN([GLIBCXX_CHECK_ALIGNAS_CACHELINE], [
   AC_LANG_CPLUSPLUS
 
   AC_MSG_CHECKING([whether static objects can be aligned to the cacheline size])
-  AC_TRY_COMPILE(, [struct alignas(__GCC_DESTRUCTIVE_SIZE) Aligned { };
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],
+		[[struct alignas(__GCC_DESTRUCTIVE_SIZE) Aligned { };
 		    alignas(Aligned) static char buf[sizeof(Aligned) * 16];
-		 ], [ac_alignas_cacheline=yes], [ac_alignas_cacheline=no])
+		 ]])], [ac_alignas_cacheline=yes], [ac_alignas_cacheline=no])
   if test "$ac_alignas_cacheline" = yes; then
     AC_DEFINE_UNQUOTED(_GLIBCXX_CAN_ALIGNAS_DESTRUCTIVE_SIZE, 1,
       [Define if global objects can be aligned to
@@ -5718,11 +5727,11 @@ AC_LANG_SAVE
   AC_LANG_CPLUSPLUS
 
   AC_MSG_CHECKING([whether init_priority attribute is supported])
-  AC_TRY_COMPILE(, [
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
   #if ! __has_attribute(init_priority)
   #error init_priority not supported
   #endif
-		 ], [ac_init_priority=yes], [ac_init_priority=no])
+		 ]])], [ac_init_priority=yes], [ac_init_priority=no])
   if test "$ac_init_priority" = yes; then
     AC_DEFINE_UNQUOTED(_GLIBCXX_USE_INIT_PRIORITY_ATTRIBUTE, 1,
       [Define if init_priority should be used for iostream initialization.])
@@ -5743,18 +5752,18 @@ AC_LANG_SAVE
   AC_LANG_CPLUSPLUS
 
   AC_MSG_CHECKING([whether _get_osfhandle is defined in <io.h>])
-  AC_TRY_COMPILE([
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
   #if defined(_WIN32) && !defined(__CYGWIN__)
   # include <stdint.h>
   # include <stdio.h>
   # include <io.h>
   #endif
-  ],[
+  ]],[[
     FILE* file = 0;
     int fd = fileno(file);
     intptr_t crt_handle = _get_osfhandle(fd);
     void* win32_handle = reinterpret_cast<void*>(crt_handle);
-  ], [ac_get_osfhandle=yes], [ac_get_osfhandle=no])
+  ]])], [ac_get_osfhandle=yes], [ac_get_osfhandle=no])
   if test "$ac_get_osfhandle" = yes; then
     AC_DEFINE_UNQUOTED(_GLIBCXX_USE__GET_OSFHANDLE, 1,
       [Define if _get_osfhandle should be used for filebuf::native_handle().])
@@ -5775,17 +5784,17 @@ AC_LANG_SAVE
   AC_LANG_CPLUSPLUS
 
   AC_MSG_CHECKING([whether nl_langinfo_l is defined in <langinfo.h>])
-  AC_TRY_COMPILE([
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
   #include <locale.h>
   #if __has_include(<xlocale.h>)
   # include <xlocale.h>
   #endif
   #include <langinfo.h>
-  ],[
+  ]],[[
     locale_t loc = newlocale(LC_ALL_MASK, "", (locale_t)0);
     const char* enc = nl_langinfo_l(CODESET, loc);
     freelocale(loc);
-  ], [ac_nl_langinfo_l=yes], [ac_nl_langinfo_l=no])
+  ]])], [ac_nl_langinfo_l=yes], [ac_nl_langinfo_l=no])
   AC_MSG_RESULT($ac_nl_langinfo_l)
   if test "$ac_nl_langinfo_l" = yes; then
     AC_DEFINE_UNQUOTED(_GLIBCXX_USE_NL_LANGINFO_L, 1,
@@ -5816,11 +5825,11 @@ AC_DEFUN([GLIBCXX_CHECK_DEBUGGING], [
   esac
 
   AC_MSG_CHECKING([whether ptrace(int, pid_t, int, int) is in <sys/ptrace.h>])
-  AC_TRY_COMPILE([
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
   #include <sys/ptrace.h>
-  ],[
+  ]],[[
     int i = ptrace(PTRACE_TRACEME, (pid_t)0, 1, 0);
-  ], [ac_ptrace=yes], [ac_ptrace=no])
+  ]])], [ac_ptrace=yes], [ac_ptrace=no])
   AC_MSG_RESULT($ac_ptrace)
   if test "$ac_ptrace" = yes; then
     AC_DEFINE_UNQUOTED(_GLIBCXX_USE_PTRACE, 1,
@@ -5842,7 +5851,7 @@ AC_LANG_SAVE
   AC_LANG_CPLUSPLUS
 
   AC_MSG_CHECKING([whether flockfile and putc_unlocked are defined in <stdio.h>])
-  AC_TRY_COMPILE([
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
   #include <stdio.h>
   #if __has_include(<newlib.h>)
   # ifdef __CYGWIN__
@@ -5851,13 +5860,13 @@ AC_LANG_SAVE
   #  error No usable flockfile on most newlib targets
   # endif
   #endif
-  ],[
+  ]],[[
     FILE* f = ::fopen("", "");
     ::flockfile(f);
     ::putc_unlocked(' ', f);
     ::funlockfile(f);
     ::fclose(f);
-  ],[ac_stdio_locking=yes],[ac_stdio_locking=no])
+  ]])],[ac_stdio_locking=yes],[ac_stdio_locking=no])
   AC_MSG_RESULT($ac_stdio_locking)
 
   if test "$ac_stdio_locking" = yes; then
@@ -5866,15 +5875,15 @@ AC_LANG_SAVE
 
     # This is not defined in POSIX, but is present in glibc, musl, and Solaris.
     AC_MSG_CHECKING([whether fwrite_unlocked is defined in <stdio.h>])
-    AC_TRY_COMPILE([
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
     #include <stdio.h>
-    ],[
+    ]],[[
       FILE* f = ::fopen("", "");
       ::flockfile(f);
       ::fwrite_unlocked("", 1, 1, f);
       ::funlockfile(f);
       ::fclose(f);
-    ], [ac_fwrite_unlocked=yes], [ac_fwrite_unlocked=no])
+    ]])], [ac_fwrite_unlocked=yes], [ac_fwrite_unlocked=no])
     AC_MSG_RESULT($ac_fwrite_unlocked)
     if test "$ac_fwrite_unlocked" = yes; then
       AC_DEFINE(HAVE_FWRITE_UNLOCKED, 1,
@@ -5884,14 +5893,14 @@ AC_LANG_SAVE
       case "${target_os}" in
 	gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu)
 	  AC_MSG_CHECKING([for FILE::_IO_write_ptr and <stdio_ext.h>])
-	  AC_TRY_COMPILE([
+	  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
 	  #include <stdio.h>
 	  #include <stdio_ext.h>
 	  extern "C" {
 	   using f1_type = int (*)(FILE*) noexcept;
 	   using f2_type = size_t (*)(FILE*) noexcept;
 	  }
-	  ],[
+	  ]],[[
 	  f1_type twritable = &::__fwritable;
 	  f1_type tblk = &::__flbf; 
 	  f2_type pbufsize = &::__fbufsize;
@@ -5904,7 +5913,7 @@ AC_LANG_SAVE
 	  char*& epptr = f->_IO_buf_end;
 	  ::fflush_unlocked(f);
 	  ::fclose(f);
-	  ], [ac_glibc_stdio=yes], [ac_glibc_stdio=no])
+	  ]])], [ac_glibc_stdio=yes], [ac_glibc_stdio=no])
 	  AC_MSG_RESULT($ac_glibc_stdio)
 	  if test "$ac_glibc_stdio" = yes; then
 	    AC_DEFINE_UNQUOTED(_GLIBCXX_USE_GLIBC_STDIO_EXT, 1,
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index acdec925314..2d725c1bab9 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -16474,7 +16474,7 @@ $as_echo "$glibcxx_cv_atomic_word" >&6; }
     # Compile unoptimized.
     CXXFLAGS='-O0 -S'
 
-    # Fake what AC_TRY_COMPILE does.
+    # Fake what AC_COMPILE_IFELSE does.
 
     cat > conftest.$ac_ext << EOF
 #line 16480 "configure"
@@ -16621,7 +16621,7 @@ $as_echo "mutex" >&6; }
 
 
 
-  # Fake what AC_TRY_COMPILE does, without linking as this is
+  # Fake what AC_COMPILE_IFELSE does, without linking as this is
   # unnecessary for this test.
 
     cat > conftest.$ac_ext << EOF
@@ -16663,7 +16663,7 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 
-  # Fake what AC_TRY_COMPILE does, without linking as this is
+  # Fake what AC_COMPILE_IFELSE does, without linking as this is
   # unnecessary for this test.
 
   cat > conftest.$ac_ext << EOF
@@ -54564,8 +54564,7 @@ $as_echo_n "checking how size_t is mangled... " >&6; }
 if ${glibcxx_cv_size_t_mangling+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -54579,8 +54578,7 @@ _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
   glibcxx_cv_size_t_mangling=m
 else
-
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -54594,8 +54592,7 @@ _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
   glibcxx_cv_size_t_mangling=j
 else
-
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -54609,8 +54606,7 @@ _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
   glibcxx_cv_size_t_mangling=y
 else
-
-          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -54624,8 +54620,7 @@ _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
   glibcxx_cv_size_t_mangling=t
 else
-
-            cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
index 2b1a6ff4193..adfada8be4b 100644
--- a/libstdc++-v3/configure.ac
+++ b/libstdc++-v3/configure.ac
@@ -378,10 +378,10 @@ dnl # rather than hardcoding that information.
       tanhl tanl])
 
     # Support for iconv in newlib is configurable.
-    AC_TRY_COMPILE([#include <newlib.h>], [
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <newlib.h>]], [[
       #ifndef _ICONV_ENABLED
       #error
-      #endif], [ac_newlib_iconv_enabled=yes], [ac_newlib_iconv_enabled=no])
+      #endif]])], [ac_newlib_iconv_enabled=yes], [ac_newlib_iconv_enabled=no])
     if test "$ac_newlib_iconv_enabled" = yes; then
       AC_DEFINE(HAVE_ICONV)
     fi
@@ -461,10 +461,10 @@ dnl # rather than hardcoding that information.
     AC_DEFINE(HAVE_TANHF)
 
     # Support for iconv in picolibc is configurable.
-    AC_TRY_COMPILE([#include <picolibc.h>], [
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <picolibc.h>]], [[
       #ifndef _ICONV_ENABLED
       #error
-      #endif], [ac_picolibc_iconv_enabled=yes], [ac_picolibc_iconv_enabled=no])
+      #endif]])], [ac_picolibc_iconv_enabled=yes], [ac_picolibc_iconv_enabled=no])
     if test "$ac_picolibc_iconv_enabled" = yes; then
       AC_DEFINE(HAVE_ICONV)
     fi
@@ -472,10 +472,10 @@ dnl # rather than hardcoding that information.
     AC_DEFINE(HAVE_MEMALIGN)
 
     # Check for TLS
-    AC_TRY_COMPILE([#include <picolibc.h>], [
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <picolibc.h>]], [[
       #ifndef __THREAD_LOCAL_STORAGE
       #error
-      #endif], [ac_picolibc_tls_enabled=yes], [ac_picolibc_tls_enabled=no])
+      #endif]])], [ac_picolibc_tls_enabled=yes], [ac_picolibc_tls_enabled=no])
     if test "$ac_picolibc_tls_enabled" = yes; then
       AC_DEFINE(HAVE_TLS)
     fi
@@ -548,11 +548,11 @@ case "$target" in
   sparc*-*-linux* | \
   s390*-*-linux* | \
   alpha*-*-linux*)
-  AC_TRY_COMPILE(, [
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
 #if !defined __LONG_DOUBLE_128__ || (defined(__sparc__) && defined(__arch64__))
 #error no need for long double compatibility
 #endif
-  ], [ac_ldbl_compat=yes], [ac_ldbl_compat=no])
+  ]])], [ac_ldbl_compat=yes], [ac_ldbl_compat=no])
   if test "$ac_ldbl_compat" = yes; then
     AC_DEFINE([_GLIBCXX_LONG_DOUBLE_COMPAT],1,
 	      [Define if compatibility should be provided for -mlong-double-64.])
@@ -566,11 +566,11 @@ case "$target" in
                      [ac_ldbl_ieee128_in_libc=no])
         if test $ac_ldbl_ieee128_in_libc = yes; then
           # Determine which long double format is the compiler's default:
-          AC_TRY_COMPILE(, [
+          AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
             #ifndef __LONG_DOUBLE_IEEE128__
             #error compiler defaults to ibm128
             #endif
-          ], [ac_ldbl_ieee128_default=yes], [ac_ldbl_ieee128_default=no])
+          ]])], [ac_ldbl_ieee128_default=yes], [ac_ldbl_ieee128_default=no])
           # Library objects should use default long double format.
           if test "$ac_ldbl_ieee128_default" = yes; then
             LONG_DOUBLE_128_FLAGS="-mno-gnu-attribute"
diff --git a/libstdc++-v3/crossconfig.m4 b/libstdc++-v3/crossconfig.m4
index b3269cb88e0..2f4a6c6da87 100644
--- a/libstdc++-v3/crossconfig.m4
+++ b/libstdc++-v3/crossconfig.m4
@@ -322,15 +322,15 @@ AC_DEFUN([GLIBCXX_CHECK_MATH_DECL], [
     [glibcxx_cv_func_$1_use], [
       AC_LANG_SAVE
       AC_LANG_C
-      AC_TRY_COMPILE([
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
 #include <math.h>
 #ifdef HAVE_IEEEFP_H
 # include <ieeefp.h>
 #endif
 #undef $1
-], [
+]], [[
   void (*f)(void) = (void (*)(void))$1;
-], [glibcxx_cv_func_$1_use=yes
+]])], [glibcxx_cv_func_$1_use=yes
 ], [glibcxx_cv_func_$1_use=no])])
   if test "x$glibcxx_cv_func_$1_use" = xyes; then
     AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_$1]))
diff --git a/libstdc++-v3/linkage.m4 b/libstdc++-v3/linkage.m4
index 29b31447c98..222cc080f3c 100644
--- a/libstdc++-v3/linkage.m4
+++ b/libstdc++-v3/linkage.m4
@@ -14,12 +14,12 @@ AC_DEFUN([GLIBCXX_CHECK_MATH_DECL_1], [
     AC_CACHE_VAL(glibcxx_cv_func_$1_use, [
       AC_LANG_SAVE
       AC_LANG_CPLUSPLUS
-      AC_TRY_COMPILE([#include <math.h>
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <math.h>
 		      #ifdef HAVE_IEEEFP_H
 		      #include <ieeefp.h>
 		      #endif
-		     ],
-                     [ $1(0);],
+		     ]],
+                     [[ $1(0);]])],
                       [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no])
       AC_LANG_RESTORE
     ])
@@ -59,8 +59,8 @@ AC_DEFUN([GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1], [
   AC_CACHE_VAL(glibcxx_cv_func_$2_use, [
     AC_LANG_SAVE
     AC_LANG_CPLUSPLUS
-    AC_TRY_COMPILE([#include <math.h>],
-                   patsubst(funclist,[\w+],[\& (0);]),
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <math.h>]],
+                   patsubst(funclist,[\w+],[\& (0);]))],
                    [glibcxx_cv_func_$2_use=yes],
                    [glibcxx_cv_func_$2_use=no])
     AC_LANG_RESTORE])
@@ -83,8 +83,8 @@ AC_DEFUN([GLIBCXX_CHECK_MATH_DECL_2], [
     AC_CACHE_VAL(glibcxx_cv_func_$1_use, [
       AC_LANG_SAVE
       AC_LANG_CPLUSPLUS
-      AC_TRY_COMPILE([#include <math.h>],
-                     [ $1(0, 0);],
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <math.h>]],
+                     [[ $1(0, 0);]])],
                      [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no])
       AC_LANG_RESTORE
     ])
@@ -124,8 +124,8 @@ AC_DEFUN([GLIBCXX_CHECK_MATH_DECL_3], [
     AC_CACHE_VAL(glibcxx_cv_func_$1_use, [
       AC_LANG_SAVE
       AC_LANG_CPLUSPLUS
-      AC_TRY_COMPILE([#include <math.h>],
-                     [ $1(0, 0, 0);],
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <math.h>]],
+                     [[ $1(0, 0, 0);]])],
                      [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no])
       AC_LANG_RESTORE
     ])
@@ -153,35 +153,6 @@ AC_DEFUN([GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3], [
 ])
 
 
-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 without parameters
-dnl
-dnl GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_0
-AC_DEFUN([GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_0], [
-  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();],
-                     [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
@@ -198,8 +169,8 @@ AC_DEFUN([GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_1], [
     AC_CACHE_VAL(glibcxx_cv_func_$1_use, [
       AC_LANG_SAVE
       AC_LANG_CPLUSPLUS
-      AC_TRY_COMPILE([#include <stdlib.h>],
-                     [ $1(0);],
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>]],
+                     [[ $1(0);]])],
                      [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no])
       AC_LANG_RESTORE
     ])
@@ -227,8 +198,8 @@ AC_DEFUN([GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2], [
     AC_CACHE_VAL(glibcxx_cv_func_$1_use, [
       AC_LANG_SAVE
       AC_LANG_CPLUSPLUS
-      AC_TRY_COMPILE([#include <stdlib.h>],
-                     [ $1(0, 0);],
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>]],
+                     [[ $1(0, 0);]])],
                      [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no])
       AC_LANG_RESTORE
     ])
@@ -256,8 +227,8 @@ AC_DEFUN([GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_3], [
     AC_CACHE_VAL(glibcxx_cv_func_$1_use, [
       AC_LANG_SAVE
       AC_LANG_CPLUSPLUS
-      AC_TRY_COMPILE([#include <stdlib.h>],
-                     [ $1(0, 0, 0);],
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>]],
+                     [[ $1(0, 0, 0);]])],
                      [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no])
       AC_LANG_RESTORE
     ])
-- 
2.43.0



More information about the Libstdc++ mailing list