bug-autoconf
[Top][All Lists]
Advanced

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

Re: autoconf-2.52g on HP-UX (was: bison 1.32)


From: H.Merijn Brand
Subject: Re: autoconf-2.52g on HP-UX (was: bison 1.32)
Date: Thu, 31 Jan 2002 12:01:42 +0100

On Thu 31 Jan 2002 00:17, Paul Eggert <address@hidden> wrote:
> > From: Akim Demaille <address@hidden>
> > Date: 29 Jan 2002 18:43:37 +0100
> 
> > Paul, what would you suggest?  Testing the cross-compilation code only
> > for GCC seems to make sense to me.
> 
> That seems a bit strong, as other compilers can cross-compile.
> Before doing that, I'd like to try to fix the underlying problem with
> HP-UX's C compiler, as I expect it may break other things too.
> 
> Currently the autoconf source code says this:
> 
>   # The cast to unsigned long works around a bug in the HP C Compiler
>   # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects

It also fails with the same reason on 10.20 (HP92453-01 A.10.32.30 HP C 
Compiler)

>   # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
>   # This bug is HP SR number 8606223364.

Do you know if the report is available on SUM, or only to the reporting
customer? If public, through what interface?

> My guess is that this known HP bug is related to the problem that
> Mr. Brand is observing.  Mr. Brand's log indicates that Autoconf is
> trying to compile a program like this:
> 
>    int main () {
>      static int test_array [1 - 2 * !(((unsigned long) (sizeof (unsigned 
> char))) >= 0)];
>      test_array [0] = 0;
>      return 0;
>    }
> 
> This is portable standard C code, but if my guess is correct, it fails
> for some reason on the HP-UX compiler.
> 
> I have three requests for Mr. Brand:
> 
> 1.  The part of the log that I saw in Akim's email actually said "<"
>     instead of ">=", but I'm guessing that a previous entry in the log
>     said ">=", as Autoconf tries that first.  Can you please verify
>     this guess?  You should be able to find something like the above
>     program in your config.log already, and config.log should already
>     report a failure for the above compilation.

Could you please be more specific.

a5:/pro/3gl/GNU/autoconf-2.52g 109 > egrep '(<|>)' */*.log
| 2002-01-24  Akim Demaille  <address@hidden>
| 2002-01-24  Akim Demaille  <address@hidden>
| 2002-01-24  Akim Demaille  <address@hidden>
a5:/pro/3gl/GNU/autoconf-2.52g 110 >

> 2.  Can you please verify the above program indeed fails when you
>     compile it by hand?  Please compile it as follows:
> 
>       cc -c -Ae +O2 +Onolimit +DAportable -I/pro/local/include 
> -I/usr/include/X11R6 conftest.c

l1:/tmp 110 > cat conftest.c
int main ()
{
    static int test_array [1 - 2 * !(((unsigned long) (sizeof (unsigned char))) 
>= 0)];
    test_array[0] = 0;
    return (0);
    } /* main */
l1:/tmp 111 > cc -c -Ae +O2 +Onolimit +DAportable -I/pro/local/include 
-I/usr/include/X11R6 conftest.c
cc: "conftest.c", line 3: error 1879: Variable-length arrays cannot have static 
storage.
Exit 1
l1:/tmp 112 >

> 3.  Assuming the above program does not compile for you,
>     can you please try compiling the following instead?
>     Please use the same command line:
> 
>       int main () {
>       static unsigned char uc;
>       static int test_array[1 - 2 * !((sizeof uc) >= 0)];
>       test_array [0] = 0;
>       return 0;
>       }

l1:/tmp 115 > cat conftest2.c
int main ()
{
    static unsigned char uc;
    static int test_array[1 - 2 * !((sizeof uc) >= 0)];
    test_array[0] = 0;
    return (0);
    } /* main */
l1:/tmp 116 > cc -c -Ae +O2 +Onolimit +DAportable -I/pro/local/include 
-I/usr/include/X11R6 conftest2.c
cc: "conftest2.c", line 4: error 1879: Variable-length arrays cannot have 
static storage.
Exit 1
l1:/tmp 117 >

