[PATCH] ldbl-opt: Fix -mlong-double-128 configure test for Clang

Matt Turner mattst88@gmail.com
Sun Jul 26 04:27:37 GMT 2026


The check for -mlong-double-128 support wrapped its test code in
AC_LANG_PROGRAM, which places the body inside main().  The body defines
a function, so it became a nested function definition -- a GCC extension
that Clang does not implement, making the test fail (and thus the whole
build error out) with Clang even though it supports -mlong-double-128.

Use AC_LANG_SOURCE so the function is defined at file scope, matching the
pattern already used by the powerpc64le compiler checks, and regenerate
configure.
---
 sysdeps/ieee754/ldbl-opt/configure    | 7 -------
 sysdeps/ieee754/ldbl-opt/configure.ac | 2 +-
 2 files changed, 1 insertion(+), 8 deletions(-)
 mode change 100644 => 100755 sysdeps/ieee754/ldbl-opt/configure

diff --git ./sysdeps/ieee754/ldbl-opt/configure ./sysdeps/ieee754/ldbl-opt/configure
old mode 100644
new mode 100755
index bc6552da0b..7769cc9781
--- ./sysdeps/ieee754/ldbl-opt/configure
+++ ./sysdeps/ieee754/ldbl-opt/configure
@@ -13,17 +13,10 @@ CFLAGS="$CFLAGS -mlong-double-128"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-int
-main (void)
-{
-
 #ifndef __LONG_DOUBLE_128__
 # error "compiler did not predefine __LONG_DOUBLE_128__ as expected"
 #endif
 long double foobar (long double x) { return x; }
-  ;
-  return 0;
-}
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"
 then :
diff --git ./sysdeps/ieee754/ldbl-opt/configure.ac ./sysdeps/ieee754/ldbl-opt/configure.ac
index 70e3b32dc6..1c500ad581 100644
--- ./sysdeps/ieee754/ldbl-opt/configure.ac
+++ ./sysdeps/ieee754/ldbl-opt/configure.ac
@@ -6,7 +6,7 @@ AC_CACHE_CHECK(whether $CC $CFLAGS supports -mlong-double-128,
 	       libc_cv_mlong_double_128, [dnl
 save_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS -mlong-double-128"
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
 #ifndef __LONG_DOUBLE_128__
 # error "compiler did not predefine __LONG_DOUBLE_128__ as expected"
 #endif
-- 
2.54.0



More information about the Libc-alpha mailing list