| Age | Commit message (Collapse) | Author |
|
With C23 (as upcoming GCC 15 will default to), `void yyerror()` is
the same as `void yyerror(void)`, i.e. `yyerror` takes no arguments.
Fix the prototype given we *do* call it with an error string:
```
pgen.p/parser.tab.c: In function ‘yyparse’:
pgen.p/parser.tab.c:1104:7: error: too many arguments to function ‘yyerror’
1104 | yyerror (YY_("syntax error"));
| ^~~~~~~
../test cases/frameworks/8 flex/parser.y:3:12: note: declared here
3 | extern int yyerror();
| ^~~~~~~
pgen.p/parser.tab.c:1215:3: error: too many arguments to function ‘yyerror’
1215 | yyerror (YY_("memory exhausted"));
| ^~~~~~~
../test cases/frameworks/8 flex/parser.y:3:12: note: declared here
3 | extern int yyerror();
| ^~~~~~~
```
Bug: https://bugs.gentoo.org/946625
|
|
|
|
This adds the noyywrap option so flex doesn't wait for more input once
we reached EOF. This also adds the nounput and noinput options to fix
compilation warnings.
We can now run the test as expected.
|
|
Old versions of bison (including the one shipped with macOS) do not
prototype yyparse(), just in case you are using a K&R compiler...
|
|
|