Your message dated Sat, 16 May 2020 02:44:28 +0200
with message-id <5cc01e86-27a4-4928-513d-b8080524c...@debian.org>
and subject line Re: Bison 3.6.1 generates (internal) tokentype and (yyerror)
function with same name: <filename>_error
has caused the Debian Bug report #960608,
regarding bison: generates (internal) tokentype and (yyerror) function with
same name: <filename>_error
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)
--
960608: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=960608
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: bison
Version: 2:3.6.1+dfsg-2
Severity: serious
Control: block 960410 with -1
Control: block 960371 with -1
At least two packages FTBFS with the latest bison with some yyerror related
error message. I had a short look into the libexplain failure and found the
following:
In libexplain/acl_grammar.yacc.c (generated from libexplain/acl_grammar.y),
these bits are new in 3.6.1 (they were not generated by 3.5.3):
...
enum acl_grammar_tokentype
{
acl_grammar_EMPTY = -2,
acl_grammar_EOF = 0, /* "end of file" */
acl_grammar_error = 256, /* error */
acl_grammar_UNDEF = 257, /* "invalid token" */
...
};
...
#define acl_grammar_EOF 0
#define acl_grammar_error 256
#define acl_grammar_UNDEF 257
...
and acl_grammar_error clashes with the existing (generated by 3.6.1 and
3.5.3, in acl_grammar.y this is yyerror())
...
static void
acl_grammar_error(const char *text)
{
...
}
which causes this error during compilation:
y.tab.c:152:27: error: expected identifier or '(' before numeric constant
libexplain/acl_grammar.y:128:1: note: in expansion of macro 'acl_grammar_error'
128 | yyerror(const char *text)
| ^~~~~~~~~~~~~~~~~
libexplain/acl_grammar.y: In function 'acl_grammar_errorf':
y.tab.c:152:27: error: called object is not a function or function pointer
libexplain/acl_grammar.y:155:5: note: in expansion of macro 'acl_grammar_error'
155 | yyerror(buf);
| ^~~~~~~~~~~~~
libexplain/acl_grammar.y: In function 'acl_grammar_parse':
y.tab.c:152:27: error: called object is not a function or function pointer
libexplain/acl_grammar.y:470:13: note: in expansion of macro 'acl_grammar_error'
470 | yyerror
| ^~~~~~~
y.tab.c:152:27: error: called object is not a function or function pointer
y.tab.c:1720:7: note: in expansion of macro 'acl_grammar_error'
y.tab.c:152:27: error: called object is not a function or function pointer
y.tab.c:1831:3: note: in expansion of macro 'acl_grammar_error'
At top level:
libexplain/acl_grammar.y:105:1: warning: 'result_append' defined but not used
[-Wunused-function]
105 | result_append(const char *text)
| ^~~~~~~~~~~~~
This does not look like it is an error in libexplain.
Andreas
--- End Message ---
--- Begin Message ---
On 15/05/2020 07.10, Akim Demaille wrote:
> I don't understand why this is done this way.
I don't know how old that code is ... ;-)
> The grammar file should use
> %define api.prefix {acl_grammar_}, or the build system should pass
That works fine.
Thanks, and sorry for the noise.
Andreas
--- End Message ---