[glibc] powerpc: Fix -mlong-double-128 IBM format 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=559d0f77f3ee1000cf8a2d0baba7a59a1ec45f50

commit 559d0f77f3ee1000cf8a2d0baba7a59a1ec45f50
Author: Matt Turner <[email protected]>
Date:   Sun Jul 26 14:43:11 2026 -0400

    powerpc: Fix -mlong-double-128 IBM format configure test for Clang
    
    The check for -mlong-double-128 IBM extended format 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 with
    Clang.
    
    Use AC_LANG_SOURCE so the function is defined at file scope, and
    regenerate configure.
    
    Reviewed-by: Sam James <[email protected]>

Diff:
---
 sysdeps/unix/sysv/linux/powerpc/configure    | 8 +-------
 sysdeps/unix/sysv/linux/powerpc/configure.ac | 3 ++-
 2 files changed, 3 insertions(+), 8 deletions(-)

diff --git a/sysdeps/unix/sysv/linux/powerpc/configure b/sysdeps/unix/sysv/linux/powerpc/configure
index ef2055db92..eb8578404f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/configure
+++ b/sysdeps/unix/sysv/linux/powerpc/configure
@@ -12,18 +12,12 @@ else case e in #(
 CFLAGS="$CFLAGS -mlong-double-128"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <float.h>
-int
-main (void)
-{
 
+#include <float.h>
 #if LDBL_MANT_DIG != 106
 # error "compiler doesn't implement IBM extended format of long double"
 #endif
 long double foobar (long double x) { return x; }
-  ;
-  return 0;
-}
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"
 then :
diff --git a/sysdeps/unix/sysv/linux/powerpc/configure.ac b/sysdeps/unix/sysv/linux/powerpc/configure.ac
index 42347a66fc..ca0f82da08 100644
--- a/sysdeps/unix/sysv/linux/powerpc/configure.ac
+++ b/sysdeps/unix/sysv/linux/powerpc/configure.ac
@@ -6,7 +6,8 @@ AC_CACHE_CHECK(whether $CC $CFLAGS -mlong-double-128 uses IBM extended format,
 	       libc_cv_mlong_double_128ibm, [dnl
 save_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS -mlong-double-128"
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <float.h>]], [[
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+#include <float.h>
 #if LDBL_MANT_DIG != 106
 # error "compiler doesn't implement IBM extended format of long double"
 #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.