> If (3) compiles, then we can work around the HP-UX cc bugs by changing
> Autoconf to use (3)'s form.

So that's a no-go for the moment

I've just installed patch 25985, which is the latest C-ANSI-C update (posted
29-01-2002, so pretty recent), but the results are the same

Unpatched standard 11.11.04 distribution:

l1:/u/usr/merijn 103 > what /opt/langtools/lbin/*
/opt/langtools/lbin/cpp:
        HP92453-01 B.11.11.04 HP C Preprocessor
         $   Sep  8 2000 23:13:51 $
/opt/langtools/lbin/cpp.ansi:
        HP92453-01 B.11.11.04 HP C Preprocessor (ANSI)
         $   Sep  8 2000 23:13:51 $
/opt/langtools/lbin/lex:
/opt/langtools/lbin/softwdb:
/opt/langtools/lbin/ucomp:
         HP-UX UCOMP UX.11.01.62: 09/03/01
         HP-UX SLLIC/OPTIMIZER UX.11.01.273: 09/03/01
        HP aC++ B3910B A.01.01 Stream Library
        HP aC++ B3910B A.03.04 (970930) Support Library
         Ucode Code Generator - UX11.01.41 (PACG Sep 03, 2001)
         High Level Optimizer - UX.11.00.010903 (UX11.01-CURRENT) [-DHLO_RELEASE
 +noeh -z +O2 +Oinitcheck] - 04-Sep-2001.10:34
         Ucode-2 - UCODE2_UX11.01_STABLE(v2.1) (October 19, 1998)
         Internal_Unsupported_Version libc.a_ID@@/main/r10dav/libc_dav/libc_dav_
cpe/eso_raghud_raghud_1020_test_br/1
         /ux/core/libs/libc/archive_pa1/libc.a_ID
         Apr  6 2001 21:06:17
/opt/langtools/lbin/yaccpar:
         $Revision: 70.7 $ */
