glr.c: fix signature when using custom error messages

Reported by Tom Shields <thomas.evans.shields@icloud.com>.

* data/skeletons/glr.c (yypcontext_location): Fix return type.
* tests/calc.at: Check the case pure, location, custom error messages.
This commit is contained in:
Akim Demaille
2021-08-11 17:41:27 +02:00
parent e4e3cbce77
commit c2ba260487
3 changed files with 6 additions and 2 deletions

2
TODO
View File

@@ -185,6 +185,8 @@ Line -1 and -3 should mention CATEGORIE, not CATEGORY.
* Bison 3.8
** Rewrite glr.cc (currently glr2.cc)
*** custom error messages
*** Remove jumps
We can probably replace setjmp/longjmp with exceptions. That would help
tremendously other languages such as D and Java that probably have no

View File

@@ -2174,10 +2174,10 @@ yypcontext_token (const yyGLRStack *yystackp)
}
]b4_locations_if([[/* The location of the lookahead of this context. */
static YYLTYPE *
static const YYLTYPE *
yypcontext_location (const yyGLRStack *yystackp) YY_ATTRIBUTE_UNUSED;
static YYLTYPE *
static const YYLTYPE *
yypcontext_location (const yyGLRStack *yystackp)
{
YY_USE (yystackp);

View File

@@ -1469,6 +1469,8 @@ AT_CHECK_CALC_GLR_CC([%debug])
AT_CHECK_CALC_GLR_CC([%define parse.error verbose %debug %name-prefix "calc" %verbose])
AT_CHECK_CALC_GLR_CC([%define parse.error verbose %debug %name-prefix "calc" %define api.token.prefix {TOK_} %verbose])
AT_CHECK_CALC_GLR_CC([%define parse.error custom %locations %header %name-prefix "calc" %verbose])
AT_CHECK_CALC_GLR_CC([%locations %header %define parse.error verbose %debug %name-prefix "calc" %verbose %parse-param {semantic_value *result}{int *count}{int *nerrs}])
AT_CHECK_CALC_GLR_CC([%locations %header %define parse.error verbose %debug %define api.prefix {calc} %verbose %parse-param {semantic_value *result}{int *count}{int *nerrs}])