X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=m4%2Fsignbit.m4;fp=m4%2Fsignbit.m4;h=9e7884d22a43863416f392d8a20f839228f65c59;hb=a8a88eddaa90432e6ec1b8d9d5c9842bc91afd1d;hp=e42f18319a9711fd2c1c4f66764f69d2d8eec882;hpb=20fcfc81ece044b8b0a6768ec6cf47be4e22a2e6;p=debian%2Fgzip diff --git a/m4/signbit.m4 b/m4/signbit.m4 index e42f183..9e7884d 100644 --- a/m4/signbit.m4 +++ b/m4/signbit.m4 @@ -1,5 +1,5 @@ -# signbit.m4 serial 13 -dnl Copyright (C) 2007-2016 Free Software Foundation, Inc. +# signbit.m4 serial 16 +dnl Copyright (C) 2007-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -29,10 +29,12 @@ AC_DEFUN([gl_SIGNBIT], [gl_cv_func_signbit=yes], [gl_cv_func_signbit=no], [case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_signbit="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_signbit="guessing no" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_signbit="guessing yes" ;; + # Guess yes on native Windows. + mingw*) gl_cv_func_signbit="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_signbit="guessing no" ;; esac ]) ]) @@ -58,10 +60,17 @@ AC_DEFUN([gl_SIGNBIT], [gl_cv_func_signbit_gcc=yes], [gl_cv_func_signbit_gcc=no], [case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_signbit_gcc="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_signbit_gcc="guessing no" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_signbit_gcc="guessing yes" ;; + # Guess yes on mingw, no on MSVC. + mingw*) if test -n "$GCC"; then + gl_cv_func_signbit_gcc="guessing yes" + else + gl_cv_func_signbit_gcc="guessing no" + fi + ;; + # If we don't know, assume the worst. + *) gl_cv_func_signbit_gcc="guessing no" ;; esac ]) ]) @@ -272,6 +281,7 @@ int main () { /* More than one bit difference. */ fprintf (fp, "unknown"); + fclose (fp); return 2; } if (x) @@ -284,6 +294,7 @@ int main () { /* No difference. */ fprintf (fp, "unknown"); + fclose (fp); return 3; } /* Now m = plus.word[k] ^ ~minus.word[k]. */ @@ -292,6 +303,7 @@ int main () /* Oh? The sign bit is set in the positive and cleared in the negative numbers? */ fprintf (fp, "unknown"); + fclose (fp); return 4; } for (i = 0; ; i++)