mirror of
git://git.sv.gnu.org/autoconf
synced 2025-01-06 10:25:53 +08:00
* lib/autoconf/types.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by Matthew Woehlke.
This commit is contained in:
parent
a015d2f327
commit
4bb5b9260b
@ -1,3 +1,9 @@
|
||||
2006-11-07 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
* lib/autoconf/types.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
|
||||
Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
|
||||
Matthew Woehlke.
|
||||
|
||||
2006-10-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
* tests/torture.at (Configuring subdirectories): Do not skip
|
||||
|
@ -480,10 +480,34 @@ AC_DEFUN([AC_TYPE_LONG_LONG_INT],
|
||||
int i = 63;]],
|
||||
[[long long int llmax = 9223372036854775807ll;
|
||||
return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
|
||||
| llmax / ll | llmax % ll);]])],
|
||||
[ac_cv_type_long_long_int=yes],
|
||||
| (llmax / ll) | (llmax % ll));]])],
|
||||
[dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004.
|
||||
dnl If cross compiling, assume the bug isn't important, since
|
||||
dnl nobody cross compiles for this platform as far as we know.
|
||||
AC_RUN_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[@%:@include <limits.h>
|
||||
@%:@ifndef LLONG_MAX
|
||||
@%:@ define HALF \
|
||||
(1LL << (sizeof (long long int) * CHAR_BIT - 2))
|
||||
@%:@ define LLONG_MAX (HALF - 1 + HALF)
|
||||
@%:@endif]],
|
||||
[[long long int n = 1;
|
||||
int i;
|
||||
for (i = 0; ; i++)
|
||||
{
|
||||
long long int m = n << i;
|
||||
if (m >> i != n)
|
||||
return 1;
|
||||
if (LLONG_MAX / 2 < m)
|
||||
break;
|
||||
}
|
||||
return 0;]])],
|
||||
[ac_cv_type_long_long_int=yes],
|
||||
[ac_cv_type_long_long_int=no],
|
||||
[ac_cv_type_long_long_int=cross-compiling])],
|
||||
[ac_cv_type_long_long_int=no])])
|
||||
if test $ac_cv_type_long_long_int = yes; then
|
||||
if test $ac_cv_type_long_long_int != no; then
|
||||
AC_DEFINE([HAVE_LONG_LONG_INT], 1,
|
||||
[Define to 1 if the system has the type `long long int'.])
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user