diff --git a/doc/bison.texi b/doc/bison.texi index 9f16f730..2882506b 100644 --- a/doc/bison.texi +++ b/doc/bison.texi @@ -11399,6 +11399,12 @@ parser's to get the set of defined tokens. # undef yywrap # define yywrap() 1 +// Pacify warnings in yy_init_buffer (observed with Flex 2.6.4) +// and GCC 7.3.0. +#if defined __GNUC__ && 7 <= __GNUC__ +# pragma GCC diagnostic ignored "-Wnull-dereference" +#endif + // The location of the current token. static yy::location loc; %@} diff --git a/src/flex-scanner.h b/src/flex-scanner.h index 4dec7e1f..e09a1c04 100644 --- a/src/flex-scanner.h +++ b/src/flex-scanner.h @@ -44,6 +44,20 @@ int FLEX_PREFIX (lex_destroy) (void); #define last_string FLEX_PREFIX (last_string) +// Pacify warnings in yy_init_buffer (observed with Flex 2.6.4 and GCC +// 7.3.0). +// +// ./src/scan-skel.c: In function 'skel_restart': +// ./src/scan-skel.c:2035:20: error: potential null pointer dereference [-Werror=null-dereference] +// b->yy_fill_buffer = 1; +// ~~~~~~~~~~~~~~~~~~^~~ +// ./src/scan-skel.c:2031:19: error: potential null pointer dereference [-Werror=null-dereference] +// b->yy_input_file = file; +// ~~~~~~~~~~~~~~~~~^~~~~~ +#if defined __GNUC__ && 7 <= __GNUC__ +# pragma GCC diagnostic ignored "-Wnull-dereference" +#endif + /* It seems to be a nice "feature" of Flex that one cannot use yytext, yyleng etc. when a prefix is given, since there is no longer a #define, but rather the token is actually changed in the output.