[glibc/release/2.44/master] 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=eacd9cced93498e671c7e7f758aaf52593847e01 commit eacd9cced93498e671c7e7f758aaf52593847e01 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]> (cherry picked from commit 559d0f77f3ee1000cf8a2d0baba7a59a1ec45f50) 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