l1:/u/usr/merijn 104 > what /opt/ansic/bin/*
/opt/ansic/bin/c89:
        LINT B.11.11.04 CXREF B.11.11.04
        HP92453-01 B.11.11.04 HP C Compiler
         $   Sep  8 2000 23:13:51 $
/opt/ansic/bin/cb:
        A.11.11.04 HP C LANGUAGE TOOL (CB) 300501
/opt/ansic/bin/cc:
        LINT B.11.11.04 CXREF B.11.11.04
        HP92453-01 B.11.11.04 HP C Compiler
         $   Sep  8 2000 23:13:51 $
/opt/ansic/bin/cflow:
         A.11.11.04 HP C LANGUAGE TOOL (CFLOW) 300501
/opt/ansic/bin/cxref:
        A.11.11.04 HP C LANGUAGE TOOL (CXREF) 300501
/opt/ansic/bin/endif:
         A.11.11.04 HP C LANGUAGE TOOL (ENDIF) 300501
/opt/ansic/bin/lint:
         A.11.11.04 HP C LANGUAGE TOOL (LINT) 300501
/opt/ansic/bin/protogen:
        A.11.11.04 HP C LANGUAGE TOOL (PROTOGEN) 300501
l1:/u/usr/merijn 105 > cksum /opt/ansic/bin/* /opt/langtools/lbin/*
2908667209 606208 /opt/ansic/bin/c89
755248491 32768 /opt/ansic/bin/cb
2908667209 606208 /opt/ansic/bin/cc
2322705649 2913 /opt/ansic/bin/cflow
3915286130 24576 /opt/ansic/bin/cxref
1115246649 1944 /opt/ansic/bin/endif
2180343270 10406 /opt/ansic/bin/lint
4019640467 49152 /opt/ansic/bin/protogen
3711384238 548864 /opt/langtools/lbin/cpp
2672350266 548864 /opt/langtools/lbin/cpp.ansi
910665640 96 /opt/langtools/lbin/lex
1229502870 850 /opt/langtools/lbin/softwdb
2657020619 8556544 /opt/langtools/lbin/ucomp
475403456 12650 /opt/langtools/lbin/yaccpar
l1:/u/usr/merijn 106 > ll /opt/ansic/bin/* /opt/langtools/lbin/*
   2090 -r-xr-xr-x   2 bin      bin        606208 Sep 20 22:38 
/opt/ansic/bin/c89
   1051 -r-xr-xr-x   1 bin      bin         32768 Sep 20 22:39 /opt/ansic/bin/cb
   2090 -r-xr-xr-x   2 bin      bin        606208 Sep 20 22:38 /opt/ansic/bin/cc
   1052 -r-xr-xr-x   1 bin      bin          2913 Sep 20 22:39 
/opt/ansic/bin/cflow
   1053 -r-xr-xr-x   1 bin      bin         24576 Sep 20 22:39 
/opt/ansic/bin/cxref
   1054 -r-xr-xr-x   1 bin      bin          1944 Sep 20 22:39 
/opt/ansic/bin/endif
   1055 -r-xr-xr-x   1 bin      bin         10406 Sep 20 22:39 
/opt/ansic/bin/lint
   1056 -r-xr-xr-x   1 bin      bin         49152 Sep 20 22:39 
/opt/ansic/bin/protogen
   1085 -r-xr-xr-x   1 bin      bin        548864 Sep 20 22:38 
/opt/langtools/lbin/cpp
   1086 -r-xr-xr-x   1 bin      bin        548864 Sep 20 22:38 
/opt/langtools/lbin/cpp.ansi
   3627 -r-xr-xr-x   1 bin      bin           850 Sep 20 22:40 
/opt/langtools/lbin/softwdb
    942 -r-xr-xr-x   1 bin      bin       8556544 Jan 18 10:48 
/opt/langtools/lbin/ucomp
   1090 -r--r--r--   1 bin      bin         12650 Sep 20 22:38 
/opt/langtools/lbin/yaccpar

And with the 25985 patch:

a5:/l1/wrk/update 120 # what /opt/langtools/lbin/*
/opt/langtools/lbin/cpp:
        HP92453-01 B.11.11.04 HP C Preprocessor
         $   Sep  8 2000 23:13:51 $
/opt/langtools/lbin/cpp.ansi:
        HP92453-01 B.11.11.04 HP C Preprocessor (ANSI)
         $   Sep  8 2000 23:13:51 $
/opt/langtools/lbin/lex:
/opt/langtools/lbin/softwdb:
/opt/langtools/lbin/ucomp:
         HP-UX UCOMP UX.11.01.62: 09/03/01
         HP-UX SLLIC/OPTIMIZER UX.11.01.273: 09/03/01
        HP aC++ B3910B A.01.01 Stream Library
        HP aC++ B3910B A.03.04 (970930) Support Library
         Ucode Code Generator - UX11.01.41 (PACG Sep 03, 2001)
         High Level Optimizer - UX.11.00.010903 (UX11.01-CURRENT) [-DHLO_RELEASE
 +noeh -z +O2 +Oinitcheck] - 04-Sep-2001.10:34
         Ucode-2 - UCODE2_UX11.01_STABLE(v2.1) (October 19, 1998)
         Internal_Unsupported_Version libc.a_ID@@/main/r10dav/libc_dav/libc_dav_
cpe/eso_raghud_raghud_1020_test_br/1
         /ux/core/libs/libc/archive_pa1/libc.a_ID
         Apr  6 2001 21:06:17
/opt/langtools/lbin/yaccpar:
         $Revision: 70.7 $ */
a5:/l1/wrk/update 121 # what /opt/ansic/bin/*
/opt/ansic/bin/c89:
        LINT B.11.11.04 CXREF B.11.11.04
        HP92453-01 B.11.11.25985.GP HP C Compiler
         $   Sep  8 2000 23:13:51 $
/opt/ansic/bin/cb:
        A.11.11.04 HP C LANGUAGE TOOL (CB) 300501
