From 80fbaac4cd1930e9545a5d36bf46ae49011d2ce8 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Wed, 17 Feb 2016 13:53:54 -0500 Subject: [PATCH] make configure attempt to catch broken floating point CFLAGS/defaults --- configure | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/configure b/configure index 248c4500..779a3ef0 100755 --- a/configure +++ b/configure @@ -655,6 +655,16 @@ printf "no\n" fail "$0: error: unsupported long double type" fi +# +# Some build systems globally pass in broken CFLAGS like -ffast-math +# for all packages. On recent GCC we can detect this and error out +# early rather than producing a seriously-broken math library. +# +if trycppif "__FAST_MATH__ || (defined(__GCC_IEC_559) && __GCC_IEC_559==0)" \ + "$CFLAGS_C99FSE $CPPFLAGS $CFLAGS" ; then +fail "$0: error: compiler has broken floating point; check CFLAGS" +fi + printf "creating config.mak... " cmdline=$(quote "$0") -- 2.25.1