]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
Check for 64-bit int errors in HP-UX 10.20 preprocessor.
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 16 Oct 2007 20:25:57 +0000 (13:25 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 16 Oct 2007 20:25:57 +0000 (13:25 -0700)
Problem reported by H.Merijn Brand in
<http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
* lib/autoconf/types.m4 (AC_TYPE_LONG_LONG_INT):
(AC_TYPE_UNSIGNED_LONG_LONG_INT):
Check that preprocessor handles 64-bit ints, too.

ChangeLog
lib/autoconf/types.m4

index b0f6842aa56f01087dd816386ec44c64b495b62c..101ba00d8df38b1a08614cb106d184cecd3bea68 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Check for 64-bit int errors in HP-UX 10.20 preprocessor.
+       Problem reported by H.Merijn Brand in
+       <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
+       * lib/autoconf/types.m4 (AC_TYPE_LONG_LONG_INT):
+       (AC_TYPE_UNSIGNED_LONG_LONG_INT):
+       Check that preprocessor handles 64-bit ints, too.
+
 2007-10-16  Eric Blake  <ebb9@byu.net>
 
        m4_map is a looping construct.
index 4d92f9b863e3dcb63832f8c54f9fc4d9f20e10a0..f92b29cfac6b7c5f80933baf6d37370b5c877e79 100644 (file)
@@ -1,7 +1,7 @@
 # This file is part of Autoconf.                       -*- Autoconf -*-
 # Type related macros: existence, sizeof, and structure members.
 #
-# Copyright (C) 2000, 2001, 2002, 2004, 2005, 2006 Free Software
+# Copyright (C) 2000, 2001, 2002, 2004, 2005, 2006, 2007 Free Software
 # Foundation, Inc.
 #
 # This program is free software: you can redistribute it and/or modify
@@ -472,7 +472,10 @@ AC_DEFUN([AC_TYPE_LONG_LONG_INT],
   AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int],
     [AC_LINK_IFELSE(
        [AC_LANG_PROGRAM(
-         [[long long int ll = 9223372036854775807ll;
+         [[#if ! (-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
+             error in preprocessor;
+           #endif
+           long long int ll = 9223372036854775807ll;
            long long int nll = -9223372036854775807LL;
            typedef int a[((-9223372036854775807LL < 0
                            && 0 < 9223372036854775807ll)
@@ -522,7 +525,10 @@ AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT],
     [ac_cv_type_unsigned_long_long_int],
     [AC_LINK_IFELSE(
        [AC_LANG_PROGRAM(
-         [[unsigned long long int ull = 18446744073709551615ULL;
+         [[#if ! (18446744073709551615ULL <= -1u)
+             error in preprocessor;
+           #endif
+           unsigned long long int ull = 18446744073709551615ULL;
            typedef int a[(18446744073709551615ULL <= (unsigned long long int) -1
                           ? 1 : -1)];
           int i = 63;]],