/opt/ansic/bin/cc:
        LINT B.11.11.04 CXREF B.11.11.04
        HP92453-01 B.11.11.25985.GP HP C Compiler
         $   Sep  8 2000 23:13:51 $
/opt/ansic/bin/cflow:
         A.11.11.04 HP C LANGUAGE TOOL (CFLOW) 300501
/opt/ansic/bin/cxref:
        A.11.11.04 HP C LANGUAGE TOOL (CXREF) 300501
/opt/ansic/bin/endif:
         A.11.11.04 HP C LANGUAGE TOOL (ENDIF) 300501
/opt/ansic/bin/lint:
         A.11.11.04 HP C LANGUAGE TOOL (LINT) 300501
/opt/ansic/bin/protogen:
        A.11.11.04 HP C LANGUAGE TOOL (PROTOGEN) 300501
a5:/l1/wrk/update 122 # cksum /opt/ansic/bin/* /opt/langtools/lbin/*
1335626489 602112 /opt/ansic/bin/c89
755248491 32768 /opt/ansic/bin/cb
1335626489 602112 /opt/ansic/bin/cc
2322705649 2913 /opt/ansic/bin/cflow
3915286130 24576 /opt/ansic/bin/cxref
1115246649 1944 /opt/ansic/bin/endif
2180343270 10406 /opt/ansic/bin/lint
4019640467 49152 /opt/ansic/bin/protogen
3711384238 548864 /opt/langtools/lbin/cpp
2672350266 548864 /opt/langtools/lbin/cpp.ansi
916382150 96 /opt/langtools/lbin/lex
1229502870 850 /opt/langtools/lbin/softwdb
2657020619 8556544 /opt/langtools/lbin/ucomp
475403456 12650 /opt/langtools/lbin/yaccpar
a5:/l1/wrk/update 123 # ll /opt/ansic/bin/* /opt/langtools/lbin/*
   3584 -r-xr-xr-x   1 bin      bin        602112 Jan 23 18:06 
/opt/ansic/bin/c89
   1094 -r-xr-xr-x   1 bin      bin         32768 Sep 20 22:39 /opt/ansic/bin/cb
   3493 -r-xr-xr-x   1 bin      bin        602112 Jan 23 18:06 /opt/ansic/bin/cc
   1095 -r-xr-xr-x   1 bin      bin          2913 Sep 20 22:39 
/opt/ansic/bin/cflow
   1096 -r-xr-xr-x   1 bin      bin         24576 Sep 20 22:39 
/opt/ansic/bin/cxref
   1097 -r-xr-xr-x   1 bin      bin          1944 Sep 20 22:39 
/opt/ansic/bin/endif
   1098 -r-xr-xr-x   1 bin      bin         10406 Sep 20 22:39 
/opt/ansic/bin/lint
   1099 -r-xr-xr-x   1 bin      bin         49152 Sep 20 22:39 
/opt/ansic/bin/protogen
   1114 -r-xr-xr-x   1 bin      bin        548864 Sep 20 22:38 
/opt/langtools/lbin/cpp
   1115 -r-xr-xr-x   1 bin      bin        548864 Sep 20 22:38 
/opt/langtools/lbin/cpp.ansi
   6999 -r-xr-xr-x   1 bin      bin           850 Sep 20 22:40 
/opt/langtools/lbin/softwdb
   1034 -r-xr-xr-x   1 bin      bin       8556544 Jan 18 10:12 
/opt/langtools/lbin/ucomp
   1119 -r--r--r--   1 bin      bin         12650 Sep 20 22:38 
/opt/langtools/lbin/yaccpar

-- 
H.Merijn Brand        Amsterdam Perl Mongers (http://amsterdam.pm.org/)
using perl-5.6.1, 5.7.2 & 631 on HP-UX 10.20 & 11.00, AIX 4.2, AIX 4.3,
  WinNT 4, Win2K pro & WinCE 2.11.  Smoking perl CORE: address@hidden
http://archives.develooper.com/address@hidden/   address@hidden
send smoke reports to: address@hidden, QA: http://qa.perl.org




reply via email to

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