Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: 4.1.1 doesn't compile
- X-seq: zsh-workers 18634
- From: Tomi Vainio - Sun Finland <Tomi.Vainio@xxxxxxx>
- To: Oliver Kiddle <okiddle@xxxxxxxxxxx>
- Subject: Re: 4.1.1 doesn't compile
- Date: Wed, 25 Jun 2003 16:04:42 +0300
- Cc: zsh-workers@xxxxxxxxxx
- In-reply-to: <16121.36471.200540.460093@xxxxxxxxxxxxxxxxxxxxxxxx>
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
- References: <16120.21181.974421.168422@xxxxxxxxxxxxxxxxxxxxxxxx> <13714.1056468548@xxxxxxxxxxx> <16121.23378.685635.437515@xxxxxxxxxxxxxxxxxxxxxxxx> <21028.1056534512@xxxxxxxxxxx> <16121.36471.200540.460093@xxxxxxxxxxxxxxxxxxxxxxxx>
- Reply-to: Tomi.Vainio@xxxxxxx
> Oliver Kiddle writes:
> Tomi Vainio - Sun Finland wrote:
> > I also found another problem but this time only when I try to compile
> > 32bit binary.
> >
> > Compiler is Sun ONE Studio 8, Compiler Collection
> cc: Sun C 5.5 Patch 112760-01 2003/05/18
> >
> > cc -c -I. -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CONFIG_H -xO4 -o compat.o compat.c
> > "compat.c", line 441: variable length array can not be declared with a static storage class: llbuf
> > cc: acomp failed for compat.c
>
> This I can't reproduce. The compiler I have is older than that.
>
> The line in question is:
> static char llbuf[DIGBUFSIZE];
> and system.h defines:
> #define DIGBUFSIZE ((int)(((sizeof(zlong) * 8) - 1) * 0.30103) + 3)
>
> So quite why the compiler thinks it has a variable length array I
> don't understand. Could you perhaps try substituting that in directly
> and see if you can tweak it to work. The int cast might be causing the
> problem in which case the * 0.30103 could perhaps be changed to * 30103
> / 100000. But I don't understand what the calculation is doing. Anyone
> else have any idea?
>
I found our bug report about this same thing. There is a lot of talk
about C90 and C99 standards and how this should really work.
BugID 4800684 compiler treats a usual array as VLA
4841119 zsh needs a minor fix to build with latest k2 compiler
Work Around
Use -xc99=%none options if C99 features are not required.
or
system.h line 421
- #define DIGBUFSIZE ((int)(((sizeof(zlong) * 8) - 1) * 0.30103) + 3)
+ #define DIGBUFSIZE ((int)(((sizeof(zlong) * 8) - 1) * 30103/100000) + 3)
Tomppa
Messages sorted by:
Reverse Date,
Date,
Thread,
Author