From: Ian Campbell <ian.campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>, xen-devel@lists.xensource.com
Cc: osstest-admin@xenproject.org, Jan Beulich <JBeulich@suse.com>
Subject: Re: [PATCH 4.4 1/2] libxl: Rerun bison and flex
Date: Mon, 4 Jan 2016 15:00:09 +0000 [thread overview]
Message-ID: <1451919609.13361.143.camel@citrix.com> (raw)
In-Reply-To: <1451919024-7904-1-git-send-email-ian.jackson@eu.citrix.com>
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@eu.citrix.com>
> ---
> 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
>
> -\f
>
> #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 */
> -\f
>
> /*-----------------------------------------------.
> | 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@lists.xen.org
http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-01-04 15:00 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-21 17:01 [xen-4.4-testing test] 66718: regressions - FAIL osstest service owner
2015-12-21 17:16 ` Jan Beulich
2016-01-04 10:08 ` Ian Campbell
2016-01-04 14:50 ` [PATCH 4.4 1/2] libxl: Rerun bison and flex Ian Jackson
2016-01-04 14:50 ` [PATCH 4.4 2/2] libxl: Fix building libxlu_cfg_y.y with bison 3.0 Ian Jackson
2016-01-06 9:10 ` Jan Beulich
2016-01-06 10:30 ` Ian Campbell
2016-01-06 10:40 ` Jan Beulich
2016-01-04 15:00 ` Ian Campbell [this message]
2016-01-12 15:44 ` [PATCH 4.4 1/2] libxl: Rerun bison and flex Ian Jackson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1451919609.13361.143.camel@citrix.com \
--to=ian.campbell@citrix.com \
--cc=JBeulich@suse.com \
--cc=ian.jackson@eu.citrix.com \
--cc=osstest-admin@xenproject.org \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).