This fixes one of the errors from using bison-2.4, but there are more.
This one in details is the following error:
BISON build/util/dtc/dtc-parser.tab.c HOSTCC build/util/dtc/dtc-parser.tab.o /home/leio/dev/coreboot-v3/util/dtc/dtc-parser.y: In function ‘yyuserAction’: /home/leio/dev/coreboot-v3/util/dtc/dtc-parser.y:154: error: expected ‘;’ before ‘}’ token make: *** [/home/leio/dev/coreboot-v3/build/util/dtc/dtc-parser.tab.o] Error 1
Note that 2.4.1 might be made to still work without the semi-colon for some languages, but I understand 2.5 then still won't work without one. As it builds fine with this change with bison-2.3, it should be safe to just add the semicolon.
The remaining error is the following:
/home/leio/dev/coreboot-v3/util/dtc/dtc-lexer.l: In function ‘yylex’: /home/leio/dev/coreboot-v3/util/dtc/dtc-lexer.l:73: error: ‘yylval’ undeclared (first use in this function) /home/leio/dev/coreboot-v3/util/dtc/dtc-lexer.l:73: error: (Each undeclared identifier is reported only once /home/leio/dev/coreboot-v3/util/dtc/dtc-lexer.l:73: error: for each function it appears in.)
dtc-parser.tab.h doesn't seem to get an "extern YYSTYPE yylval" declaration, which per documentation should only happen for pure parser cases ("%define api.pure"), but I can't find any such declaration in dtc to cause the problem.
Note that upstream dtc builds fine with bison-2.4
Signed-off-by: Mart Raudsepp mart.raudsepp@artecdesign.ee --- util/dtc/dtc-parser.y | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/util/dtc/dtc-parser.y b/util/dtc/dtc-parser.y index 0ed970d..f150006 100644 --- a/util/dtc/dtc-parser.y +++ b/util/dtc/dtc-parser.y @@ -150,7 +150,7 @@ config: DT_CONFIG '(' if ((namelen > 4) && (! strncmp(&name[namelen-4], ".dts", 4))) $6->label[namelen-4] = '\0';
- $$ = $6 + $$ = $6; } | ;