When compiling a Bison generated parser with some of gcc's warnings switched on, it produces quite some noise:
QueryTransformParser.cpp:1122:1: warning: macro "YYNNTS" is not used QueryTransformParser.cpp:2094:1: warning: macro "yyerrok" is not used QueryTransformParser.cpp:1126:1: warning: macro "YYNSTATES" is not used QueryTransformParser.cpp:59:1: warning: macro "YYLSP_NEEDED" is not used QueryTransformParser.cpp:2138:1: warning: macro "YYRHSLOC" is not used QueryTransformParser.cpp:2110:1: warning: macro "YYRECOVERING" is not used QueryTransformParser.cpp:47:1: warning: macro "YYBISON" is not used QueryTransformParser.cpp:2108:1: warning: macro "YYFAIL" is not used QueryTransformParser.cpp:50:1: warning: macro "YYBISON_VERSION" is not used QueryTransformParser.cpp:56:1: warning: macro "YYPURE" is not used QueryTransformParser.cpp:67:1: warning: macro "yydebug" is not used QueryTransformParser.cpp:2101:1: warning: macro "YYERROR" is not used QueryTransformParser.cpp:1124:1: warning: macro "YYNRULES" is not used QueryTransformParser.cpp:2112:1: warning: macro "YYBACKUP" is not used QueryTransformParser.cpp:2362:1: warning: macro "YYMAXDEPTH" is not used QueryTransformParser.cpp:2095:1: warning: macro "yyclearin" is not used QueryTransformParser.cpp:53:1: warning: macro "YYSKELETON_NAME" is not used QueryTransformParser.cpp:2131:1: warning: macro "YYERRCODE" is not used QueryTransformParser.cpp:2166:1: warning: macro "YY_LOCATION_PRINT" is not used QueryTransformParser.cpp:2140:1: warning: macro "YYLLOC_DEFAULT" is not used QueryTransformParser.cpp: In function 'unsigned int yysyntax_error(char*, int, int)': QueryTransformParser.cpp:2484: warning: use of old-style cast QueryTransformParser.cpp:2549: warning: use of old-style cast QueryTransformParser.cpp: In function 'int XPathparse(Patternist::ParserContext*)': QueryTransformParser.cpp:2841: warning: use of old-style cast QueryTransformParser.cpp:5517: warning: use of old-style cast QueryTransformParser.cpp:5520: warning: use of old-style cast QueryTransformParser.cpp:5521: warning: use of old-style cast QueryTransformParser.cpp:5524: warning: use of old-style cast I'm wondering, could Bison be patched up to add defines such that they're considered used, or to not be defined at all? I doubt the C-style cast warnings could be fixed, unless it's somehow known that it's being compiled as C++ code. Cheers, Frans