[PATCH] powerpc: Fix -mlong-double-128 IBM format configure test for Clang
Sam James
sam@gentoo.org
Thu Aug 6 22:11:10 GMT 2026
Matt Turner <mattst88@gmail.com> writes:
> 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 <sam@gentoo.org>
> ---
> sysdeps/unix/sysv/linux/powerpc/configure | 8 +-------
> sysdeps/unix/sysv/linux/powerpc/configure.ac | 3 ++-
> 2 files changed, 3 insertions(+), 8 deletions(-)
>
> diff --git ./sysdeps/unix/sysv/linux/powerpc/configure ./sysdeps/unix/sysv/linux/powerpc/configure
> index ef2055db92..eb8578404f 100644
> --- ./sysdeps/unix/sysv/linux/powerpc/configure
> +++ ./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 ./sysdeps/unix/sysv/linux/powerpc/configure.ac ./sysdeps/unix/sysv/linux/powerpc/configure.ac
> index 42347a66fc..ca0f82da08 100644
> --- ./sysdeps/unix/sysv/linux/powerpc/configure.ac
> +++ ./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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 418 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/libc-alpha/attachments/20260806/eb3ca9f6/attachment.sig>
More information about the Libc-alpha
mailing list