Hi Paul, There are plenty of ARGSUSED in the generated code. This dates back to
commit 12ce2df60d16961eaa03a5aa009eeaa645e4e1cb Author: Paul Eggert <[email protected]> Date: Fri Dec 9 22:14:36 2005 +0000 Cleanups so that Bison-generated parsers have less lint. * data/c.m4 (b4_yydestruct_generate, b4_yysymprint_generate): Prepend /*ARGSUSED*/, for lint's sake. * data/glr.c (YYUSE): Properly parenthesize, and use an alternate definition if 'lint' is defined. (YYID): New macro (or function, if lint). All uses of /*CONSTCOND*/0 replaced by YYID(0). * data/yacc.c: Likewise. * data/glr.c (yyuserAction, yyuserMerge, yy_reduce_print): (yyrecoverSyntaxError): Prepend /*ARGSUSED*/. * data/glr.cc (YYLLOC_DEFAULT): Omit /*CONSTCOND*/ since this code is C++ only. * data/lalr1.cc (YYUSE): Just use a cast, since this code is C++ only. * data/yacc.c (YYSTACK_FREE) [defined YYSTACK_ALLOC]: Use YYID(0) rather than 0, for lint. (yystrlen): Rewrite to avoid lint warning about ptrdiff_t overflow. (yysyntax_error): Rewrite to avoid lint warnings about parenthesization. Do you think this is still needed? In particular we now use consistently YYUSE to "use" (cast to void) arguments that might not be used.
