>>> 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