[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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.