Re: [PATCH] ldbl-opt: Fix -mlong-double-128 configure test for Clang
Sam James <[email protected]> Thu, 06 Aug 2026 23:11:33 +0100
| Newsgroups | gmane.comp.lib.glibc.alpha |
|---|---|
| Organization | Gentoo |
| Message-ID | <[email protected]> |
Matt Turner <[email protected]> writes: > 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]> > --- > 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
signature.asc
(application/pgp-signature, 418 B)
-----BEGIN PGP SIGNATURE----- iQEBBAEWCgCpFiEEJaa7iN2bdkxrVUHCc4QJ9SDfkZAFAmp1BpUbFIAAAAAABAAO bWFudTIsMi41KzEuMTIsMiwyXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25z Lm9wZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQyNUE2QkI4OEREOUI3NjRDNkI1NTQx QzI3Mzg0MDlGNTIwREY5MTkwDxxzYW1AZ2VudG9vLm9yZwAKCRBzhAn1IN+RkHjH APkBpXw2lvOLLjUG142/evCYrF3dfTOUzwPLtwtKzh9onQD+Ku/G65vmra64vDSF ICFOi8FqBK3BfhV34qQnLrl71wE= =36Q7 -----END PGP SIGNATURE-----