[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 2/4] bench: compatibility for Bison <= 2.7
From: |
Théophile Ranquet |
Subject: |
Re: [PATCH 2/4] bench: compatibility for Bison <= 2.7 |
Date: |
Mon, 21 Jan 2013 12:57:13 +0100 |
2013/1/21 Akim Demaille <address@hidden>:
> Please, use both yylvalp _and_ yyllocp.
This is the case, except at the precise location you pointed out. The
bug only expanded identifiers in the definition, not the declaration:
this is why I missed it. Maybe it is worth reporting this somewhere?
> The commit message should
> be clearer about why this is helpful (be more explicit about the
> failure you avoid this way).
Really? The bug is already documented in NEWS, and the commit message
gave a clear pointer to the relevant changesets... anyways, maybe the
following message is better:
commit 1df017f5a51a1a90f4fe6e2c0fad07f267163dc1
Author: Theophile Ranquet <address@hidden>
Date: Tue Jan 15 17:54:44 2013 +0100
bench: compatibility for Bison <= 2.7
There used to be a bug in some skeletons, which caused the expansion of
'yylval' and 'yylloc', generating these errors:
input.cc:547:16: error: expected ',' or '...' before '(' token
#define yylval (yystackp->yyval)
^
input.yy:29:39: note: in expansion of macro 'yylval'
int yylex (yy::parser::semantic_type *yylval)
^
This bug is fixed by 'skel: better aliasing of identifiers', but a
workaround
is useful when benchmarking against older versions of Bison, which are still
affected by the bug.
* etc/bench.pl.in: Rename yylval to yylvalp and yylloc to yyllocp in base
grammar 'list'.
[PATCH 2/4] bench: compatibility for Bison <= 2.7, Theophile Ranquet, 2013/01/21