>>> Would (&(e)-1) solve that?
>>
>> No, because that's an invalid expression: it normally has undefined
>> behavior, and 'lint' is within its rights to warn about it.
>
> Invalid seems like a strong word. You mean that some lint
> implementations warn about pointer arithmetic on locals and params?

I meant that the expression causes the code to fail to conform to the
C standard.  The C Standard prohibits a program from subtracting 1
from a pointer to the start of an object.  Not only might some lint
implementations warn about it, but (worse) some uses of the parser
might crash.

>> Why can't we simply rewrite the code so that it doesn't declare
>> unused variables?
>
> Is that computable in general?

Not with the current architecture, no.  Not enough information is
available.  We'd have to change the design slightly.

> perhaps the static global would be a reasonable temporary
> solution...

I'd rather have something simpler.  The static global is asking for
trouble.  It'd be better just to tell people to not use 'lint'.


_______________________________________________
Help-bison@gnu.org http://lists.gnu.org/mailman/listinfo/help-bison

Reply via email to