From 795a59aba49762d0b06f78ae154a8aa3d2e3534e Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Mon, 14 Sep 2020 19:42:25 +0200 Subject: [PATCH] glr2.cc: fix warning with GCC 4.7 and 4.8 231. conflicts.at:1096: testing Syntax error in consistent error state: glr2.cc ... tests/conflicts.at:1096: $CXX $CXXFLAGS $CPPFLAGS $LDFLAGS -o input input.cc $LIBS input.cc: In function 'int yyparse(yy::parser&)': input.cc:3147:41: error: 'yyarg' may be used uninitialized in this function [-Werror=maybe-uninitialized] return yytnamerr_ (yytname_[yysymbol]); ^ input.cc:2058:34: note: 'yyarg' was declared here yy::parser::symbol_kind_type yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; ^ * data/skeletons/glr2.cc (yyreportSyntaxError): Initialize yyarg. --- data/skeletons/glr2.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/data/skeletons/glr2.cc b/data/skeletons/glr2.cc index 0852fa16..55dc3164 100644 --- a/data/skeletons/glr2.cc +++ b/data/skeletons/glr2.cc @@ -1812,8 +1812,9 @@ class state_stack { #define YYFILL(N) yystateStack.yyfill (yyvsp, &yylow, (N), yynormal) #define yystackp this -class glr_stack { - public: +class glr_stack +{ +public: glr_stack(size_t yysize, ]b4_namespace_ref[::]b4_parser_class[& yyparser_yyarg]m4_ifset([b4_parse_param], [, b4_parse_param_decl])[) : yyerrState(0) @@ -1911,7 +1912,8 @@ class glr_stack { : YYTRANSLATE (yychar); enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; /* Arguments of yyformat. */ - ]b4_namespace_ref::b4_parser_class[::symbol_kind_type yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; + ]b4_namespace_ref::b4_parser_class[::symbol_kind_type yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM] + = { ]b4_namespace_ref::b4_parser_class::b4_symbol(-2, kind)[ }; /* Number of reported tokens (one for the "unexpected", one per "expected"). */ int yycount = 0;