[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 4.4 1/2] libxl: Rerun bison and flex
On Mon, 2016-01-04 at 14:50 +0000, Ian Jackson wrote: > We are going to want to cherry pick a change to the bison input, which > will involve rerunning bison. > > So firstly, update the bison and flex output to that from current > Debian wheezy (i386; 1:2.5.dfsg-2.1 and 2.5.35-10.1 respectively). > > There should be no functional change since there is no change to the > source file, but we will inherit bugfixes and behavioural changes from > the new version of bison.ÂÂSo this is more a matter of hope than > knowledge. This one isn't a cherry pick, but rather a manual rerun of the tools with a cargo-culted commit message from another such occasion, right? > > Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> > --- > Âtools/libxl/libxlu_cfg_y.c |ÂÂ538 ++++++++++++++++++++++++------------ > -------- > Âtools/libxl/libxlu_cfg_y.h |ÂÂÂ14 +- > Â2 files changed, 304 insertions(+), 248 deletions(-) > > diff --git a/tools/libxl/libxlu_cfg_y.c b/tools/libxl/libxlu_cfg_y.c > index 218933e..4437e05 100644 > --- a/tools/libxl/libxlu_cfg_y.c > +++ b/tools/libxl/libxlu_cfg_y.c > @@ -1,10 +1,8 @@ > +/* A Bison parser, made by GNU Bison 2.5.ÂÂ*/ > Â > -/* A Bison parser, made by GNU Bison 2.4.1.ÂÂ*/ > - > -/* Skeleton implementation for Bison's Yacc-like parsers in C > +/* Bison implementation for Yacc-like parsers in C > ÂÂÂÂ > -ÂÂÂÂÂÂCopyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, > 2005, 2006 > -ÂÂÂFree Software Foundation, Inc. > +ÂÂÂÂÂÂCopyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, > Inc. > ÂÂÂÂ > ÂÂÂÂThis program is free software: you can redistribute it and/or modify > ÂÂÂÂit under the terms of the GNU General Public License as published by > @@ -46,7 +44,7 @@ > Â#define YYBISON 1 > Â > Â/* Bison version.ÂÂ*/ > -#define YYBISON_VERSION "2.4.1" > +#define YYBISON_VERSION "2.5" > Â > Â/* Skeleton name.ÂÂ*/ > Â#define YYSKELETON_NAME "yacc.c" > @@ -75,7 +73,7 @@ > Â > Â/* Copy the first part of user declarations.ÂÂ*/ > Â > -/* Line 189 of yacc.cÂÂ*/ > +/* Line 268 of yacc.cÂÂ*/ > Â#line 19 "libxlu_cfg_y.y" > Â > Â#define YYLEX_PARAM ctx->scanner > @@ -83,8 +81,8 @@ > Â#include "libxlu_cfg_l.h" > Â > Â > -/* Line 189 of yacc.cÂÂ*/ > -#line 88 "libxlu_cfg_y.c" > +/* Line 268 of yacc.cÂÂ*/ > +#line 86 "libxlu_cfg_y.c" > Â > Â/* Enabling traces.ÂÂ*/ > Â#ifndef YYDEBUG > @@ -124,7 +122,7 @@ > Âtypedef union YYSTYPE > Â{ > Â > -/* Line 214 of yacc.cÂÂ*/ > +/* Line 293 of yacc.cÂÂ*/ > Â#line 25 "libxlu_cfg_y.y" > Â > ÂÂÂchar *string; > @@ -132,8 +130,8 @@ typedef union YYSTYPE > Â > Â > Â > -/* Line 214 of yacc.cÂÂ*/ > -#line 137 "libxlu_cfg_y.c" > +/* Line 293 of yacc.cÂÂ*/ > +#line 135 "libxlu_cfg_y.c" > Â} YYSTYPE; > Â# define YYSTYPE_IS_TRIVIAL 1 > Â# define yystype YYSTYPE /* obsolescent; will be withdrawn */ > @@ -157,8 +155,8 @@ typedef struct YYLTYPE > Â/* Copy the second part of user declarations.ÂÂ*/ > Â > Â > -/* Line 264 of yacc.cÂÂ*/ > -#line 162 "libxlu_cfg_y.c" > +/* Line 343 of yacc.cÂÂ*/ > +#line 160 "libxlu_cfg_y.c" > Â > Â#ifdef short > Â# undef short > @@ -208,7 +206,7 @@ typedef short int yytype_int16; > Â#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) > Â > Â#ifndef YY_ > -# if YYENABLE_NLS > +# if defined YYENABLE_NLS && YYENABLE_NLS > Â#ÂÂif ENABLE_NLS > Â#ÂÂÂinclude <libintl.h> /* INFRINGES ON USER NAME SPACE */ > Â#ÂÂÂdefine YY_(msgid) dgettext ("bison-runtime", msgid) > @@ -261,11 +259,11 @@ YYID (yyi) > Â#ÂÂÂÂdefine alloca _alloca > Â#ÂÂÂelse > Â#ÂÂÂÂdefine YYSTACK_ALLOC alloca > -#ÂÂÂÂif ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ > || defined __C99__FUNC__ \ > +#ÂÂÂÂif ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined > __STDC__ || defined __C99__FUNC__ \ > ÂÂÂÂÂÂ|| defined __cplusplus || defined _MSC_VER) > Â#ÂÂÂÂÂinclude <stdlib.h> /* INFRINGES ON USER NAME SPACE */ > -#ÂÂÂÂÂifndef _STDLIB_H > -#ÂÂÂÂÂÂdefine _STDLIB_H 1 > +#ÂÂÂÂÂifndef EXIT_SUCCESS > +#ÂÂÂÂÂÂdefine EXIT_SUCCESS 0 > Â#ÂÂÂÂÂendif > Â#ÂÂÂÂendif > Â#ÂÂÂendif > @@ -288,24 +286,24 @@ YYID (yyi) > Â#ÂÂifndef YYSTACK_ALLOC_MAXIMUM > Â#ÂÂÂdefine YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM > Â#ÂÂendif > -#ÂÂif (defined __cplusplus && ! defined _STDLIB_H \ > +#ÂÂif (defined __cplusplus && ! defined EXIT_SUCCESS \ > ÂÂÂÂÂÂÂÂ&& ! ((defined YYMALLOC || defined malloc) \ > Â ÂÂÂÂÂ&& (defined YYFREE || defined free))) > Â#ÂÂÂinclude <stdlib.h> /* INFRINGES ON USER NAME SPACE */ > -#ÂÂÂifndef _STDLIB_H > -#ÂÂÂÂdefine _STDLIB_H 1 > +#ÂÂÂifndef EXIT_SUCCESS > +#ÂÂÂÂdefine EXIT_SUCCESS 0 > Â#ÂÂÂendif > Â#ÂÂendif > Â#ÂÂifndef YYMALLOC > Â#ÂÂÂdefine YYMALLOC malloc > -#ÂÂÂif ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || > defined __C99__FUNC__ \ > +#ÂÂÂif ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ > || defined __C99__FUNC__ \ > ÂÂÂÂÂÂ|| defined __cplusplus || defined _MSC_VER) > Âvoid *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ > Â#ÂÂÂendif > Â#ÂÂendif > Â#ÂÂifndef YYFREE > Â#ÂÂÂdefine YYFREE free > -#ÂÂÂif ! defined free && ! defined _STDLIB_H && (defined __STDC__ || > defined __C99__FUNC__ \ > +#ÂÂÂif ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || > defined __C99__FUNC__ \ > ÂÂÂÂÂÂ|| defined __cplusplus || defined _MSC_VER) > Âvoid free (void *); /* INFRINGES ON USER NAME SPACE */ > Â#ÂÂÂendif > @@ -336,23 +334,7 @@ union yyalloc > ÂÂÂÂÂÂ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof > (YYLTYPE)) \ > ÂÂÂÂÂÂÂ+ 2 * YYSTACK_GAP_MAXIMUM) > Â > -/* Copy COUNT objects from FROM to TO.ÂÂThe source and destination do > -ÂÂÂnot overlap.ÂÂ*/ > -# ifndef YYCOPY > -#ÂÂif defined __GNUC__ && 1 < __GNUC__ > -#ÂÂÂdefine YYCOPY(To, From, Count) \ > -ÂÂÂÂÂÂ__builtin_memcpy (To, From, (Count) * sizeof (*(From))) > -#ÂÂelse > -#ÂÂÂdefine YYCOPY(To, From, Count) \ > -ÂÂÂÂÂÂdo \ > - { \ > - ÂÂYYSIZE_T yyi; \ > - ÂÂfor (yyi = 0; yyi < (Count); yyi++) \ > - ÂÂÂÂ(To)[yyi] = (From)[yyi]; \ > - } \ > -ÂÂÂÂÂÂwhile (YYID (0)) > -#ÂÂendif > -# endif > +# define YYCOPY_NEEDED 1 > Â > Â/* Relocate STACK from its old location to the new one.ÂÂThe > ÂÂÂÂlocal variables YYSIZE and YYSTACKSIZE give the old and new number of > @@ -372,6 +354,26 @@ union yyalloc > Â > Â#endif > Â > +#if defined YYCOPY_NEEDED && YYCOPY_NEEDED > +/* Copy COUNT objects from FROM to TO.ÂÂThe source and destination do > +ÂÂÂnot overlap.ÂÂ*/ > +# ifndef YYCOPY > +#ÂÂif defined __GNUC__ && 1 < __GNUC__ > +#ÂÂÂdefine YYCOPY(To, From, Count) \ > +ÂÂÂÂÂÂ__builtin_memcpy (To, From, (Count) * sizeof (*(From))) > +#ÂÂelse > +#ÂÂÂdefine YYCOPY(To, From, Count) \ > +ÂÂÂÂÂÂdo \ > + { \ > + ÂÂYYSIZE_T yyi; \ > + ÂÂfor (yyi = 0; yyi < (Count); yyi++) \ > + ÂÂÂÂ(To)[yyi] = (From)[yyi]; \ > + } \ > +ÂÂÂÂÂÂwhile (YYID (0)) > +#ÂÂendif > +# endif > +#endif /* !YYCOPY_NEEDED */ > + > Â/* YYFINAL -- State number of the termination state.ÂÂ*/ > Â#define YYFINALÂÂ3 > Â/* YYLAST -- Last index in YYTABLE.ÂÂ*/ > @@ -492,8 +494,8 @@ static const yytype_uint8 yyr2[] = > ÂÂÂÂÂÂÂÂ5,ÂÂÂÂÂ0,ÂÂÂÂÂ2 > Â}; > Â > -/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state > -ÂÂÂSTATE-NUM when YYTABLE doesn't specify something else to do.ÂÂZero > +/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. > +ÂÂÂPerformed when YYTABLE doesn't specify something else to do.ÂÂZero > ÂÂÂÂmeans the default is an error.ÂÂ*/ > Âstatic const yytype_uint8 yydefact[] = > Â{ > @@ -528,8 +530,7 @@ static const yytype_int8 yypgoto[] = > Â > Â/* YYTABLE[YYPACT[STATE-NUM]].ÂÂWhat to do in state STATE-NUM.ÂÂIf > ÂÂÂÂpositive, shift that token.ÂÂIf negative, reduce the rule which > -ÂÂÂnumber is the opposite.ÂÂIf zero, do what YYDEFACT says. > -ÂÂÂIf YYTABLE_NINF, syntax error.ÂÂ*/ > +ÂÂÂnumber is the opposite.ÂÂIf YYTABLE_NINF, syntax error.ÂÂ*/ > Â#define YYTABLE_NINF -3 > Âstatic const yytype_int8 yytable[] = > Â{ > @@ -538,6 +539,12 @@ static const yytype_int8 yytable[] = > ÂÂÂÂÂÂÂ16,ÂÂÂÂ26,ÂÂÂÂ25,ÂÂÂÂ20,ÂÂÂÂ13 > Â}; > Â > +#define yypact_value_is_default(yystate) \ > +ÂÂ((yystate) == (-18)) > + > +#define yytable_value_is_error(yytable_value) \ > +ÂÂYYID (0) > + > Âstatic const yytype_uint8 yycheck[] = > Â{ > ÂÂÂÂÂÂÂÂ0,ÂÂÂÂÂ1,ÂÂÂÂ19,ÂÂÂÂÂ3,ÂÂÂÂÂ0,ÂÂÂÂÂ6,ÂÂÂÂÂ6,ÂÂÂÂ21,ÂÂÂÂÂ8,ÂÂÂÂÂ6, > @@ -566,9 +573,18 @@ static const yytype_uint8 yystos[] = > Â > Â/* Like YYERROR except do call yyerror.ÂÂThis remains here temporarily > ÂÂÂÂto ease the transition to the new meaning of YYERROR, for GCC. > -ÂÂÂOnce GCC version 2 has supplanted version 1, this can go.ÂÂ*/ > +ÂÂÂOnce GCC version 2 has supplanted version 1, this can go.ÂÂHowever, > +ÂÂÂYYFAIL appears to be in use.ÂÂNevertheless, it is formally deprecated > +ÂÂÂin Bison 2.4.2's NEWS entry, where a plan to phase it out is > +ÂÂÂdiscussed.ÂÂ*/ > Â > Â#define YYFAIL goto yyerrlab > +#if defined YYFAIL > +ÂÂ/* This is here to suppress warnings from the GCC cpp's > +ÂÂÂÂÂ-Wunused-macros.ÂÂNormally we don't worry about that warning, but > +ÂÂÂÂÂsome users do, and we want to make it easy for users to remove > +ÂÂÂÂÂYYFAIL uses, which will produce warnings from Bison 2.5.ÂÂ*/ > +#endif > Â > Â#define YYRECOVERING()ÂÂ(!!yyerrstatus) > Â > @@ -578,7 +594,6 @@ do > \ > ÂÂÂÂÂ{ \ > ÂÂÂÂÂÂÂyychar = (Token); \ > ÂÂÂÂÂÂÂyylval = (Value); \ > -ÂÂÂÂÂÂyytoken = YYTRANSLATE (yychar); \ > ÂÂÂÂÂÂÂYYPOPSTACK (1); \ > ÂÂÂÂÂÂÂgoto yybackup; \ > ÂÂÂÂÂ} \ > @@ -625,7 +640,7 @@ while (YYID (0)) > ÂÂÂÂwe won't break user code: when these are the locations we know.ÂÂ*/ > Â > Â#ifndef YY_LOCATION_PRINT > -# if YYLTYPE_IS_TRIVIAL > +# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL > Â#ÂÂdefine YY_LOCATION_PRINT(File, Loc) \ > ÂÂÂÂÂÂfprintf (File, "%d.%d-%d.%d", \ > Â ÂÂÂÂÂÂ(Loc).first_line, (Loc).first_column, \ > @@ -834,7 +849,6 @@ int yydebug; > Â# define YYMAXDEPTH 10000 > Â#endif > Â > - > Â > Â#if YYERROR_VERBOSE > Â > @@ -937,115 +951,142 @@ yytnamerr (char *yyres, const char *yystr) > Â} > Â# endif > Â > -/* Copy into YYRESULT an error message about the unexpected token > -ÂÂÂYYCHAR while in state YYSTATE.ÂÂReturn the number of bytes copied, > -ÂÂÂincluding the terminating null byte.ÂÂIf YYRESULT is null, do not > -ÂÂÂcopy anything; just return the number of bytes that would be > -ÂÂÂcopied.ÂÂAs a special case, return 0 if an ordinary "syntax error" > -ÂÂÂmessage will do.ÂÂReturn YYSIZE_MAXIMUM if overflow occurs during > -ÂÂÂsize calculation.ÂÂ*/ > -static YYSIZE_T > -yysyntax_error (char *yyresult, int yystate, int yychar) > -{ > -ÂÂint yyn = yypact[yystate]; > +/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message > +ÂÂÂabout the unexpected token YYTOKEN for the state stack whose top is > +ÂÂÂYYSSP. > Â > -ÂÂif (! (YYPACT_NINF < yyn && yyn <= YYLAST)) > -ÂÂÂÂreturn 0; > -ÂÂelse > +ÂÂÂReturn 0 if *YYMSG was successfully written.ÂÂReturn 1 if *YYMSG is > +ÂÂÂnot large enough to hold the message.ÂÂIn that case, also set > +ÂÂÂ*YYMSG_ALLOC to the required number of bytes.ÂÂReturn 2 if the > +ÂÂÂrequired number of bytes is too large to store.ÂÂ*/ > +static int > +yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂyytype_int16 *yyssp, int yytoken) > +{ > +ÂÂYYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]); > +ÂÂYYSIZE_T yysize = yysize0; > +ÂÂYYSIZE_T yysize1; > +ÂÂenum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; > +ÂÂ/* Internationalized format string. */ > +ÂÂconst char *yyformat = 0; > +ÂÂ/* Arguments of yyformat. */ > +ÂÂchar const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; > +ÂÂ/* Number of reported tokens (one for the "unexpected", one per > +ÂÂÂÂÂ"expected"). */ > +ÂÂint yycount = 0; > + > +ÂÂ/* There are many possibilities here to consider: > +ÂÂÂÂÂ- Assume YYFAIL is not used.ÂÂIt's too flawed to consider.ÂÂSee > +ÂÂÂÂÂÂÂ<http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024 > .html> > +ÂÂÂÂÂÂÂfor details.ÂÂYYERROR is fine as it does not invoke this > +ÂÂÂÂÂÂÂfunction. > +ÂÂÂÂÂ- If this state is a consistent state with a default action, then > +ÂÂÂÂÂÂÂthe only way this function was invoked is if the default action > +ÂÂÂÂÂÂÂis an error action.ÂÂIn that case, don't check for expected > +ÂÂÂÂÂÂÂtokens because there are none. > +ÂÂÂÂÂ- The only way there can be no lookahead present (in yychar) is if > +ÂÂÂÂÂÂÂthis state is a consistent state with a default action.ÂÂThus, > +ÂÂÂÂÂÂÂdetecting the absence of a lookahead is sufficient to determine > +ÂÂÂÂÂÂÂthat there is no unexpected or expected token to report.ÂÂIn that > +ÂÂÂÂÂÂÂcase, just report a simple "syntax error". > +ÂÂÂÂÂ- Don't assume there isn't a lookahead just because this state is a > +ÂÂÂÂÂÂÂconsistent state with a default action.ÂÂThere might have been a > +ÂÂÂÂÂÂÂprevious inconsistent state, consistent state with a non-default > +ÂÂÂÂÂÂÂaction, or user semantic action that manipulated yychar. > +ÂÂÂÂÂ- Of course, the expected token list depends on states to have > +ÂÂÂÂÂÂÂcorrect lookahead information, and it depends on the parser not > +ÂÂÂÂÂÂÂto perform extra reductions after fetching a lookahead from the > +ÂÂÂÂÂÂÂscanner and before detecting a syntax error.ÂÂThus, state merging > +ÂÂÂÂÂÂÂ(from LALR or IELR) and default reductions corrupt the expected > +ÂÂÂÂÂÂÂtoken list.ÂÂHowever, the list is correct for canonical LR with > +ÂÂÂÂÂÂÂone exception: it will still contain any token that will not be > +ÂÂÂÂÂÂÂaccepted due to an error action in a later state. > +ÂÂ*/ > +ÂÂif (yytoken != YYEMPTY) > ÂÂÂÂÂ{ > -ÂÂÂÂÂÂint yytype = YYTRANSLATE (yychar); > -ÂÂÂÂÂÂYYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); > -ÂÂÂÂÂÂYYSIZE_T yysize = yysize0; > -ÂÂÂÂÂÂYYSIZE_T yysize1; > -ÂÂÂÂÂÂint yysize_overflow = 0; > -ÂÂÂÂÂÂenum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; > -ÂÂÂÂÂÂchar const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; > -ÂÂÂÂÂÂint yyx; > - > -# if 0 > -ÂÂÂÂÂÂ/* This is so xgettext sees the translatable formats that are > - Âconstructed on the fly.ÂÂ*/ > -ÂÂÂÂÂÂYY_("syntax error, unexpected %s"); > -ÂÂÂÂÂÂYY_("syntax error, unexpected %s, expecting %s"); > -ÂÂÂÂÂÂYY_("syntax error, unexpected %s, expecting %s or %s"); > -ÂÂÂÂÂÂYY_("syntax error, unexpected %s, expecting %s or %s or %s"); > -ÂÂÂÂÂÂYY_("syntax error, unexpected %s, expecting %s or %s or %s or > %s"); > -# endif > -ÂÂÂÂÂÂchar *yyfmt; > -ÂÂÂÂÂÂchar const *yyf; > -ÂÂÂÂÂÂstatic char const yyunexpected[] = "syntax error, unexpected %s"; > -ÂÂÂÂÂÂstatic char const yyexpecting[] = ", expecting %s"; > -ÂÂÂÂÂÂstatic char const yyor[] = " or %s"; > -ÂÂÂÂÂÂchar yyformat[sizeof yyunexpected > - ÂÂÂÂ+ sizeof yyexpecting - 1 > - ÂÂÂÂ+ ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) > - ÂÂÂÂÂÂÂ* (sizeof yyor - 1))]; > -ÂÂÂÂÂÂchar const *yyprefix = yyexpecting; > - > -ÂÂÂÂÂÂ/* Start YYX at -YYN if negative to avoid negative indexes in > - ÂYYCHECK.ÂÂ*/ > -ÂÂÂÂÂÂint yyxbegin = yyn < 0 ? -yyn : 0; > - > -ÂÂÂÂÂÂ/* Stay within bounds of both yycheck and yytname.ÂÂ*/ > -ÂÂÂÂÂÂint yychecklim = YYLAST - yyn + 1; > -ÂÂÂÂÂÂint yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; > -ÂÂÂÂÂÂint yycount = 1; > - > -ÂÂÂÂÂÂyyarg[0] = yytname[yytype]; > -ÂÂÂÂÂÂyyfmt = yystpcpy (yyformat, yyunexpected); > - > -ÂÂÂÂÂÂfor (yyx = yyxbegin; yyx < yyxend; ++yyx) > - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) > - ÂÂ{ > - ÂÂÂÂif (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) > - ÂÂÂÂÂÂ{ > - yycount = 1; > - yysize = yysize0; > - yyformat[sizeof yyunexpected - 1] = '\0'; > - break; > - ÂÂÂÂÂÂ} > - ÂÂÂÂyyarg[yycount++] = yytname[yyx]; > - ÂÂÂÂyysize1 = yysize + yytnamerr (0, yytname[yyx]); > - ÂÂÂÂyysize_overflow |= (yysize1 < yysize); > - ÂÂÂÂyysize = yysize1; > - ÂÂÂÂyyfmt = yystpcpy (yyfmt, yyprefix); > - ÂÂÂÂyyprefix = yyor; > - ÂÂ} > +ÂÂÂÂÂÂint yyn = yypact[*yyssp]; > +ÂÂÂÂÂÂyyarg[yycount++] = yytname[yytoken]; > +ÂÂÂÂÂÂif (!yypact_value_is_default (yyn)) > +ÂÂÂÂÂÂÂÂ{ > +ÂÂÂÂÂÂÂÂÂÂ/* Start YYX at -YYN if negative to avoid negative indexes in > +ÂÂÂÂÂÂÂÂÂÂÂÂÂYYCHECK.ÂÂIn other words, skip the first -YYN actions for > +ÂÂÂÂÂÂÂÂÂÂÂÂÂthis state because they are default actions.ÂÂ*/ > +ÂÂÂÂÂÂÂÂÂÂint yyxbegin = yyn < 0 ? -yyn : 0; > +ÂÂÂÂÂÂÂÂÂÂ/* Stay within bounds of both yycheck and yytname.ÂÂ*/ > +ÂÂÂÂÂÂÂÂÂÂint yychecklim = YYLAST - yyn + 1; > +ÂÂÂÂÂÂÂÂÂÂint yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; > +ÂÂÂÂÂÂÂÂÂÂint yyx; > + > +ÂÂÂÂÂÂÂÂÂÂfor (yyx = yyxbegin; yyx < yyxend; ++yyx) > +ÂÂÂÂÂÂÂÂÂÂÂÂif (yycheck[yyx + yyn] == yyx && yyx != YYTERROR > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ&& !yytable_value_is_error (yytable[yyx + yyn])) > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ{ > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂif (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ{ > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂyycount = 1; > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂyysize = yysize0; > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂbreak; > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ} > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂyyarg[yycount++] = yytname[yyx]; > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂyysize1 = yysize + yytnamerr (0, yytname[yyx]); > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂif (! (yysize <= yysize1 > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ&& yysize1 <= YYSTACK_ALLOC_MAXIMUM)) > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂreturn 2; > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂyysize = yysize1; > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ} > +ÂÂÂÂÂÂÂÂ} > +ÂÂÂÂ} > Â > -ÂÂÂÂÂÂyyf = YY_(yyformat); > -ÂÂÂÂÂÂyysize1 = yysize + yystrlen (yyf); > -ÂÂÂÂÂÂyysize_overflow |= (yysize1 < yysize); > -ÂÂÂÂÂÂyysize = yysize1; > +ÂÂswitch (yycount) > +ÂÂÂÂ{ > +# define YYCASE_(N, S)ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ\ > +ÂÂÂÂÂÂcase N:ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ\ > +ÂÂÂÂÂÂÂÂyyformat = S;ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ\ > +ÂÂÂÂÂÂbreak > +ÂÂÂÂÂÂYYCASE_(0, YY_("syntax error")); > +ÂÂÂÂÂÂYYCASE_(1, YY_("syntax error, unexpected %s")); > +ÂÂÂÂÂÂYYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); > +ÂÂÂÂÂÂYYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or > %s")); > +ÂÂÂÂÂÂYYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or > %s")); > +ÂÂÂÂÂÂYYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or > %s or %s")); > +# undef YYCASE_ > +ÂÂÂÂ} > Â > -ÂÂÂÂÂÂif (yysize_overflow) > - return YYSIZE_MAXIMUM; > +ÂÂyysize1 = yysize + yystrlen (yyformat); > +ÂÂif (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) > +ÂÂÂÂreturn 2; > +ÂÂyysize = yysize1; > Â > -ÂÂÂÂÂÂif (yyresult) > - { > - ÂÂ/* Avoid sprintf, as that infringes on the user's name space. > - ÂÂÂÂÂDon't have undefined behavior even if the translation > - ÂÂÂÂÂproduced a string with the wrong number of "%s"s.ÂÂ*/ > - ÂÂchar *yyp = yyresult; > - ÂÂint yyi = 0; > - ÂÂwhile ((*yyp = *yyf) != '\0') > - ÂÂÂÂ{ > - ÂÂÂÂÂÂif (*yyp == '%' && yyf[1] == 's' && yyi < yycount) > - { > - ÂÂyyp += yytnamerr (yyp, yyarg[yyi++]); > - ÂÂyyf += 2; > - } > - ÂÂÂÂÂÂelse > - { > - ÂÂyyp++; > - ÂÂyyf++; > - } > - ÂÂÂÂ} > - } > -ÂÂÂÂÂÂreturn yysize; > +ÂÂif (*yymsg_alloc < yysize) > +ÂÂÂÂ{ > +ÂÂÂÂÂÂ*yymsg_alloc = 2 * yysize; > +ÂÂÂÂÂÂif (! (yysize <= *yymsg_alloc > +ÂÂÂÂÂÂÂÂÂÂÂÂÂ&& *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) > +ÂÂÂÂÂÂÂÂ*yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; > +ÂÂÂÂÂÂreturn 1; > ÂÂÂÂÂ} > + > +ÂÂ/* Avoid sprintf, as that infringes on the user's name space. > +ÂÂÂÂÂDon't have undefined behavior even if the translation > +ÂÂÂÂÂproduced a string with the wrong number of "%s"s.ÂÂ*/ > +ÂÂ{ > +ÂÂÂÂchar *yyp = *yymsg; > +ÂÂÂÂint yyi = 0; > +ÂÂÂÂwhile ((*yyp = *yyformat) != '\0') > +ÂÂÂÂÂÂif (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) > +ÂÂÂÂÂÂÂÂ{ > +ÂÂÂÂÂÂÂÂÂÂyyp += yytnamerr (yyp, yyarg[yyi++]); > +ÂÂÂÂÂÂÂÂÂÂyyformat += 2; > +ÂÂÂÂÂÂÂÂ} > +ÂÂÂÂÂÂelse > +ÂÂÂÂÂÂÂÂ{ > +ÂÂÂÂÂÂÂÂÂÂyyp++; > +ÂÂÂÂÂÂÂÂÂÂyyformat++; > +ÂÂÂÂÂÂÂÂ} > +ÂÂ} > +ÂÂreturn 0; > Â} > Â#endif /* YYERROR_VERBOSE */ > - > Â > Â/*-----------------------------------------------. > Â| Release the memory associated to this symbol.ÂÂ| > @@ -1078,66 +1119,66 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, > ctx) > ÂÂÂÂÂ{ > ÂÂÂÂÂÂÂcase 3: /* "IDENT" */ > Â > -/* Line 1000 of yacc.cÂÂ*/ > +/* Line 1391 of yacc.cÂÂ*/ > Â#line 40 "libxlu_cfg_y.y" > Â { free((yyvaluep->string)); }; > Â > -/* Line 1000 of yacc.cÂÂ*/ > -#line 1087 "libxlu_cfg_y.c" > +/* Line 1391 of yacc.cÂÂ*/ > +#line 1128 "libxlu_cfg_y.c" > Â break; > ÂÂÂÂÂÂÂcase 4: /* "STRING" */ > Â > -/* Line 1000 of yacc.cÂÂ*/ > +/* Line 1391 of yacc.cÂÂ*/ > Â#line 40 "libxlu_cfg_y.y" > Â { free((yyvaluep->string)); }; > Â > -/* Line 1000 of yacc.cÂÂ*/ > -#line 1096 "libxlu_cfg_y.c" > +/* Line 1391 of yacc.cÂÂ*/ > +#line 1137 "libxlu_cfg_y.c" > Â break; > ÂÂÂÂÂÂÂcase 5: /* "NUMBER" */ > Â > -/* Line 1000 of yacc.cÂÂ*/ > +/* Line 1391 of yacc.cÂÂ*/ > Â#line 40 "libxlu_cfg_y.y" > Â { free((yyvaluep->string)); }; > Â > -/* Line 1000 of yacc.cÂÂ*/ > -#line 1105 "libxlu_cfg_y.c" > +/* Line 1391 of yacc.cÂÂ*/ > +#line 1146 "libxlu_cfg_y.c" > Â break; > ÂÂÂÂÂÂÂcase 18: /* "value" */ > Â > -/* Line 1000 of yacc.cÂÂ*/ > +/* Line 1391 of yacc.cÂÂ*/ > Â#line 43 "libxlu_cfg_y.y" > Â { xlu__cfg_set_free((yyvaluep->setting)); }; > Â > -/* Line 1000 of yacc.cÂÂ*/ > -#line 1114 "libxlu_cfg_y.c" > +/* Line 1391 of yacc.cÂÂ*/ > +#line 1155 "libxlu_cfg_y.c" > Â break; > ÂÂÂÂÂÂÂcase 19: /* "atom" */ > Â > -/* Line 1000 of yacc.cÂÂ*/ > +/* Line 1391 of yacc.cÂÂ*/ > Â#line 40 "libxlu_cfg_y.y" > Â { free((yyvaluep->string)); }; > Â > -/* Line 1000 of yacc.cÂÂ*/ > -#line 1123 "libxlu_cfg_y.c" > +/* Line 1391 of yacc.cÂÂ*/ > +#line 1164 "libxlu_cfg_y.c" > Â break; > ÂÂÂÂÂÂÂcase 20: /* "valuelist" */ > Â > -/* Line 1000 of yacc.cÂÂ*/ > +/* Line 1391 of yacc.cÂÂ*/ > Â#line 43 "libxlu_cfg_y.y" > Â { xlu__cfg_set_free((yyvaluep->setting)); }; > Â > -/* Line 1000 of yacc.cÂÂ*/ > -#line 1132 "libxlu_cfg_y.c" > +/* Line 1391 of yacc.cÂÂ*/ > +#line 1173 "libxlu_cfg_y.c" > Â break; > ÂÂÂÂÂÂÂcase 21: /* "values" */ > Â > -/* Line 1000 of yacc.cÂÂ*/ > +/* Line 1391 of yacc.cÂÂ*/ > Â#line 43 "libxlu_cfg_y.y" > Â { xlu__cfg_set_free((yyvaluep->setting)); }; > Â > -/* Line 1000 of yacc.cÂÂ*/ > -#line 1141 "libxlu_cfg_y.c" > +/* Line 1391 of yacc.cÂÂ*/ > +#line 1182 "libxlu_cfg_y.c" > Â break; > Â > ÂÂÂÂÂÂÂdefault: > @@ -1145,6 +1186,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, > ctx) > ÂÂÂÂÂ} > Â} > Â > + > Â/* Prevent warnings from -Wmissing-prototypes.ÂÂ*/ > Â#ifdef YYPARSE_PARAM > Â#if defined __STDC__ || defined __cplusplus > @@ -1161,12 +1203,9 @@ int yyparse (); > Â#endif /* ! YYPARSE_PARAM */ > Â > Â > - > - > - > -/*-------------------------. > -| yyparse or yypush_parse.ÂÂ| > -`-------------------------*/ > +/*----------. > +| yyparse.ÂÂ| > +`----------*/ > Â > Â#ifdef YYPARSE_PARAM > Â#if (defined __STDC__ || defined __C99__FUNC__ \ > @@ -1230,7 +1269,7 @@ YYLTYPE yylloc; > ÂÂÂÂÂYYLTYPE *yylsp; > Â > ÂÂÂÂÂ/* The locations where the error started and ended.ÂÂ*/ > -ÂÂÂÂYYLTYPE yyerror_range[2]; > +ÂÂÂÂYYLTYPE yyerror_range[3]; > Â > ÂÂÂÂÂYYSIZE_T yystacksize; > Â > @@ -1277,7 +1316,7 @@ YYLTYPE yylloc; > ÂÂÂyyvsp = yyvs; > ÂÂÂyylsp = yyls; > Â > -#if YYLTYPE_IS_TRIVIAL > +#if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL > ÂÂÂ/* Initialize the default location before parsing starts.ÂÂ*/ > ÂÂÂyylloc.first_lineÂÂÂ= yylloc.last_lineÂÂÂ= 1; > ÂÂÂyylloc.first_column = yylloc.last_column = 1; > @@ -1379,7 +1418,7 @@ yybackup: > Â > ÂÂÂ/* First try to decide what to do without reference to lookahead > token.ÂÂ*/ > ÂÂÂyyn = yypact[yystate]; > -ÂÂif (yyn == YYPACT_NINF) > +ÂÂif (yypact_value_is_default (yyn)) > ÂÂÂÂÂgoto yydefault; > Â > ÂÂÂ/* Not known => get a lookahead token if don't already have one.ÂÂ*/ > @@ -1410,8 +1449,8 @@ yybackup: > ÂÂÂyyn = yytable[yyn]; > ÂÂÂif (yyn <= 0) > ÂÂÂÂÂ{ > -ÂÂÂÂÂÂif (yyn == 0 || yyn == YYTABLE_NINF) > - goto yyerrlab; > +ÂÂÂÂÂÂif (yytable_value_is_error (yyn)) > +ÂÂÂÂÂÂÂÂgoto yyerrlab; > ÂÂÂÂÂÂÂyyn = -yyn; > ÂÂÂÂÂÂÂgoto yyreduce; > ÂÂÂÂÂ} > @@ -1467,80 +1506,91 @@ yyreduce: > ÂÂÂÂÂ{ > ÂÂÂÂÂÂÂÂÂcase 9: > Â > -/* Line 1455 of yacc.cÂÂ*/ > +/* Line 1806 of yacc.cÂÂ*/ > Â#line 57 "libxlu_cfg_y.y" > -ÂÂÂÂ{ xlu__cfg_set_store(ctx,(yyvsp[(1) - (3)].string),(yyvsp[(3) - > (3)].setting),(yylsp[(3) - (3)]).first_line); ;} > +ÂÂÂÂ{ xlu__cfg_set_store(ctx,(yyvsp[(1) - (3)].string),(yyvsp[(3) - > (3)].setting),(yylsp[(3) - (3)]).first_line); } > ÂÂÂÂÂbreak; > Â > ÂÂÂcase 12: > Â > -/* Line 1455 of yacc.cÂÂ*/ > +/* Line 1806 of yacc.cÂÂ*/ > Â#line 62 "libxlu_cfg_y.y" > -ÂÂÂÂ{ (yyval.setting)= xlu__cfg_set_mk(ctx,1,(yyvsp[(1) - (1)].string)); > ;} > +ÂÂÂÂ{ (yyval.setting)= xlu__cfg_set_mk(ctx,1,(yyvsp[(1) - (1)].string)); > } > ÂÂÂÂÂbreak; > Â > ÂÂÂcase 13: > Â > -/* Line 1455 of yacc.cÂÂ*/ > +/* Line 1806 of yacc.cÂÂ*/ > Â#line 63 "libxlu_cfg_y.y" > -ÂÂÂÂ{ (yyval.setting)= (yyvsp[(3) - (4)].setting); ;} > +ÂÂÂÂ{ (yyval.setting)= (yyvsp[(3) - (4)].setting); } > ÂÂÂÂÂbreak; > Â > ÂÂÂcase 14: > Â > -/* Line 1455 of yacc.cÂÂ*/ > +/* Line 1806 of yacc.cÂÂ*/ > Â#line 65 "libxlu_cfg_y.y" > -ÂÂÂÂ{ (yyval.string)= (yyvsp[(1) - (1)].string); ;} > +ÂÂÂÂ{ (yyval.string)= (yyvsp[(1) - (1)].string); } > ÂÂÂÂÂbreak; > Â > ÂÂÂcase 15: > Â > -/* Line 1455 of yacc.cÂÂ*/ > +/* Line 1806 of yacc.cÂÂ*/ > Â#line 66 "libxlu_cfg_y.y" > -ÂÂÂÂ{ (yyval.string)= (yyvsp[(1) - (1)].string); ;} > +ÂÂÂÂ{ (yyval.string)= (yyvsp[(1) - (1)].string); } > ÂÂÂÂÂbreak; > Â > ÂÂÂcase 16: > Â > -/* Line 1455 of yacc.cÂÂ*/ > +/* Line 1806 of yacc.cÂÂ*/ > Â#line 68 "libxlu_cfg_y.y" > -ÂÂÂÂ{ (yyval.setting)= xlu__cfg_set_mk(ctx,0,0); ;} > +ÂÂÂÂ{ (yyval.setting)= xlu__cfg_set_mk(ctx,0,0); } > ÂÂÂÂÂbreak; > Â > ÂÂÂcase 17: > Â > -/* Line 1455 of yacc.cÂÂ*/ > +/* Line 1806 of yacc.cÂÂ*/ > Â#line 69 "libxlu_cfg_y.y" > -ÂÂÂÂ{ (yyval.setting)= (yyvsp[(1) - (1)].setting); ;} > +ÂÂÂÂ{ (yyval.setting)= (yyvsp[(1) - (1)].setting); } > ÂÂÂÂÂbreak; > Â > ÂÂÂcase 18: > Â > -/* Line 1455 of yacc.cÂÂ*/ > +/* Line 1806 of yacc.cÂÂ*/ > Â#line 70 "libxlu_cfg_y.y" > -ÂÂÂÂ{ (yyval.setting)= (yyvsp[(1) - (3)].setting); ;} > +ÂÂÂÂ{ (yyval.setting)= (yyvsp[(1) - (3)].setting); } > ÂÂÂÂÂbreak; > Â > ÂÂÂcase 19: > Â > -/* Line 1455 of yacc.cÂÂ*/ > +/* Line 1806 of yacc.cÂÂ*/ > Â#line 72 "libxlu_cfg_y.y" > -ÂÂÂÂ{ (yyval.setting)= xlu__cfg_set_mk(ctx,2,(yyvsp[(1) - (2)].string)); > ;} > +ÂÂÂÂ{ (yyval.setting)= xlu__cfg_set_mk(ctx,2,(yyvsp[(1) - (2)].string)); > } > ÂÂÂÂÂbreak; > Â > ÂÂÂcase 20: > Â > -/* Line 1455 of yacc.cÂÂ*/ > +/* Line 1806 of yacc.cÂÂ*/ > Â#line 73 "libxlu_cfg_y.y" > -ÂÂÂÂ{ xlu__cfg_set_add(ctx,(yyvsp[(1) - (5)].setting),(yyvsp[(4) - > (5)].string)); (yyval.setting)= (yyvsp[(1) - (5)].setting); ;} > +ÂÂÂÂ{ xlu__cfg_set_add(ctx,(yyvsp[(1) - (5)].setting),(yyvsp[(4) - > (5)].string)); (yyval.setting)= (yyvsp[(1) - (5)].setting); } > ÂÂÂÂÂbreak; > Â > Â > Â > -/* Line 1455 of yacc.cÂÂ*/ > -#line 1542 "libxlu_cfg_y.c" > +/* Line 1806 of yacc.cÂÂ*/ > +#line 1581 "libxlu_cfg_y.c" > ÂÂÂÂÂÂÂdefault: break; > ÂÂÂÂÂ} > +ÂÂ/* User semantic actions sometimes alter yychar, and that requires > +ÂÂÂÂÂthat yytoken be updated with the new translation.ÂÂWe take the > +ÂÂÂÂÂapproach of translating immediately before every use of yytoken. > +ÂÂÂÂÂOne alternative is translating here after every semantic action, > +ÂÂÂÂÂbut that translation would be missed if the semantic action invokes > +ÂÂÂÂÂYYABORT, YYACCEPT, or YYERROR immediately after altering yychar or > +ÂÂÂÂÂif it invokes YYBACKUP.ÂÂIn the case of YYABORT or YYACCEPT, an > +ÂÂÂÂÂincorrect destructor might then be invoked immediately.ÂÂIn the > +ÂÂÂÂÂcase of YYERROR or YYBACKUP, subsequent parser actions might lead > +ÂÂÂÂÂto an incorrect destructor call or verbose syntax error message > +ÂÂÂÂÂbefore the lookahead is translated.ÂÂ*/ > ÂÂÂYY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); > Â > ÂÂÂYYPOPSTACK (yylen); > @@ -1569,6 +1619,10 @@ yyreduce: > Â| yyerrlab -- here on detecting error | > Â`------------------------------------*/ > Âyyerrlab: > +ÂÂ/* Make sure we have latest lookahead translation.ÂÂSee comments at > +ÂÂÂÂÂuser semantic actions for why this is necessary.ÂÂ*/ > +ÂÂyytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); > + > ÂÂÂ/* If not already recovering from an error, report this error.ÂÂ*/ > ÂÂÂif (!yyerrstatus) > ÂÂÂÂÂ{ > @@ -1576,41 +1630,40 @@ yyerrlab: > Â#if ! YYERROR_VERBOSE > ÂÂÂÂÂÂÂyyerror (&yylloc, ctx, YY_("syntax error")); > Â#else > +# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂyyssp, yytoken) > ÂÂÂÂÂÂÂ{ > - YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); > - if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) > - ÂÂ{ > - ÂÂÂÂYYSIZE_T yyalloc = 2 * yysize; > - ÂÂÂÂif (! (yysize <= yyalloc && yyalloc <= > YYSTACK_ALLOC_MAXIMUM)) > - ÂÂÂÂÂÂyyalloc = YYSTACK_ALLOC_MAXIMUM; > - ÂÂÂÂif (yymsg != yymsgbuf) > - ÂÂÂÂÂÂYYSTACK_FREE (yymsg); > - ÂÂÂÂyymsg = (char *) YYSTACK_ALLOC (yyalloc); > - ÂÂÂÂif (yymsg) > - ÂÂÂÂÂÂyymsg_alloc = yyalloc; > - ÂÂÂÂelse > - ÂÂÂÂÂÂ{ > - yymsg = yymsgbuf; > - yymsg_alloc = sizeof yymsgbuf; > - ÂÂÂÂÂÂ} > - ÂÂ} > - > - if (0 < yysize && yysize <= yymsg_alloc) > - ÂÂ{ > - ÂÂÂÂ(void) yysyntax_error (yymsg, yystate, yychar); > - ÂÂÂÂyyerror (&yylloc, ctx, yymsg); > - ÂÂ} > - else > - ÂÂ{ > - ÂÂÂÂyyerror (&yylloc, ctx, YY_("syntax error")); > - ÂÂÂÂif (yysize != 0) > - ÂÂÂÂÂÂgoto yyexhaustedlab; > - ÂÂ} > +ÂÂÂÂÂÂÂÂchar const *yymsgp = YY_("syntax error"); > +ÂÂÂÂÂÂÂÂint yysyntax_error_status; > +ÂÂÂÂÂÂÂÂyysyntax_error_status = YYSYNTAX_ERROR; > +ÂÂÂÂÂÂÂÂif (yysyntax_error_status == 0) > +ÂÂÂÂÂÂÂÂÂÂyymsgp = yymsg; > +ÂÂÂÂÂÂÂÂelse if (yysyntax_error_status == 1) > +ÂÂÂÂÂÂÂÂÂÂ{ > +ÂÂÂÂÂÂÂÂÂÂÂÂif (yymsg != yymsgbuf) > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂYYSTACK_FREE (yymsg); > +ÂÂÂÂÂÂÂÂÂÂÂÂyymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); > +ÂÂÂÂÂÂÂÂÂÂÂÂif (!yymsg) > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ{ > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂyymsg = yymsgbuf; > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂyymsg_alloc = sizeof yymsgbuf; > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂyysyntax_error_status = 2; > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ} > +ÂÂÂÂÂÂÂÂÂÂÂÂelse > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ{ > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂyysyntax_error_status = YYSYNTAX_ERROR; > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂyymsgp = yymsg; > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ} > +ÂÂÂÂÂÂÂÂÂÂ} > +ÂÂÂÂÂÂÂÂyyerror (&yylloc, ctx, yymsgp); > +ÂÂÂÂÂÂÂÂif (yysyntax_error_status == 2) > +ÂÂÂÂÂÂÂÂÂÂgoto yyexhaustedlab; > ÂÂÂÂÂÂÂ} > +# undef YYSYNTAX_ERROR > Â#endif > ÂÂÂÂÂ} > Â > -ÂÂyyerror_range[0] = yylloc; > +ÂÂyyerror_range[1] = yylloc; > Â > ÂÂÂif (yyerrstatus == 3) > ÂÂÂÂÂ{ > @@ -1647,7 +1700,7 @@ yyerrorlab: > ÂÂÂif (/*CONSTCOND*/ 0) > ÂÂÂÂÂÂgoto yyerrorlab; > Â > -ÂÂyyerror_range[0] = yylsp[1-yylen]; > +ÂÂyyerror_range[1] = yylsp[1-yylen]; > ÂÂÂ/* Do not reclaim the symbols of the rule which action triggered > ÂÂÂÂÂÂthis YYERROR.ÂÂ*/ > ÂÂÂYYPOPSTACK (yylen); > @@ -1666,7 +1719,7 @@ yyerrlab1: > ÂÂÂfor (;;) > ÂÂÂÂÂ{ > ÂÂÂÂÂÂÂyyn = yypact[yystate]; > -ÂÂÂÂÂÂif (yyn != YYPACT_NINF) > +ÂÂÂÂÂÂif (!yypact_value_is_default (yyn)) > Â { > Â ÂÂyyn += YYTERROR; > Â ÂÂif (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) > @@ -1681,7 +1734,7 @@ yyerrlab1: > ÂÂÂÂÂÂÂif (yyssp == yyss) > Â YYABORT; > Â > -ÂÂÂÂÂÂyyerror_range[0] = *yylsp; > +ÂÂÂÂÂÂyyerror_range[1] = *yylsp; > ÂÂÂÂÂÂÂyydestruct ("Error: popping", > Â ÂÂyystos[yystate], yyvsp, yylsp, ctx); > ÂÂÂÂÂÂÂYYPOPSTACK (1); > @@ -1691,10 +1744,10 @@ yyerrlab1: > Â > ÂÂÂ*++yyvsp = yylval; > Â > -ÂÂyyerror_range[1] = yylloc; > +ÂÂyyerror_range[2] = yylloc; > ÂÂÂ/* Using YYLLOC is tempting, but would change the location of > ÂÂÂÂÂÂthe lookahead.ÂÂYYLOC is available though.ÂÂ*/ > -ÂÂYYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2); > +ÂÂYYLLOC_DEFAULT (yyloc, yyerror_range, 2); > ÂÂÂ*++yylsp = yyloc; > Â > ÂÂÂ/* Shift the error token.ÂÂ*/ > @@ -1730,8 +1783,13 @@ yyexhaustedlab: > Â > Âyyreturn: > ÂÂÂif (yychar != YYEMPTY) > -ÂÂÂÂÂyydestruct ("Cleanup: discarding lookahead", > - Âyytoken, &yylval, &yylloc, ctx); > +ÂÂÂÂ{ > +ÂÂÂÂÂÂ/* Make sure we have latest lookahead translation.ÂÂSee comments > at > +ÂÂÂÂÂÂÂÂÂuser semantic actions for why this is necessary.ÂÂ*/ > +ÂÂÂÂÂÂyytoken = YYTRANSLATE (yychar); > +ÂÂÂÂÂÂyydestruct ("Cleanup: discarding lookahead", > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂyytoken, &yylval, &yylloc, ctx); > +ÂÂÂÂ} > ÂÂÂ/* Do not reclaim the symbols of the rule which action triggered > ÂÂÂÂÂÂthis YYABORT or YYACCEPT.ÂÂ*/ > ÂÂÂYYPOPSTACK (yylen); > diff --git a/tools/libxl/libxlu_cfg_y.h b/tools/libxl/libxlu_cfg_y.h > index e7b3d12..d7dfaf2 100644 > --- a/tools/libxl/libxlu_cfg_y.h > +++ b/tools/libxl/libxlu_cfg_y.h > @@ -1,10 +1,8 @@ > +/* A Bison parser, made by GNU Bison 2.5.ÂÂ*/ > Â > -/* A Bison parser, made by GNU Bison 2.4.1.ÂÂ*/ > - > -/* Skeleton interface for Bison's Yacc-like parsers in C > +/* Bison interface for Yacc-like parsers in C > ÂÂÂÂ > -ÂÂÂÂÂÂCopyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, > 2005, 2006 > -ÂÂÂFree Software Foundation, Inc. > +ÂÂÂÂÂÂCopyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, > Inc. > ÂÂÂÂ > ÂÂÂÂThis program is free software: you can redistribute it and/or modify > ÂÂÂÂit under the terms of the GNU General Public License as published by > @@ -52,7 +50,7 @@ > Âtypedef union YYSTYPE > Â{ > Â > -/* Line 1676 of yacc.cÂÂ*/ > +/* Line 2068 of yacc.cÂÂ*/ > Â#line 25 "libxlu_cfg_y.y" > Â > ÂÂÂchar *string; > @@ -60,8 +58,8 @@ typedef union YYSTYPE > Â > Â > Â > -/* Line 1676 of yacc.cÂÂ*/ > -#line 65 "libxlu_cfg_y.h" > +/* Line 2068 of yacc.cÂÂ*/ > +#line 63 "libxlu_cfg_y.h" > Â} YYSTYPE; > Â# define YYSTYPE_IS_TRIVIAL 1 > Â# define yystype YYSTYPE /* obsolescent; will be withdrawn */ _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |