[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: 3.2 Bug
- From: Luiz Henrique de Figueiredo <lhf@...>
- Date: Wed, 1 Sep 1999 18:10:25 -0300 (EST)
>From lua-l@tecgraf.puc-rio.br Wed Sep 1 17:49:28 1999
>From: Supratik Champati <champati@sofy.com>
>The reason is that initially ls->fs->f->consts is NULL.
>The call checkname(ls) in turn calls next_constant()
>which grows the array.
I think you're right. :-(
checkname(ls) changes ls->fs->f->consts and so the expression
tsvalue(&ls->fs->f->consts[checkname(ls)]);
is undefined because of this side-effect.
It seems that all C compilers we tested (and everybody else!) only get
the value of ls->fs->f->consts *after* checkname returns.
Your compiler in HPUX (which is it?) seems to get the value of ls->fs->f->consts
*before* calling checkname, which I think it can, according to ANSI C rules.
We'll look into it and fix it if it's really wrong.
Thanks.
--lhf