bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-tar] GNU tar 1.19 on HP-UX


From: H.Merijn Brand
Subject: Re: [Bug-tar] GNU tar 1.19 on HP-UX
Date: Wed, 17 Oct 2007 05:33:06 +0000

On Tue, 16 Oct 2007 13:34:49 -0700, Paul Eggert <address@hidden> wrote:

> "H.Merijn Brand" <address@hidden> writes:
> 
> > cpp: "xx.c", line 1: warning 2012: Unrepresentable preprocessor number 
> > 9223372036854775807LL
> 
> I installed this patch into gnulib to catch the problem there, too.

Can you give me a snapshot? I'll try again.
If the build succeeds, I can run the test suite.
I remember from 1.18 that it could not finish (on any of the HP-UX's),
but I ran those in parallel with the GNU cpio tests, which might have
been not the best of ideas.

> 2007-10-16  Paul Eggert  <address@hidden>
> 
>       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>.
>       * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
>       * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
> 
> diff --git a/m4/longlong.m4 b/m4/longlong.m4
> index 1f9e862..5799c39 100644
> --- a/m4/longlong.m4
> +++ b/m4/longlong.m4
> @@ -1,5 +1,5 @@
> -# longlong.m4 serial 10
> -dnl Copyright (C) 1999-2006 Free Software Foundation, Inc.
> +# longlong.m4 serial 11
> +dnl Copyright (C) 1999-2007 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.
> @@ -7,8 +7,8 @@ dnl with or without modifications, as long as this notice is 
> preserved.
>  dnl From Paul Eggert.
> 
>  # Define HAVE_LONG_LONG_INT if 'long long int' works.
> -# This fixes a bug in Autoconf 2.60, but can be removed once we
> -# assume 2.61 everywhere.
> +# This fixes a bug in Autoconf 2.61, but can be removed once we
> +# assume 2.62 everywhere.
> 
>  # Note: If the type 'long long int' exists but is only 32 bits large
>  # (as on some very old compilers), HAVE_LONG_LONG_INT will not be
> @@ -19,7 +19,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)
> diff --git a/m4/ulonglong.m4 b/m4/ulonglong.m4
> index 9fae98e..e980789 100644
> --- a/m4/ulonglong.m4
> +++ b/m4/ulonglong.m4
> @@ -1,5 +1,5 @@
> -# ulonglong.m4 serial 6
> -dnl Copyright (C) 1999-2006 Free Software Foundation, Inc.
> +# ulonglong.m4 serial 7
> +dnl Copyright (C) 1999-2007 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.
> @@ -7,8 +7,8 @@ dnl with or without modifications, as long as this notice is 
> preserved.
>  dnl From Paul Eggert.
> 
>  # Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works.
> -# This fixes a bug in Autoconf 2.60, but can be removed once we
> -# assume 2.61 everywhere.
> +# This fixes a bug in Autoconf 2.61, but can be removed once we
> +# assume 2.62 everywhere.
> 
>  # Note: If the type 'unsigned long long int' exists but is only 32 bits
>  # large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT
> @@ -21,7 +21,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;]],
> 


-- 
H.Merijn Brand         Amsterdam Perl Mongers (http://amsterdam.pm.org/)
using & porting perl 5.6.2, 5.8.x, 5.10.x  on HP-UX 10.20, 11.00, 11.11,
& 11.23, SuSE 10.1 & 10.2, AIX 5.2, and Cygwin.       http://qa.perl.org
http://mirrors.develooper.com/hpux/            http://www.test-smoke.org
                        http://www.goldmark.org/jeff/stupid-disclaimers/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]