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

Sam James via Glibc-cvs <[email protected]>
Newsgroups gmane.comp.lib.glibc.cvs
Message-ID <[email protected]>
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=e7a14f03b8d5e34e8ac46db6c377da5c66a3ec2a

commit e7a14f03b8d5e34e8ac46db6c377da5c66a3ec2a
Author: Matt Turner <[email protected]>
Date:   Sun Jul 26 00:27:37 2026 -0400

    ldbl-opt: Fix -mlong-double-128 configure test for Clang
    
    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.
    
    Reviewed-by: Sam James <[email protected]>

Diff:
---
 sysdeps/ieee754/ldbl-opt/configure    | 7 -------
 sysdeps/ieee754/ldbl-opt/configure.ac | 2 +-
 2 files changed, 1 insertion(+), 8 deletions(-)

diff --git a/sysdeps/ieee754/ldbl-opt/configure b/sysdeps/ieee754/ldbl-opt/configure
old mode 100644
new mode 100755
index bc6552da0b..7769cc9781
--- a/sysdeps/ieee754/ldbl-opt/configure
+++ b/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 a/sysdeps/ieee754/ldbl-opt/configure.ac b/sysdeps/ieee754/ldbl-opt/configure.ac
index 70e3b32dc6..1c500ad581 100644
--- a/sysdeps/ieee754/ldbl-opt/configure.ac
+++ b/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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.