X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=src%2Fc-parse.tab.c;fp=src%2Fc-parse.tab.c;h=a02a40caf31b94bc19dfffb78dc44961ed6bf893;hb=afe799e7802f38d1f55e1bd2044451ba164743b1;hp=5475b3d13c4ada244c51eb031cad0c8abd209bb0;hpb=38be457fa32d3ab0721ec1fc9e5086b745e17468;p=nesc.git
diff --git a/src/c-parse.tab.c b/src/c-parse.tab.c
index 5475b3d..a02a40c 100644
--- a/src/c-parse.tab.c
+++ b/src/c-parse.tab.c
@@ -1,24 +1,23 @@
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton implementation for Bison's Yacc-like parsers in C
+/* A Bison parser, made by GNU Bison 2.4.1. */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Skeleton implementation for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+
+ 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
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see . */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,7 +28,7 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -47,7 +46,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.3"
+#define YYBISON_VERSION "2.4.1"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -55,175 +54,20 @@
/* Pure parsers. */
#define YYPURE 1
-/* Using locations. */
-#define YYLSP_NEEDED 0
-
-
+/* Push parsers. */
+#define YYPUSH 0
-/* Tokens. */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- IDENTIFIER = 258,
- TYPENAME = 259,
- COMPONENTREF = 260,
- SCSPEC = 261,
- TYPESPEC = 262,
- TYPE_QUAL = 263,
- FN_QUAL = 264,
- CONSTANT = 265,
- STRING = 266,
- MAGIC_STRING = 267,
- ELLIPSIS = 268,
- SIZEOF = 269,
- ENUM = 270,
- STRUCT = 271,
- UNION = 272,
- IF = 273,
- ELSE = 274,
- WHILE = 275,
- DO = 276,
- FOR = 277,
- SWITCH = 278,
- CASE = 279,
- DEFAULT = 280,
- BREAK = 281,
- CONTINUE = 282,
- RETURN = 283,
- GOTO = 284,
- ASM_KEYWORD = 285,
- TYPEOF = 286,
- ALIGNOF = 287,
- ATTRIBUTE = 288,
- EXTENSION = 289,
- LABEL = 290,
- REALPART = 291,
- IMAGPART = 292,
- VA_ARG = 293,
- OFFSETOF = 294,
- ASSIGN = 295,
- OROR = 296,
- ANDAND = 297,
- EQCOMPARE = 298,
- ARITHCOMPARE = 299,
- RSHIFT = 300,
- LSHIFT = 301,
- MINUSMINUS = 302,
- PLUSPLUS = 303,
- POINTSAT = 304,
- DISPATCH_C = 305,
- DISPATCH_NESC = 306,
- DISPATCH_PARM = 307,
- DISPATCH_TYPE = 308,
- ATOMIC = 309,
- USES = 310,
- INTERFACE = 311,
- COMPONENTS = 312,
- PROVIDES = 313,
- MODULE = 314,
- INCLUDES = 315,
- CONFIGURATION = 316,
- AS = 317,
- TASTNIOP = 318,
- IMPLEMENTATION = 319,
- CALL = 320,
- SIGNAL = 321,
- POST = 322,
- GENERIC = 323,
- NEW = 324,
- NX_STRUCT = 325,
- NX_UNION = 326,
- ABSTRACT = 327,
- COMPONENT = 328,
- EXTENDS = 329,
- TARGET_ATTRIBUTE0 = 330,
- TARGET_ATTRIBUTE1 = 331,
- TARGET_DEF = 332
- };
-#endif
-/* Tokens. */
-#define IDENTIFIER 258
-#define TYPENAME 259
-#define COMPONENTREF 260
-#define SCSPEC 261
-#define TYPESPEC 262
-#define TYPE_QUAL 263
-#define FN_QUAL 264
-#define CONSTANT 265
-#define STRING 266
-#define MAGIC_STRING 267
-#define ELLIPSIS 268
-#define SIZEOF 269
-#define ENUM 270
-#define STRUCT 271
-#define UNION 272
-#define IF 273
-#define ELSE 274
-#define WHILE 275
-#define DO 276
-#define FOR 277
-#define SWITCH 278
-#define CASE 279
-#define DEFAULT 280
-#define BREAK 281
-#define CONTINUE 282
-#define RETURN 283
-#define GOTO 284
-#define ASM_KEYWORD 285
-#define TYPEOF 286
-#define ALIGNOF 287
-#define ATTRIBUTE 288
-#define EXTENSION 289
-#define LABEL 290
-#define REALPART 291
-#define IMAGPART 292
-#define VA_ARG 293
-#define OFFSETOF 294
-#define ASSIGN 295
-#define OROR 296
-#define ANDAND 297
-#define EQCOMPARE 298
-#define ARITHCOMPARE 299
-#define RSHIFT 300
-#define LSHIFT 301
-#define MINUSMINUS 302
-#define PLUSPLUS 303
-#define POINTSAT 304
-#define DISPATCH_C 305
-#define DISPATCH_NESC 306
-#define DISPATCH_PARM 307
-#define DISPATCH_TYPE 308
-#define ATOMIC 309
-#define USES 310
-#define INTERFACE 311
-#define COMPONENTS 312
-#define PROVIDES 313
-#define MODULE 314
-#define INCLUDES 315
-#define CONFIGURATION 316
-#define AS 317
-#define TASTNIOP 318
-#define IMPLEMENTATION 319
-#define CALL 320
-#define SIGNAL 321
-#define POST 322
-#define GENERIC 323
-#define NEW 324
-#define NX_STRUCT 325
-#define NX_UNION 326
-#define ABSTRACT 327
-#define COMPONENT 328
-#define EXTENDS 329
-#define TARGET_ATTRIBUTE0 330
-#define TARGET_ATTRIBUTE1 331
-#define TARGET_DEF 332
+/* Pull parsers. */
+#define YYPULL 1
+/* Using locations. */
+#define YYLSP_NEEDED 0
/* Copy the first part of user declarations. */
+
+/* Line 189 of yacc.c */
#line 33 "c-parse.y"
#include
@@ -260,6 +104,8 @@ void yyerror();
/* Cause the `yydebug' variable to be defined. */
#define YYDEBUG 1
+
+/* Line 189 of yacc.c */
#line 248 "c-parse.y"
/* Region in which to allocate parse structures. Idea: the AST user can set
@@ -475,6 +321,9 @@ statement make_error_stmt(void)
void yyprint();
+/* Line 189 of yacc.c */
+#line 326 "c-parse.tab.c"
+
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
@@ -493,20 +342,105 @@ void yyprint();
# define YYTOKEN_TABLE 0
#endif
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ IDENTIFIER = 258,
+ TYPENAME = 259,
+ COMPONENTREF = 260,
+ SCSPEC = 261,
+ TYPESPEC = 262,
+ TYPE_QUAL = 263,
+ FN_QUAL = 264,
+ CONSTANT = 265,
+ STRING = 266,
+ MAGIC_STRING = 267,
+ ELLIPSIS = 268,
+ SIZEOF = 269,
+ ENUM = 270,
+ STRUCT = 271,
+ UNION = 272,
+ IF = 273,
+ ELSE = 274,
+ WHILE = 275,
+ DO = 276,
+ FOR = 277,
+ SWITCH = 278,
+ CASE = 279,
+ DEFAULT = 280,
+ BREAK = 281,
+ CONTINUE = 282,
+ RETURN = 283,
+ GOTO = 284,
+ ASM_KEYWORD = 285,
+ TYPEOF = 286,
+ ALIGNOF = 287,
+ ATTRIBUTE = 288,
+ EXTENSION = 289,
+ LABEL = 290,
+ REALPART = 291,
+ IMAGPART = 292,
+ VA_ARG = 293,
+ OFFSETOF = 294,
+ ASSIGN = 295,
+ OROR = 296,
+ ANDAND = 297,
+ EQCOMPARE = 298,
+ ARITHCOMPARE = 299,
+ RSHIFT = 300,
+ LSHIFT = 301,
+ MINUSMINUS = 302,
+ PLUSPLUS = 303,
+ POINTSAT = 304,
+ DISPATCH_C = 305,
+ DISPATCH_NESC = 306,
+ DISPATCH_PARM = 307,
+ DISPATCH_TYPE = 308,
+ ATOMIC = 309,
+ USES = 310,
+ INTERFACE = 311,
+ COMPONENTS = 312,
+ PROVIDES = 313,
+ MODULE = 314,
+ INCLUDES = 315,
+ CONFIGURATION = 316,
+ AS = 317,
+ TASTNIOP = 318,
+ IMPLEMENTATION = 319,
+ CALL = 320,
+ SIGNAL = 321,
+ POST = 322,
+ GENERIC = 323,
+ NEW = 324,
+ NX_STRUCT = 325,
+ NX_UNION = 326,
+ ABSTRACT = 327,
+ COMPONENT = 328,
+ EXTENDS = 329,
+ TARGET_ATTRIBUTE0 = 330,
+ TARGET_ATTRIBUTE1 = 331,
+ TARGET_DEF = 332
+ };
+#endif
+
+
+
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef int YYSTYPE;
+
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
-
/* Copy the second part of user declarations. */
-/* Line 216 of yacc.c. */
-#line 510 "c-parse.tab.c"
+/* Line 264 of yacc.c */
+#line 444 "c-parse.tab.c"
#ifdef short
# undef short
@@ -581,14 +515,14 @@ typedef short int yytype_int16;
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static int
-YYID (int i)
+YYID (int yyi)
#else
static int
-YYID (i)
- int i;
+YYID (yyi)
+ int yyi;
#endif
{
- return i;
+ return yyi;
}
#endif
@@ -669,9 +603,9 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
/* A type that is properly aligned for any stack member. */
union yyalloc
{
- yytype_int16 yyss;
- YYSTYPE yyvs;
- };
+ yytype_int16 yyss_alloc;
+ YYSTYPE yyvs_alloc;
+};
/* The size of the maximum gap between one aligned stack and the next. */
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
@@ -705,12 +639,12 @@ union yyalloc
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
-# define YYSTACK_RELOCATE(Stack) \
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
do \
{ \
YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack, Stack, yysize); \
- Stack = &yyptr->Stack; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / sizeof (*yyptr); \
} \
@@ -1138,26 +1072,26 @@ static const char *const yytname[] =
"SIGNAL", "POST", "GENERIC", "NEW", "NX_STRUCT", "NX_UNION", "ABSTRACT",
"COMPONENT", "EXTENDS", "TARGET_ATTRIBUTE0", "TARGET_ATTRIBUTE1",
"TARGET_DEF", "','", "'}'", "']'", "')'", "'@'", "$accept", "dispatch",
- "ncheader", "@1", "includes_list", "includes", "include_list",
- "interface", "@2", "@3", "interface_parms", "interface_parm_list",
- "interface_parm", "type_parm", "datadef_list", "parameters", "@4",
- "parameters1", "component", "module", "@5", "@6", "configuration", "@7",
- "@8", "@9", "binary_component", "@10", "@11", "generic",
+ "ncheader", "$@1", "includes_list", "includes", "include_list",
+ "interface", "$@2", "$@3", "interface_parms", "interface_parm_list",
+ "interface_parm", "type_parm", "datadef_list", "parameters", "$@4",
+ "parameters1", "component", "module", "$@5", "$@6", "configuration",
+ "$@7", "$@8", "$@9", "binary_component", "$@10", "$@11", "generic",
"component_parms", "template_parms", "template_parmlist",
"template_parm", "requires_or_provides_list",
- "requires_or_provides_list_", "requires_or_provides", "@12", "requires",
- "@13", "provides", "@14", "parameterised_interface_list",
+ "requires_or_provides_list_", "requires_or_provides", "$@12", "requires",
+ "$@13", "provides", "$@14", "parameterised_interface_list",
"parameterised_interfaces", "parameterised_interface", "interface_ref",
- "interface_type", "@15", "typelist", "iconfiguration", "@16", "cuses",
+ "interface_type", "$@15", "typelist", "iconfiguration", "@16", "cuses",
"component_list", "component_ref", "component_ref2", "generic_args",
"generic_arglist", "generic_arg", "generic_type", "configuration_decls",
"configuration_decl", "connection", "endpoint",
"parameterised_identifier", "imodule", "@17", "extdefs", "@18", "@19",
"extdef", "datadef", "just_datadef", "target_def", "fndef", "fndef2",
- "@20", "@21", "identifier", "id_label", "idword", "unop", "expr",
+ "$@20", "$@21", "identifier", "id_label", "idword", "unop", "expr",
"exprlist", "nonnull_exprlist", "nonnull_exprlist_", "callkind",
- "unary_expr", "sizeof", "alignof", "cast_expr", "@22", "expr_no_commas",
- "@23", "primary", "@24", "fieldlist", "function_call", "string",
+ "unary_expr", "sizeof", "alignof", "cast_expr", "$@22", "expr_no_commas",
+ "$@23", "primary", "$@24", "fieldlist", "function_call", "string",
"old_style_parm_decls", "datadecls", "datadecl", "decls", "setspecs",
"maybe_resetattrs", "decl", "declspecs_nosc_nots_nosa_noea",
"declspecs_nosc_nots_nosa_ea", "declspecs_nosc_nots_sa_noea",
@@ -1177,27 +1111,27 @@ static const char *const yytname[] =
"notype_initdcl", "@26", "maybe_attribute", "eattributes",
"nesc_attributes", "attributes", "attribute", "target_attribute",
"restricted_expr", "attribute_list", "attrib", "nattrib", "nastart",
- "any_word", "init", "@27", "initlist_maybe_comma", "initlist1",
- "initelt", "@28", "initval", "@29", "designator_list", "designator",
- "nested_function", "@30", "@31", "notype_nested_function", "@32", "@33",
- "declarator", "after_type_declarator", "parm_declarator",
+ "any_word", "init", "$@27", "initlist_maybe_comma", "initlist1",
+ "initelt", "@28", "initval", "$@29", "designator_list", "designator",
+ "nested_function", "$@30", "$@31", "notype_nested_function", "$@32",
+ "$@33", "declarator", "after_type_declarator", "parm_declarator",
"notype_declarator", "tag", "structuse", "structdef", "@34", "@35",
"@36", "@37", "structkind", "maybecomma", "maybecomma_warn",
"component_decl_list", "component_decl_list2", "component_decl",
"components", "components_notype", "component_declarator",
"component_notype_declarator", "enumlist", "enumerator", "typename",
- "@38", "absdcl", "absdcl1", "absdcl1_noea", "absdcl1_ea",
+ "$@38", "absdcl", "absdcl1", "absdcl1_noea", "absdcl1_ea",
"direct_absdcl1", "array_or_fn_declarator", "array_or_absfn_declarator",
"fn_declarator", "absfn_declarator", "array_declarator", "stmts",
"stmt_or_labels", "xstmts", "errstmt", "pushlevel", "maybe_label_decls",
"label_decls", "label_decl", "compstmt_or_error", "compstmt_start",
"compstmt", "simple_if", "if_prefix", "do_stmt_start", "@39",
- "labeled_stmt", "stmt_or_label", "atomic_stmt", "@40", "stmt_or_error",
- "stmt", "@41", "@42", "@43", "@44", "@45", "@46", "@47", "label",
+ "labeled_stmt", "stmt_or_label", "atomic_stmt", "$@40", "stmt_or_error",
+ "stmt", "$@41", "$@42", "@43", "$@44", "$@45", "@46", "@47", "label",
"maybe_type_qual", "xexpr", "asm_operands", "nonnull_asm_operands",
- "asm_operand", "asm_clobbers", "parmlist", "@48", "parmlist_1", "@49",
+ "asm_operand", "asm_clobbers", "parmlist", "$@48", "parmlist_1", "$@49",
"parmlist_2", "parms", "parm", "xreferror", "parmlist_or_identifiers",
- "@50", "parmlist_or_identifiers_1", "identifiers", "old_parameter",
+ "$@50", "parmlist_or_identifiers_1", "identifiers", "old_parameter",
"identifiers_or_typenames", "fn_quals", "extension", "scspec",
"type_qual", "fn_qual", "type_spec", 0
};
@@ -2793,17 +2727,20 @@ yy_symbol_print (yyoutput, yytype, yyvaluep)
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
-yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
#else
static void
-yy_stack_print (bottom, top)
- yytype_int16 *bottom;
- yytype_int16 *top;
+yy_stack_print (yybottom, yytop)
+ yytype_int16 *yybottom;
+ yytype_int16 *yytop;
#endif
{
YYFPRINTF (stderr, "Stack now");
- for (; bottom <= top; ++bottom)
- YYFPRINTF (stderr, " %d", *bottom);
+ for (; yybottom <= yytop; yybottom++)
+ {
+ int yybot = *yybottom;
+ YYFPRINTF (stderr, " %d", yybot);
+ }
YYFPRINTF (stderr, "\n");
}
@@ -2837,11 +2774,11 @@ yy_reduce_print (yyvsp, yyrule)
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
- fprintf (stderr, " $%d = ", yyi + 1);
+ YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
&(yyvsp[(yyi + 1) - (yynrhs)])
);
- fprintf (stderr, "\n");
+ YYFPRINTF (stderr, "\n");
}
}
@@ -3121,10 +3058,8 @@ yydestruct (yymsg, yytype, yyvaluep)
break;
}
}
-
/* Prevent warnings from -Wmissing-prototypes. */
-
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
@@ -3143,10 +3078,9 @@ int yyparse ();
-
-/*----------.
-| yyparse. |
-`----------*/
+/*-------------------------.
+| yyparse or yypush_parse. |
+`-------------------------*/
#ifdef YYPARSE_PARAM
#if (defined __STDC__ || defined __C99__FUNC__ \
@@ -3170,74 +3104,75 @@ yyparse ()
#endif
#endif
{
- /* The look-ahead symbol. */
+/* The lookahead symbol. */
int yychar;
-/* The semantic value of the look-ahead symbol. */
+/* The semantic value of the lookahead symbol. */
YYSTYPE yylval;
-/* Number of syntax errors so far. */
-int yynerrs;
-
- int yystate;
- int yyn;
- int yyresult;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
- /* Look-ahead token as an internal (translated) token number. */
- int yytoken = 0;
-#if YYERROR_VERBOSE
- /* Buffer for error messages, and its allocated size. */
- char yymsgbuf[128];
- char *yymsg = yymsgbuf;
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
-#endif
-
- /* Three stacks and their tools:
- `yyss': related to states,
- `yyvs': related to semantic values,
- `yyls': related to locations.
+ /* Number of syntax errors so far. */
+ int yynerrs;
- Refer to the stacks thru separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
+ int yystate;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
- /* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss = yyssa;
- yytype_int16 *yyssp;
+ /* The stacks and their tools:
+ `yyss': related to states.
+ `yyvs': related to semantic values.
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs = yyvsa;
- YYSTYPE *yyvsp;
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+ /* The state stack. */
+ yytype_int16 yyssa[YYINITDEPTH];
+ yytype_int16 *yyss;
+ yytype_int16 *yyssp;
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs;
+ YYSTYPE *yyvsp;
-#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
-
- YYSIZE_T yystacksize = YYINITDEPTH;
+ YYSIZE_T yystacksize;
+ int yyn;
+ int yyresult;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;
+#if YYERROR_VERBOSE
+ /* Buffer for error messages, and its allocated size. */
+ char yymsgbuf[128];
+ char *yymsg = yymsgbuf;
+ YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
/* The number of symbols on the RHS of the reduced rule.
Keep to zero when no symbol should be popped. */
int yylen = 0;
+ yytoken = 0;
+ yyss = yyssa;
+ yyvs = yyvsa;
+ yystacksize = YYINITDEPTH;
+
YYDPRINTF ((stderr, "Starting parse\n"));
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
+ yychar = YYEMPTY; /* Cause a token to be read. */
/* Initialize stack pointers.
Waste one element of value and location stack
so that they stay on the same level as the state stack.
The wasted elements are never initialized. */
-
yyssp = yyss;
yyvsp = yyvs;
@@ -3267,7 +3202,6 @@ int yynerrs;
YYSTYPE *yyvs1 = yyvs;
yytype_int16 *yyss1 = yyss;
-
/* Each stack pointer address is followed by the size of the
data in use in that stack, in bytes. This used to be a
conditional around just the two extra args, but that might
@@ -3275,7 +3209,6 @@ int yynerrs;
yyoverflow (YY_("memory exhausted"),
&yyss1, yysize * sizeof (*yyssp),
&yyvs1, yysize * sizeof (*yyvsp),
-
&yystacksize);
yyss = yyss1;
@@ -3298,9 +3231,8 @@ int yynerrs;
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
if (! yyptr)
goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss);
- YYSTACK_RELOCATE (yyvs);
-
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
@@ -3311,7 +3243,6 @@ int yynerrs;
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
-
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
(unsigned long int) yystacksize));
@@ -3321,6 +3252,9 @@ int yynerrs;
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+ if (yystate == YYFINAL)
+ YYACCEPT;
+
goto yybackup;
/*-----------.
@@ -3329,16 +3263,16 @@ int yynerrs;
yybackup:
/* Do appropriate processing given the current state. Read a
- look-ahead token if we need one and don't already have one. */
+ lookahead token if we need one and don't already have one. */
- /* First try to decide what to do without reference to look-ahead token. */
+ /* First try to decide what to do without reference to lookahead token. */
yyn = yypact[yystate];
if (yyn == YYPACT_NINF)
goto yydefault;
- /* Not known => get a look-ahead token if don't already have one. */
+ /* Not known => get a lookahead token if don't already have one. */
- /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
@@ -3370,20 +3304,16 @@ yybackup:
goto yyreduce;
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
/* Count tokens shifted since error; after three, turn off error
status. */
if (yyerrstatus)
yyerrstatus--;
- /* Shift the look-ahead token. */
+ /* Shift the lookahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
- /* Discard the shifted token unless it is eof. */
- if (yychar != YYEOF)
- yychar = YYEMPTY;
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
yystate = yyn;
*++yyvsp = yylval;
@@ -3423,16 +3353,22 @@ yyreduce:
switch (yyn)
{
case 2:
+
+/* Line 1455 of yacc.c */
#line 465 "c-parse.y"
{ ;}
break;
case 3:
+
+/* Line 1455 of yacc.c */
#line 466 "c-parse.y"
{ ;}
break;
case 4:
+
+/* Line 1455 of yacc.c */
#line 467 "c-parse.y"
{
declaration cdecls = declaration_reverse((yyvsp[(2) - (2)].u.decl));
@@ -3440,36 +3376,50 @@ yyreduce:
break;
case 5:
+
+/* Line 1455 of yacc.c */
#line 470 "c-parse.y"
{ parse_tree = NULL; ;}
break;
case 6:
+
+/* Line 1455 of yacc.c */
#line 471 "c-parse.y"
{ parse_tree = CAST(node, (yyvsp[(2) - (2)].u.decl)); ;}
break;
case 7:
+
+/* Line 1455 of yacc.c */
#line 472 "c-parse.y"
{ parse_tree = CAST(node, make_error_decl()); ;}
break;
case 8:
+
+/* Line 1455 of yacc.c */
#line 473 "c-parse.y"
{ parse_tree = CAST(node, (yyvsp[(2) - (2)].u.type)); ;}
break;
case 9:
+
+/* Line 1455 of yacc.c */
#line 474 "c-parse.y"
{ parse_tree = NULL; ;}
break;
case 10:
+
+/* Line 1455 of yacc.c */
#line 478 "c-parse.y"
{ end_macro_saving(); ;}
break;
case 12:
+
+/* Line 1455 of yacc.c */
#line 480 "c-parse.y"
{
end_macro_saving();
@@ -3478,21 +3428,29 @@ yyreduce:
break;
case 15:
+
+/* Line 1455 of yacc.c */
#line 492 "c-parse.y"
{ ;}
break;
case 16:
+
+/* Line 1455 of yacc.c */
#line 497 "c-parse.y"
{ require_c((yyvsp[(1) - (1)].idtoken).location, (yyvsp[(1) - (1)].idtoken).id.data); ;}
break;
case 17:
+
+/* Line 1455 of yacc.c */
#line 499 "c-parse.y"
{ require_c((yyvsp[(3) - (3)].idtoken).location, (yyvsp[(3) - (3)].idtoken).id.data); ;}
break;
case 18:
+
+/* Line 1455 of yacc.c */
#line 505 "c-parse.y"
{
start_nesc_entity(l_interface, (yyvsp[(3) - (3)].u.word));
@@ -3500,6 +3458,8 @@ yyreduce:
break;
case 19:
+
+/* Line 1455 of yacc.c */
#line 509 "c-parse.y"
{
handle_nescdecl_attributes((yyvsp[(6) - (6)].u.attribute), current.container);
@@ -3507,6 +3467,8 @@ yyreduce:
break;
case 20:
+
+/* Line 1455 of yacc.c */
#line 513 "c-parse.y"
{
interface intf = new_interface(pr, (yyvsp[(2) - (10)].u.itoken).location, (yyvsp[(3) - (10)].u.word), (yyvsp[(6) - (10)].u.attribute), declaration_reverse((yyvsp[(9) - (10)].u.decl)));
@@ -3519,11 +3481,15 @@ yyreduce:
break;
case 21:
+
+/* Line 1455 of yacc.c */
#line 524 "c-parse.y"
{ (yyval.u.decl) = NULL; ;}
break;
case 22:
+
+/* Line 1455 of yacc.c */
#line 526 "c-parse.y"
{
nesc_declaration intf = current.container;
@@ -3542,36 +3508,50 @@ yyreduce:
break;
case 24:
+
+/* Line 1455 of yacc.c */
#line 545 "c-parse.y"
{ (yyval.u.decl) = declaration_chain((yyvsp[(1) - (3)].u.decl), (yyvsp[(3) - (3)].u.decl)); ;}
break;
case 25:
+
+/* Line 1455 of yacc.c */
#line 550 "c-parse.y"
{ (yyval.u.decl) = declare_type_parameter((yyvsp[(1) - (2)].idtoken).location, (yyvsp[(1) - (2)].idtoken).id, (yyvsp[(2) - (2)].u.attribute), NULL); ;}
break;
case 26:
+
+/* Line 1455 of yacc.c */
#line 554 "c-parse.y"
{ (yyval.idtoken) = (yyvsp[(1) - (1)].idtoken); ;}
break;
case 27:
+
+/* Line 1455 of yacc.c */
#line 558 "c-parse.y"
{ (yyval.u.decl) = declaration_chain((yyvsp[(2) - (2)].u.decl), (yyvsp[(1) - (2)].u.decl)); ;}
break;
case 29:
+
+/* Line 1455 of yacc.c */
#line 562 "c-parse.y"
{ pushlevel(TRUE); ;}
break;
case 30:
+
+/* Line 1455 of yacc.c */
#line 563 "c-parse.y"
{ /* poplevel done in users of parameters */ (yyval.u.decl) = (yyvsp[(3) - (3)].u.decl); ;}
break;
case 31:
+
+/* Line 1455 of yacc.c */
#line 567 "c-parse.y"
{
(yyval.u.decl) = declaration_reverse((yyvsp[(1) - (2)].u.decl));
@@ -3580,11 +3560,15 @@ yyreduce:
break;
case 32:
+
+/* Line 1455 of yacc.c */
#line 571 "c-parse.y"
{ (yyval.u.decl) = make_error_decl(); ;}
break;
case 36:
+
+/* Line 1455 of yacc.c */
#line 582 "c-parse.y"
{
start_nesc_entity(l_component, (yyvsp[(3) - (3)].u.word));
@@ -3593,6 +3577,8 @@ yyreduce:
break;
case 37:
+
+/* Line 1455 of yacc.c */
#line 587 "c-parse.y"
{
handle_nescdecl_attributes((yyvsp[(6) - (6)].u.attribute), current.container);
@@ -3600,6 +3586,8 @@ yyreduce:
break;
case 38:
+
+/* Line 1455 of yacc.c */
#line 592 "c-parse.y"
{
declaration intfs =
@@ -3609,6 +3597,8 @@ yyreduce:
break;
case 39:
+
+/* Line 1455 of yacc.c */
#line 601 "c-parse.y"
{
start_nesc_entity(l_component, (yyvsp[(3) - (3)].u.word));
@@ -3618,6 +3608,8 @@ yyreduce:
break;
case 40:
+
+/* Line 1455 of yacc.c */
#line 607 "c-parse.y"
{
handle_nescdecl_attributes((yyvsp[(6) - (6)].u.attribute), current.container);
@@ -3625,6 +3617,8 @@ yyreduce:
break;
case 41:
+
+/* Line 1455 of yacc.c */
#line 611 "c-parse.y"
{
set_nesc_ast(new_component(pr, (yyvsp[(2) - (10)].u.itoken).location, (yyvsp[(3) - (10)].u.word), (yyvsp[(6) - (10)].u.attribute), (yyvsp[(1) - (10)].abstract), (yyvsp[(5) - (10)].u.decl), declaration_reverse((yyvsp[(9) - (10)].u.decl)), NULL));
@@ -3632,6 +3626,8 @@ yyreduce:
break;
case 42:
+
+/* Line 1455 of yacc.c */
#line 615 "c-parse.y"
{
set_nesc_impl((yyvsp[(12) - (12)].u.impl));
@@ -3639,6 +3635,8 @@ yyreduce:
break;
case 43:
+
+/* Line 1455 of yacc.c */
#line 622 "c-parse.y"
{
start_nesc_entity(l_component, (yyvsp[(2) - (2)].u.word));
@@ -3646,6 +3644,8 @@ yyreduce:
break;
case 44:
+
+/* Line 1455 of yacc.c */
#line 626 "c-parse.y"
{
handle_nescdecl_attributes((yyvsp[(4) - (4)].u.attribute), current.container);
@@ -3653,6 +3653,8 @@ yyreduce:
break;
case 45:
+
+/* Line 1455 of yacc.c */
#line 630 "c-parse.y"
{
binary_component dummy = new_binary_component(pr, (yyvsp[(1) - (8)].u.itoken).location, start_implementation());
@@ -3662,16 +3664,22 @@ yyreduce:
break;
case 46:
+
+/* Line 1455 of yacc.c */
#line 637 "c-parse.y"
{ (yyval.abstract) = TRUE; ;}
break;
case 47:
+
+/* Line 1455 of yacc.c */
#line 638 "c-parse.y"
{ (yyval.abstract) = FALSE; ;}
break;
case 48:
+
+/* Line 1455 of yacc.c */
#line 643 "c-parse.y"
{
if (current.container->abstract)
@@ -3684,6 +3692,8 @@ yyreduce:
break;
case 49:
+
+/* Line 1455 of yacc.c */
#line 652 "c-parse.y"
{
nesc_declaration comp = current.container;
@@ -3703,91 +3713,127 @@ yyreduce:
break;
case 50:
+
+/* Line 1455 of yacc.c */
#line 670 "c-parse.y"
{ (yyval.u.decl) = NULL; ;}
break;
case 53:
+
+/* Line 1455 of yacc.c */
#line 677 "c-parse.y"
{ (yyval.u.decl) = declaration_chain((yyvsp[(1) - (3)].u.decl), (yyvsp[(3) - (3)].u.decl)); ;}
break;
case 54:
+
+/* Line 1455 of yacc.c */
#line 686 "c-parse.y"
{ (yyval.u.decl) = declare_template_parameter((yyvsp[(3) - (4)].u.declarator), (yyvsp[(1) - (4)].u.telement), (yyvsp[(4) - (4)].u.attribute)); ;}
break;
case 55:
+
+/* Line 1455 of yacc.c */
#line 688 "c-parse.y"
{ (yyval.u.decl) = declare_template_parameter((yyvsp[(3) - (4)].u.declarator), (yyvsp[(1) - (4)].u.telement), (yyvsp[(4) - (4)].u.attribute)); ;}
break;
case 56:
+
+/* Line 1455 of yacc.c */
#line 690 "c-parse.y"
{ (yyval.u.decl) = declare_template_parameter((yyvsp[(3) - (4)].u.declarator), (yyvsp[(1) - (4)].u.telement), (yyvsp[(4) - (4)].u.attribute)); ;}
break;
case 57:
+
+/* Line 1455 of yacc.c */
#line 692 "c-parse.y"
{ (yyval.u.decl) = declare_template_parameter(NULL, (yyvsp[(1) - (2)].u.telement), NULL); ;}
break;
case 58:
+
+/* Line 1455 of yacc.c */
#line 697 "c-parse.y"
{ current.spec_section = spec_normal; ;}
break;
case 59:
+
+/* Line 1455 of yacc.c */
#line 702 "c-parse.y"
{ (yyval.u.decl) = declaration_chain((yyvsp[(2) - (2)].u.decl), (yyvsp[(1) - (2)].u.decl)); ;}
break;
case 60:
+
+/* Line 1455 of yacc.c */
#line 703 "c-parse.y"
{ (yyval.u.decl) = NULL; ;}
break;
case 63:
+
+/* Line 1455 of yacc.c */
#line 709 "c-parse.y"
{ current.spec_section = spec_normal; ;}
break;
case 64:
+
+/* Line 1455 of yacc.c */
#line 709 "c-parse.y"
{ (yyval.u.decl) = (yyvsp[(2) - (2)].u.decl); ;}
break;
case 65:
+
+/* Line 1455 of yacc.c */
#line 713 "c-parse.y"
{ current.spec_section = spec_uses; ;}
break;
case 66:
+
+/* Line 1455 of yacc.c */
#line 715 "c-parse.y"
{ (yyval.u.decl) = CAST(declaration, new_rp_interface(pr, (yyvsp[(1) - (3)].u.itoken).location, TRUE, declaration_reverse((yyvsp[(3) - (3)].u.decl)))); ;}
break;
case 67:
+
+/* Line 1455 of yacc.c */
#line 718 "c-parse.y"
{ current.spec_section = spec_provides; ;}
break;
case 68:
+
+/* Line 1455 of yacc.c */
#line 720 "c-parse.y"
{ (yyval.u.decl) = CAST(declaration, new_rp_interface(pr, (yyvsp[(1) - (3)].u.itoken).location, FALSE, declaration_reverse((yyvsp[(3) - (3)].u.decl)))); ;}
break;
case 70:
+
+/* Line 1455 of yacc.c */
#line 724 "c-parse.y"
{ (yyval.u.decl) = (yyvsp[(2) - (3)].u.decl); ;}
break;
case 71:
+
+/* Line 1455 of yacc.c */
#line 729 "c-parse.y"
{ (yyval.u.decl) = declaration_chain((yyvsp[(2) - (2)].u.decl), (yyvsp[(1) - (2)].u.decl)); ;}
break;
case 74:
+
+/* Line 1455 of yacc.c */
#line 736 "c-parse.y"
{
declare_interface_ref((yyvsp[(1) - (3)].u.iref), NULL, current.env, (yyvsp[(2) - (3)].u.attribute));
@@ -3796,6 +3842,8 @@ yyreduce:
break;
case 75:
+
+/* Line 1455 of yacc.c */
#line 741 "c-parse.y"
{
(yyvsp[(1) - (4)].u.iref)->gparms = (yyvsp[(2) - (4)].u.decl);
@@ -3806,11 +3854,15 @@ yyreduce:
break;
case 77:
+
+/* Line 1455 of yacc.c */
#line 751 "c-parse.y"
{ (yyval.u.iref) = (yyvsp[(1) - (3)].u.iref); (yyval.u.iref)->word2 = (yyvsp[(3) - (3)].u.word); ;}
break;
case 78:
+
+/* Line 1455 of yacc.c */
#line 756 "c-parse.y"
{
preload(l_interface, (yyvsp[(1) - (2)].u.itoken).location, (yyvsp[(2) - (2)].u.word)->cstring.data);
@@ -3819,6 +3871,8 @@ yyreduce:
break;
case 79:
+
+/* Line 1455 of yacc.c */
#line 761 "c-parse.y"
{
preload(l_interface, (yyvsp[(1) - (2)].u.itoken).location, (yyvsp[(2) - (2)].u.word)->cstring.data);
@@ -3826,114 +3880,158 @@ yyreduce:
break;
case 80:
+
+/* Line 1455 of yacc.c */
#line 765 "c-parse.y"
{ (yyval.u.iref) = new_interface_ref(pr, (yyvsp[(1) - (6)].u.itoken).location, (yyvsp[(2) - (6)].u.word), (yyvsp[(5) - (6)].u.expr), NULL, NULL, NULL, NULL); ;}
break;
case 82:
+
+/* Line 1455 of yacc.c */
#line 770 "c-parse.y"
{ (yyval.u.expr) = expression_chain((yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); ;}
break;
case 83:
+
+/* Line 1455 of yacc.c */
#line 774 "c-parse.y"
{ (yyval.u.env) = start_implementation(); ;}
break;
case 84:
+
+/* Line 1455 of yacc.c */
#line 778 "c-parse.y"
{ (yyval.u.impl) = CAST(implementation, new_configuration(pr, (yyvsp[(1) - (5)].u.itoken).location, (yyvsp[(2) - (5)].u.env), declaration_reverse((yyvsp[(4) - (5)].u.decl))));
;}
break;
case 85:
+
+/* Line 1455 of yacc.c */
#line 782 "c-parse.y"
{ (yyval.u.cref) = (yyvsp[(2) - (3)].u.cref); ;}
break;
case 86:
+
+/* Line 1455 of yacc.c */
#line 786 "c-parse.y"
{ (yyval.u.cref) = component_ref_chain((yyvsp[(3) - (3)].u.cref), (yyvsp[(1) - (3)].u.cref)); ;}
break;
case 88:
+
+/* Line 1455 of yacc.c */
#line 791 "c-parse.y"
{ (yyval.u.cref) = require_component((yyvsp[(1) - (1)].u.cref), NULL); ;}
break;
case 89:
+
+/* Line 1455 of yacc.c */
#line 792 "c-parse.y"
{ (yyval.u.cref) = require_component((yyvsp[(1) - (3)].u.cref), (yyvsp[(3) - (3)].u.word)); ;}
break;
case 90:
+
+/* Line 1455 of yacc.c */
#line 796 "c-parse.y"
{ (yyval.u.cref) = new_component_ref(pr, (yyvsp[(1) - (1)].u.word)->location, (yyvsp[(1) - (1)].u.word), NULL,
FALSE, NULL); ;}
break;
case 91:
+
+/* Line 1455 of yacc.c */
#line 799 "c-parse.y"
{ (yyval.u.cref) = new_component_ref(pr, (yyvsp[(1) - (5)].u.itoken).location, (yyvsp[(2) - (5)].u.word), NULL,
TRUE, (yyvsp[(4) - (5)].u.expr)); ;}
break;
case 92:
+
+/* Line 1455 of yacc.c */
#line 804 "c-parse.y"
{ (yyval.u.expr) = NULL; ;}
break;
case 95:
+
+/* Line 1455 of yacc.c */
#line 810 "c-parse.y"
{ (yyval.u.expr) = expression_chain((yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); ;}
break;
case 96:
+
+/* Line 1455 of yacc.c */
#line 815 "c-parse.y"
{ (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); (yyval.u.expr)->type = default_conversion_for_assignment((yyval.u.expr)); ;}
break;
case 98:
+
+/* Line 1455 of yacc.c */
#line 820 "c-parse.y"
{ (yyval.u.expr) = make_type_argument((yyvsp[(1) - (1)].u.type)); ;}
break;
case 99:
+
+/* Line 1455 of yacc.c */
#line 824 "c-parse.y"
{ (yyval.u.decl) = declaration_chain((yyvsp[(2) - (2)].u.decl), (yyvsp[(1) - (2)].u.decl)); ;}
break;
case 100:
+
+/* Line 1455 of yacc.c */
#line 825 "c-parse.y"
{ (yyval.u.decl) = NULL; ;}
break;
case 101:
+
+/* Line 1455 of yacc.c */
#line 829 "c-parse.y"
{ (yyval.u.decl) = CAST(declaration, (yyvsp[(1) - (1)].u.conn)); ;}
break;
case 103:
+
+/* Line 1455 of yacc.c */
#line 831 "c-parse.y"
{ (yyval.u.decl) = CAST(declaration, (yyvsp[(1) - (1)].u.cref)); ;}
break;
case 104:
+
+/* Line 1455 of yacc.c */
#line 836 "c-parse.y"
{ (yyval.u.conn) = CAST(connection, new_eq_connection(pr, (yyvsp[(2) - (4)].u.itoken).location, (yyvsp[(1) - (4)].u.ep), (yyvsp[(3) - (4)].u.ep))); ;}
break;
case 105:
+
+/* Line 1455 of yacc.c */
#line 838 "c-parse.y"
{ (yyval.u.conn) = CAST(connection, new_rp_connection(pr, (yyvsp[(2) - (4)].u.itoken).location, (yyvsp[(3) - (4)].u.ep), (yyvsp[(1) - (4)].u.ep))); ;}
break;
case 106:
+
+/* Line 1455 of yacc.c */
#line 840 "c-parse.y"
{ (yyval.u.conn) = CAST(connection, new_rp_connection(pr, (yyvsp[(2) - (4)].u.itoken).location, (yyvsp[(1) - (4)].u.ep), (yyvsp[(3) - (4)].u.ep))); ;}
break;
case 107:
+
+/* Line 1455 of yacc.c */
#line 845 "c-parse.y"
{ (yyval.u.ep) = (yyvsp[(1) - (3)].u.ep);
(yyval.u.ep)->ids = parameterised_identifier_chain((yyval.u.ep)->ids, (yyvsp[(3) - (3)].u.pid));
@@ -3941,26 +4039,36 @@ yyreduce:
break;
case 108:
+
+/* Line 1455 of yacc.c */
#line 849 "c-parse.y"
{ (yyval.u.ep) = new_endpoint(parse_region, (yyvsp[(1) - (1)].u.pid)->location, (yyvsp[(1) - (1)].u.pid)); ;}
break;
case 109:
+
+/* Line 1455 of yacc.c */
#line 854 "c-parse.y"
{ (yyval.u.pid) = new_parameterised_identifier(pr, (yyvsp[(1) - (1)].u.word)->location, (yyvsp[(1) - (1)].u.word), NULL); ;}
break;
case 110:
+
+/* Line 1455 of yacc.c */
#line 856 "c-parse.y"
{ (yyval.u.pid) = new_parameterised_identifier(pr, (yyvsp[(1) - (4)].u.word)->location, (yyvsp[(1) - (4)].u.word), (yyvsp[(3) - (4)].u.expr)); ;}
break;
case 111:
+
+/* Line 1455 of yacc.c */
#line 859 "c-parse.y"
{ (yyval.u.env) = start_implementation(); all_tasks = NULL; ;}
break;
case 112:
+
+/* Line 1455 of yacc.c */
#line 860 "c-parse.y"
{
(yyval.u.impl) = CAST(implementation, new_module(pr, (yyvsp[(1) - (5)].u.itoken).location, (yyvsp[(2) - (5)].u.env), declaration_reverse((yyvsp[(4) - (5)].u.decl))));
@@ -3968,26 +4076,36 @@ yyreduce:
break;
case 113:
+
+/* Line 1455 of yacc.c */
#line 869 "c-parse.y"
{ (yyval.u.telement) = NULL; ;}
break;
case 114:
+
+/* Line 1455 of yacc.c */
#line 869 "c-parse.y"
{ (yyval.u.decl) = (yyvsp[(2) - (2)].u.decl); ;}
break;
case 115:
+
+/* Line 1455 of yacc.c */
#line 870 "c-parse.y"
{ (yyval.u.telement) = NULL; ;}
break;
case 116:
+
+/* Line 1455 of yacc.c */
#line 871 "c-parse.y"
{ (yyval.u.decl) = declaration_chain((yyvsp[(3) - (3)].u.decl), (yyvsp[(1) - (3)].u.decl)); ;}
break;
case 119:
+
+/* Line 1455 of yacc.c */
#line 878 "c-parse.y"
{
(yyval.u.decl) = CAST(declaration, new_asm_decl
@@ -3996,11 +4114,15 @@ yyreduce:
break;
case 120:
+
+/* Line 1455 of yacc.c */
#line 883 "c-parse.y"
{ (yyval.u.decl) = make_extension_decl((yyvsp[(1) - (2)].u.itoken).i, (yyvsp[(1) - (2)].u.itoken).location, (yyvsp[(2) - (2)].u.decl)); ;}
break;
case 121:
+
+/* Line 1455 of yacc.c */
#line 888 "c-parse.y"
{ if (pedantic)
error("ANSI C forbids data definition with no type or storage class");
@@ -4011,32 +4133,44 @@ yyreduce:
break;
case 123:
+
+/* Line 1455 of yacc.c */
#line 899 "c-parse.y"
{ (yyval.u.decl) = make_data_decl((yyvsp[(1) - (4)].u.telement), (yyvsp[(3) - (4)].u.decl)); ;}
break;
case 124:
+
+/* Line 1455 of yacc.c */
#line 901 "c-parse.y"
{ (yyval.u.decl) = make_data_decl((yyvsp[(1) - (4)].u.telement), (yyvsp[(3) - (4)].u.decl)); ;}
break;
case 125:
+
+/* Line 1455 of yacc.c */
#line 903 "c-parse.y"
{ shadow_tag((yyvsp[(1) - (3)].u.telement));
(yyval.u.decl) = make_data_decl((yyvsp[(1) - (3)].u.telement), NULL); ;}
break;
case 126:
+
+/* Line 1455 of yacc.c */
#line 905 "c-parse.y"
{ (yyval.u.decl) = make_error_decl(); ;}
break;
case 127:
+
+/* Line 1455 of yacc.c */
#line 906 "c-parse.y"
{ (yyval.u.decl) = make_error_decl(); ;}
break;
case 128:
+
+/* Line 1455 of yacc.c */
#line 908 "c-parse.y"
{ if (pedantic)
pedwarn("ANSI C does not allow extra `;' outside of a function");
@@ -4044,26 +4178,36 @@ yyreduce:
break;
case 130:
+
+/* Line 1455 of yacc.c */
#line 916 "c-parse.y"
{ (yyval.u.decl) = target->keilc_definition((yyvsp[(1) - (5)].idtoken).location, (yyvsp[(1) - (5)].idtoken).id, (yyvsp[(2) - (5)].idtoken).id, (yyvsp[(4) - (5)].u.expr)); ;}
break;
case 131:
+
+/* Line 1455 of yacc.c */
#line 920 "c-parse.y"
{ (yyval.u.decl) = (yyvsp[(4) - (4)].u.decl); ;}
break;
case 132:
+
+/* Line 1455 of yacc.c */
#line 921 "c-parse.y"
{ (yyval.u.decl) = (yyvsp[(4) - (4)].u.decl); ;}
break;
case 133:
+
+/* Line 1455 of yacc.c */
#line 922 "c-parse.y"
{ (yyval.u.decl) = (yyvsp[(3) - (3)].u.decl); ;}
break;
case 134:
+
+/* Line 1455 of yacc.c */
#line 926 "c-parse.y"
{
/* maybeasm is only here to avoid a s/r conflict */
@@ -4078,72 +4222,100 @@ yyreduce:
break;
case 135:
+
+/* Line 1455 of yacc.c */
#line 937 "c-parse.y"
{ store_parm_decls(declaration_reverse((yyvsp[(4) - (4)].u.decl))); ;}
break;
case 136:
+
+/* Line 1455 of yacc.c */
#line 939 "c-parse.y"
{ (yyval.u.decl) = finish_function((yyvsp[(6) - (6)].u.stmt));
pop_declspec_stack(); ;}
break;
case 139:
+
+/* Line 1455 of yacc.c */
#line 949 "c-parse.y"
{ (yyval.u.id_label) = new_id_label(pr, (yyvsp[(1) - (1)].idtoken).location, (yyvsp[(1) - (1)].idtoken).id); ;}
break;
case 140:
+
+/* Line 1455 of yacc.c */
#line 953 "c-parse.y"
{ (yyval.u.word) = new_word(pr, (yyvsp[(1) - (1)].idtoken).location, (yyvsp[(1) - (1)].idtoken).id); ;}
break;
case 141:
+
+/* Line 1455 of yacc.c */
#line 957 "c-parse.y"
{ (yyval.u.itoken) = (yyvsp[(1) - (1)].u.itoken); (yyval.u.itoken).i = kind_address_of; ;}
break;
case 142:
+
+/* Line 1455 of yacc.c */
#line 959 "c-parse.y"
{ (yyval.u.itoken) = (yyvsp[(1) - (1)].u.itoken); (yyval.u.itoken).i = kind_unary_minus; ;}
break;
case 143:
+
+/* Line 1455 of yacc.c */
#line 961 "c-parse.y"
{ (yyval.u.itoken) = (yyvsp[(1) - (1)].u.itoken); (yyval.u.itoken).i = kind_unary_plus; ;}
break;
case 144:
+
+/* Line 1455 of yacc.c */
#line 963 "c-parse.y"
{ (yyval.u.itoken) = (yyvsp[(1) - (1)].u.itoken); (yyval.u.itoken).i = kind_preincrement; ;}
break;
case 145:
+
+/* Line 1455 of yacc.c */
#line 965 "c-parse.y"
{ (yyval.u.itoken) = (yyvsp[(1) - (1)].u.itoken); (yyval.u.itoken).i = kind_predecrement; ;}
break;
case 146:
+
+/* Line 1455 of yacc.c */
#line 967 "c-parse.y"
{ (yyval.u.itoken) = (yyvsp[(1) - (1)].u.itoken); (yyval.u.itoken).i = kind_bitnot; ;}
break;
case 147:
+
+/* Line 1455 of yacc.c */
#line 969 "c-parse.y"
{ (yyval.u.itoken) = (yyvsp[(1) - (1)].u.itoken); (yyval.u.itoken).i = kind_not; ;}
break;
case 148:
+
+/* Line 1455 of yacc.c */
#line 971 "c-parse.y"
{ (yyval.u.itoken) = (yyvsp[(1) - (1)].u.itoken); (yyval.u.itoken).i = kind_realpart; ;}
break;
case 149:
+
+/* Line 1455 of yacc.c */
#line 973 "c-parse.y"
{ (yyval.u.itoken) = (yyvsp[(1) - (1)].u.itoken); (yyval.u.itoken).i = kind_imagpart; ;}
break;
case 150:
+
+/* Line 1455 of yacc.c */
#line 977 "c-parse.y"
{ if ((yyvsp[(1) - (1)].u.expr)->next)
(yyval.u.expr) = make_comma((yyvsp[(1) - (1)].u.expr)->location, (yyvsp[(1) - (1)].u.expr));
@@ -4152,41 +4324,57 @@ yyreduce:
break;
case 151:
+
+/* Line 1455 of yacc.c */
#line 985 "c-parse.y"
{ (yyval.u.expr) = NULL; ;}
break;
case 153:
+
+/* Line 1455 of yacc.c */
#line 991 "c-parse.y"
{ (yyval.u.expr) = expression_reverse((yyvsp[(1) - (1)].u.expr)); ;}
break;
case 154:
+
+/* Line 1455 of yacc.c */
#line 996 "c-parse.y"
{ (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); ;}
break;
case 155:
+
+/* Line 1455 of yacc.c */
#line 998 "c-parse.y"
{ (yyval.u.expr) = expression_chain((yyvsp[(3) - (3)].u.expr), (yyvsp[(1) - (3)].u.expr)); ;}
break;
case 156:
+
+/* Line 1455 of yacc.c */
#line 1002 "c-parse.y"
{ (yyval.u.itoken).i = command_call; ;}
break;
case 157:
+
+/* Line 1455 of yacc.c */
#line 1003 "c-parse.y"
{ (yyval.u.itoken).i = event_signal; ;}
break;
case 158:
+
+/* Line 1455 of yacc.c */
#line 1004 "c-parse.y"
{ (yyval.u.itoken).i = post_task; ;}
break;
case 160:
+
+/* Line 1455 of yacc.c */
#line 1010 "c-parse.y"
{
function_call fc = CAST(function_call, (yyvsp[(2) - (2)].u.expr));
@@ -4222,17 +4410,23 @@ yyreduce:
break;
case 161:
+
+/* Line 1455 of yacc.c */
#line 1042 "c-parse.y"
{ (yyval.u.expr) = make_dereference((yyvsp[(1) - (2)].u.itoken).location, (yyvsp[(2) - (2)].u.expr)); ;}
break;
case 162:
+
+/* Line 1455 of yacc.c */
#line 1045 "c-parse.y"
{ (yyval.u.expr) = make_extension_expr((yyvsp[(1) - (2)].u.itoken).location, (yyvsp[(2) - (2)].u.expr));
pedantic = (yyvsp[(1) - (2)].u.itoken).i; ;}
break;
case 163:
+
+/* Line 1455 of yacc.c */
#line 1048 "c-parse.y"
{ (yyval.u.expr) = make_unary((yyvsp[(1) - (2)].u.itoken).location, (yyvsp[(1) - (2)].u.itoken).i, (yyvsp[(2) - (2)].u.expr));
#if 0
@@ -4242,6 +4436,8 @@ yyreduce:
break;
case 164:
+
+/* Line 1455 of yacc.c */
#line 1055 "c-parse.y"
{
(yyval.u.expr) = CAST(expression, make_label_address((yyvsp[(1) - (2)].u.itoken).location, (yyvsp[(2) - (2)].u.id_label)));
@@ -4250,6 +4446,8 @@ yyreduce:
break;
case 165:
+
+/* Line 1455 of yacc.c */
#line 1060 "c-parse.y"
{
#if 0
@@ -4263,39 +4461,53 @@ yyreduce:
break;
case 166:
+
+/* Line 1455 of yacc.c */
#line 1070 "c-parse.y"
{ (yyval.u.expr) = make_sizeof_type((yyvsp[(1) - (4)].u.itoken).location, (yyvsp[(3) - (4)].u.type));
pstate.unevaluated_expression--; ;}
break;
case 167:
+
+/* Line 1455 of yacc.c */
#line 1073 "c-parse.y"
{ (yyval.u.expr) = make_alignof_expr((yyvsp[(1) - (2)].u.itoken).location, (yyvsp[(2) - (2)].u.expr));
pstate.unevaluated_expression--; ;}
break;
case 168:
+
+/* Line 1455 of yacc.c */
#line 1076 "c-parse.y"
{ (yyval.u.expr) = make_alignof_type((yyvsp[(1) - (4)].u.itoken).location, (yyvsp[(3) - (4)].u.type));
pstate.unevaluated_expression--; ;}
break;
case 169:
+
+/* Line 1455 of yacc.c */
#line 1081 "c-parse.y"
{ pstate.unevaluated_expression++; (yyval.u.itoken) = (yyvsp[(1) - (1)].u.itoken); ;}
break;
case 170:
+
+/* Line 1455 of yacc.c */
#line 1085 "c-parse.y"
{ pstate.unevaluated_expression++; (yyval.u.itoken) = (yyvsp[(1) - (1)].u.itoken); ;}
break;
case 172:
+
+/* Line 1455 of yacc.c */
#line 1091 "c-parse.y"
{ (yyval.u.expr) = make_cast((yyvsp[(1) - (4)].u.itoken).location, (yyvsp[(2) - (4)].u.type), (yyvsp[(4) - (4)].u.expr)); ;}
break;
case 173:
+
+/* Line 1455 of yacc.c */
#line 1093 "c-parse.y"
{
start_init(NULL, NULL);
@@ -4304,6 +4516,8 @@ yyreduce:
break;
case 174:
+
+/* Line 1455 of yacc.c */
#line 1098 "c-parse.y"
{
expression constructor = make_init_list((yyvsp[(4) - (7)].u.itoken).location, (yyvsp[(6) - (7)].u.expr));
@@ -4318,91 +4532,127 @@ yyreduce:
break;
case 176:
+
+/* Line 1455 of yacc.c */
#line 1113 "c-parse.y"
{ (yyval.u.expr) = make_binary((yyvsp[(2) - (3)].u.itoken).location, kind_plus, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); ;}
break;
case 177:
+
+/* Line 1455 of yacc.c */
#line 1115 "c-parse.y"
{ (yyval.u.expr) = make_binary((yyvsp[(2) - (3)].u.itoken).location, kind_minus, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); ;}
break;
case 178:
+
+/* Line 1455 of yacc.c */
#line 1117 "c-parse.y"
{ (yyval.u.expr) = make_binary((yyvsp[(2) - (3)].u.itoken).location, kind_times, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); ;}
break;
case 179:
+
+/* Line 1455 of yacc.c */
#line 1119 "c-parse.y"
{ (yyval.u.expr) = make_binary((yyvsp[(2) - (3)].u.itoken).location, kind_divide, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); ;}
break;
case 180:
+
+/* Line 1455 of yacc.c */
#line 1121 "c-parse.y"
{ (yyval.u.expr) = make_binary((yyvsp[(2) - (3)].u.itoken).location, kind_modulo, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); ;}
break;
case 181:
+
+/* Line 1455 of yacc.c */
#line 1123 "c-parse.y"
{ (yyval.u.expr) = make_binary((yyvsp[(2) - (3)].u.itoken).location, kind_lshift, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); ;}
break;
case 182:
+
+/* Line 1455 of yacc.c */
#line 1125 "c-parse.y"
{ (yyval.u.expr) = make_binary((yyvsp[(2) - (3)].u.itoken).location, kind_rshift, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); ;}
break;
case 183:
+
+/* Line 1455 of yacc.c */
#line 1127 "c-parse.y"
{ (yyval.u.expr) = make_binary((yyvsp[(2) - (3)].u.itoken).location, (yyvsp[(2) - (3)].u.itoken).i, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); ;}
break;
case 184:
+
+/* Line 1455 of yacc.c */
#line 1129 "c-parse.y"
{ (yyval.u.expr) = make_binary((yyvsp[(2) - (3)].u.itoken).location, kind_lt, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); ;}
break;
case 185:
+
+/* Line 1455 of yacc.c */
#line 1131 "c-parse.y"
{ (yyval.u.expr) = make_binary((yyvsp[(2) - (3)].u.itoken).location, kind_gt, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); ;}
break;
case 186:
+
+/* Line 1455 of yacc.c */
#line 1133 "c-parse.y"
{ (yyval.u.expr) = make_binary((yyvsp[(2) - (3)].u.itoken).location, (yyvsp[(2) - (3)].u.itoken).i, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); ;}
break;
case 187:
+
+/* Line 1455 of yacc.c */
#line 1135 "c-parse.y"
{ (yyval.u.expr) = make_binary((yyvsp[(2) - (3)].u.itoken).location, kind_bitand, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); ;}
break;
case 188:
+
+/* Line 1455 of yacc.c */
#line 1137 "c-parse.y"
{ (yyval.u.expr) = make_binary((yyvsp[(2) - (3)].u.itoken).location, kind_bitor, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); ;}
break;
case 189:
+
+/* Line 1455 of yacc.c */
#line 1139 "c-parse.y"
{ (yyval.u.expr) = make_binary((yyvsp[(2) - (3)].u.itoken).location, kind_bitxor, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); ;}
break;
case 190:
+
+/* Line 1455 of yacc.c */
#line 1141 "c-parse.y"
{ (yyval.u.expr) = make_binary((yyvsp[(2) - (3)].u.itoken).location, kind_andand, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); ;}
break;
case 191:
+
+/* Line 1455 of yacc.c */
#line 1143 "c-parse.y"
{ (yyval.u.expr) = make_binary((yyvsp[(2) - (3)].u.itoken).location, kind_oror, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); ;}
break;
case 192:
+
+/* Line 1455 of yacc.c */
#line 1145 "c-parse.y"
{ (yyval.u.expr) = make_conditional((yyvsp[(2) - (5)].u.itoken).location, (yyvsp[(1) - (5)].u.expr), (yyvsp[(3) - (5)].u.expr), (yyvsp[(5) - (5)].u.expr)); ;}
break;
case 193:
+
+/* Line 1455 of yacc.c */
#line 1147 "c-parse.y"
{ if (pedantic)
pedwarn("ANSI C forbids omitting the middle term of a ?: expression");
@@ -4410,21 +4660,29 @@ yyreduce:
break;
case 194:
+
+/* Line 1455 of yacc.c */
#line 1151 "c-parse.y"
{ (yyval.u.expr) = make_conditional((yyvsp[(2) - (5)].u.itoken).location, (yyvsp[(1) - (5)].u.expr), NULL, (yyvsp[(5) - (5)].u.expr)); ;}
break;
case 195:
+
+/* Line 1455 of yacc.c */
#line 1153 "c-parse.y"
{ (yyval.u.expr) = make_assign((yyvsp[(2) - (3)].u.itoken).location, kind_assign, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); ;}
break;
case 196:
+
+/* Line 1455 of yacc.c */
#line 1155 "c-parse.y"
{ (yyval.u.expr) = make_assign((yyvsp[(2) - (3)].u.itoken).location, (yyvsp[(2) - (3)].u.itoken).i, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); ;}
break;
case 197:
+
+/* Line 1455 of yacc.c */
#line 1160 "c-parse.y"
{
if (yychar == YYEMPTY)
@@ -4434,26 +4692,36 @@ yyreduce:
break;
case 198:
+
+/* Line 1455 of yacc.c */
#line 1165 "c-parse.y"
{ (yyval.u.expr) = CAST(expression, (yyvsp[(1) - (1)].u.constant)); ;}
break;
case 199:
+
+/* Line 1455 of yacc.c */
#line 1166 "c-parse.y"
{ (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); ;}
break;
case 200:
+
+/* Line 1455 of yacc.c */
#line 1168 "c-parse.y"
{ (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); (yyval.u.expr)->parens = TRUE; ;}
break;
case 201:
+
+/* Line 1455 of yacc.c */
#line 1170 "c-parse.y"
{ (yyval.u.expr) = make_error_expr(); ;}
break;
case 202:
+
+/* Line 1455 of yacc.c */
#line 1172 "c-parse.y"
{ if (current.function_decl == 0)
{
@@ -4465,6 +4733,8 @@ yyreduce:
break;
case 203:
+
+/* Line 1455 of yacc.c */
#line 1180 "c-parse.y"
{
pop_label_level();
@@ -4475,6 +4745,8 @@ yyreduce:
break;
case 204:
+
+/* Line 1455 of yacc.c */
#line 1187 "c-parse.y"
{
/* Magic functions may rewrite this to something else */
@@ -4496,72 +4768,100 @@ yyreduce:
break;
case 205:
+
+/* Line 1455 of yacc.c */
#line 1205 "c-parse.y"
{ (yyval.u.expr) = make_va_arg((yyvsp[(1) - (6)].u.itoken).location, (yyvsp[(3) - (6)].u.expr), (yyvsp[(5) - (6)].u.type)); ;}
break;
case 206:
+
+/* Line 1455 of yacc.c */
#line 1207 "c-parse.y"
{ (yyval.u.expr) = make_offsetof((yyvsp[(1) - (6)].u.itoken).location, (yyvsp[(3) - (6)].u.type), (yyvsp[(5) - (6)].u.fields)); ;}
break;
case 207:
+
+/* Line 1455 of yacc.c */
#line 1209 "c-parse.y"
{ (yyval.u.expr) = make_array_ref((yyvsp[(2) - (4)].u.itoken).location, (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); ;}
break;
case 208:
+
+/* Line 1455 of yacc.c */
#line 1211 "c-parse.y"
{ (yyval.u.expr) = make_field_ref((yyvsp[(2) - (3)].u.itoken).location, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].idtoken).id); ;}
break;
case 209:
+
+/* Line 1455 of yacc.c */
#line 1213 "c-parse.y"
{ (yyval.u.expr) = make_field_ref((yyvsp[(2) - (3)].u.itoken).location, make_dereference((yyvsp[(2) - (3)].u.itoken).location, (yyvsp[(1) - (3)].u.expr)),
(yyvsp[(3) - (3)].idtoken).id); ;}
break;
case 210:
+
+/* Line 1455 of yacc.c */
#line 1216 "c-parse.y"
{ (yyval.u.expr) = make_postincrement((yyvsp[(2) - (2)].u.itoken).location, (yyvsp[(1) - (2)].u.expr)); ;}
break;
case 211:
+
+/* Line 1455 of yacc.c */
#line 1218 "c-parse.y"
{ (yyval.u.expr) = make_postdecrement((yyvsp[(2) - (2)].u.itoken).location, (yyvsp[(1) - (2)].u.expr)); ;}
break;
case 212:
+
+/* Line 1455 of yacc.c */
#line 1222 "c-parse.y"
{ (yyval.u.fields) = dd_new_list(pr); dd_add_last(pr, (yyval.u.fields), (yyvsp[(1) - (1)].idtoken).id.data); ;}
break;
case 213:
+
+/* Line 1455 of yacc.c */
#line 1223 "c-parse.y"
{ (yyval.u.fields) = (yyvsp[(1) - (3)].u.fields); dd_add_last(pr, (yyval.u.fields), (yyvsp[(3) - (3)].idtoken).id.data); ;}
break;
case 214:
+
+/* Line 1455 of yacc.c */
#line 1228 "c-parse.y"
{ (yyval.u.expr) = make_function_call((yyvsp[(2) - (4)].u.itoken).location, (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); ;}
break;
case 215:
+
+/* Line 1455 of yacc.c */
#line 1231 "c-parse.y"
{ (yyval.u.expr) = CAST(expression, (yyvsp[(1) - (1)].u.string)); ;}
break;
case 216:
+
+/* Line 1455 of yacc.c */
#line 1232 "c-parse.y"
{ (yyval.u.expr) = make_identifier((yyvsp[(1) - (1)].idtoken).location, (yyvsp[(1) - (1)].idtoken).id, FALSE); ;}
break;
case 217:
+
+/* Line 1455 of yacc.c */
#line 1236 "c-parse.y"
{ (yyval.u.decl) = NULL; ;}
break;
case 219:
+
+/* Line 1455 of yacc.c */
#line 1240 "c-parse.y"
{ if (pedantic)
pedwarn("ANSI C does not permit use of `varargs.h'");
@@ -4570,21 +4870,29 @@ yyreduce:
break;
case 221:
+
+/* Line 1455 of yacc.c */
#line 1251 "c-parse.y"
{ (yyval.u.decl) = declaration_chain((yyvsp[(2) - (2)].u.decl), (yyvsp[(1) - (2)].u.decl)); ;}
break;
case 222:
+
+/* Line 1455 of yacc.c */
#line 1260 "c-parse.y"
{ (yyval.u.decl) = make_data_decl((yyvsp[(1) - (4)].u.telement), (yyvsp[(3) - (4)].u.decl)); ;}
break;
case 223:
+
+/* Line 1455 of yacc.c */
#line 1262 "c-parse.y"
{ (yyval.u.decl) = make_data_decl((yyvsp[(1) - (4)].u.telement), (yyvsp[(3) - (4)].u.decl)); ;}
break;
case 224:
+
+/* Line 1455 of yacc.c */
#line 1264 "c-parse.y"
{ shadow_tag_warned((yyvsp[(1) - (3)].u.telement), 1);
(yyval.u.decl) = make_data_decl((yyvsp[(1) - (3)].u.telement), NULL);
@@ -4592,27 +4900,37 @@ yyreduce:
break;
case 225:
+
+/* Line 1455 of yacc.c */
#line 1268 "c-parse.y"
{ pedwarn("empty declaration");
(yyval.u.decl) = NULL; ;}
break;
case 227:
+
+/* Line 1455 of yacc.c */
#line 1278 "c-parse.y"
{ (yyval.u.decl) = make_error_decl(); ;}
break;
case 228:
+
+/* Line 1455 of yacc.c */
#line 1279 "c-parse.y"
{ (yyval.u.decl) = declaration_chain((yyvsp[(2) - (2)].u.decl), (yyvsp[(1) - (2)].u.decl)); ;}
break;
case 229:
+
+/* Line 1455 of yacc.c */
#line 1280 "c-parse.y"
{ (yyval.u.decl) = make_error_decl(); ;}
break;
case 230:
+
+/* Line 1455 of yacc.c */
#line 1288 "c-parse.y"
{
push_declspec_stack();
@@ -4623,404 +4941,564 @@ yyreduce:
break;
case 231:
+
+/* Line 1455 of yacc.c */
#line 1300 "c-parse.y"
{ pstate.attributes = (yyvsp[(1) - (1)].u.attribute); ;}
break;
case 232:
+
+/* Line 1455 of yacc.c */
#line 1305 "c-parse.y"
{ (yyval.u.decl) = make_data_decl((yyvsp[(1) - (4)].u.telement), (yyvsp[(3) - (4)].u.decl)); ;}
break;
case 233:
+
+/* Line 1455 of yacc.c */
#line 1307 "c-parse.y"
{ (yyval.u.decl) = make_data_decl((yyvsp[(1) - (4)].u.telement), (yyvsp[(3) - (4)].u.decl)); ;}
break;
case 234:
+
+/* Line 1455 of yacc.c */
#line 1309 "c-parse.y"
{ (yyval.u.decl) = (yyvsp[(3) - (3)].u.decl);
pop_declspec_stack(); ;}
break;
case 235:
+
+/* Line 1455 of yacc.c */
#line 1312 "c-parse.y"
{ (yyval.u.decl) = (yyvsp[(3) - (3)].u.decl);
pop_declspec_stack(); ;}
break;
case 236:
+
+/* Line 1455 of yacc.c */
#line 1315 "c-parse.y"
{ shadow_tag((yyvsp[(1) - (3)].u.telement));
(yyval.u.decl) = make_data_decl((yyvsp[(1) - (3)].u.telement), NULL); ;}
break;
case 237:
+
+/* Line 1455 of yacc.c */
#line 1318 "c-parse.y"
{ (yyval.u.decl) = make_extension_decl((yyvsp[(1) - (2)].u.itoken).i, (yyvsp[(1) - (2)].u.itoken).location, (yyvsp[(2) - (2)].u.decl)); ;}
break;
case 239:
+
+/* Line 1455 of yacc.c */
#line 1375 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 240:
+
+/* Line 1455 of yacc.c */
#line 1377 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 241:
+
+/* Line 1455 of yacc.c */
#line 1382 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 242:
+
+/* Line 1455 of yacc.c */
#line 1387 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 243:
+
+/* Line 1455 of yacc.c */
#line 1389 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 247:
+
+/* Line 1455 of yacc.c */
#line 1400 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 248:
+
+/* Line 1455 of yacc.c */
#line 1402 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 249:
+
+/* Line 1455 of yacc.c */
#line 1404 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 250:
+
+/* Line 1455 of yacc.c */
#line 1406 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 251:
+
+/* Line 1455 of yacc.c */
#line 1408 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 252:
+
+/* Line 1455 of yacc.c */
#line 1410 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 254:
+
+/* Line 1455 of yacc.c */
#line 1416 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 255:
+
+/* Line 1455 of yacc.c */
#line 1418 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 256:
+
+/* Line 1455 of yacc.c */
#line 1420 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 257:
+
+/* Line 1455 of yacc.c */
#line 1422 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 258:
+
+/* Line 1455 of yacc.c */
#line 1424 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 259:
+
+/* Line 1455 of yacc.c */
#line 1429 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 260:
+
+/* Line 1455 of yacc.c */
#line 1431 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 261:
+
+/* Line 1455 of yacc.c */
#line 1433 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 262:
+
+/* Line 1455 of yacc.c */
#line 1435 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 263:
+
+/* Line 1455 of yacc.c */
#line 1437 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 264:
+
+/* Line 1455 of yacc.c */
#line 1439 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 265:
+
+/* Line 1455 of yacc.c */
#line 1444 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 266:
+
+/* Line 1455 of yacc.c */
#line 1446 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 267:
+
+/* Line 1455 of yacc.c */
#line 1448 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 268:
+
+/* Line 1455 of yacc.c */
#line 1450 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 269:
+
+/* Line 1455 of yacc.c */
#line 1452 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 271:
+
+/* Line 1455 of yacc.c */
#line 1458 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 272:
+
+/* Line 1455 of yacc.c */
#line 1460 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 273:
+
+/* Line 1455 of yacc.c */
#line 1462 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 274:
+
+/* Line 1455 of yacc.c */
#line 1464 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 275:
+
+/* Line 1455 of yacc.c */
#line 1466 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 276:
+
+/* Line 1455 of yacc.c */
#line 1468 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 277:
+
+/* Line 1455 of yacc.c */
#line 1473 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 278:
+
+/* Line 1455 of yacc.c */
#line 1478 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 279:
+
+/* Line 1455 of yacc.c */
#line 1480 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 280:
+
+/* Line 1455 of yacc.c */
#line 1482 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 281:
+
+/* Line 1455 of yacc.c */
#line 1484 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 282:
+
+/* Line 1455 of yacc.c */
#line 1486 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 283:
+
+/* Line 1455 of yacc.c */
#line 1488 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 284:
+
+/* Line 1455 of yacc.c */
#line 1493 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 285:
+
+/* Line 1455 of yacc.c */
#line 1498 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 286:
+
+/* Line 1455 of yacc.c */
#line 1500 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 287:
+
+/* Line 1455 of yacc.c */
#line 1502 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 288:
+
+/* Line 1455 of yacc.c */
#line 1504 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 289:
+
+/* Line 1455 of yacc.c */
#line 1506 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 290:
+
+/* Line 1455 of yacc.c */
#line 1508 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 291:
+
+/* Line 1455 of yacc.c */
#line 1510 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 292:
+
+/* Line 1455 of yacc.c */
#line 1512 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 293:
+
+/* Line 1455 of yacc.c */
#line 1514 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 294:
+
+/* Line 1455 of yacc.c */
#line 1516 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 295:
+
+/* Line 1455 of yacc.c */
#line 1521 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 296:
+
+/* Line 1455 of yacc.c */
#line 1523 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 297:
+
+/* Line 1455 of yacc.c */
#line 1525 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 298:
+
+/* Line 1455 of yacc.c */
#line 1527 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 299:
+
+/* Line 1455 of yacc.c */
#line 1529 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 300:
+
+/* Line 1455 of yacc.c */
#line 1534 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 301:
+
+/* Line 1455 of yacc.c */
#line 1536 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 302:
+
+/* Line 1455 of yacc.c */
#line 1538 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 303:
+
+/* Line 1455 of yacc.c */
#line 1540 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 304:
+
+/* Line 1455 of yacc.c */
#line 1542 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 305:
+
+/* Line 1455 of yacc.c */
#line 1544 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 306:
+
+/* Line 1455 of yacc.c */
#line 1546 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 307:
+
+/* Line 1455 of yacc.c */
#line 1548 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 308:
+
+/* Line 1455 of yacc.c */
#line 1550 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 309:
+
+/* Line 1455 of yacc.c */
#line 1552 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 310:
+
+/* Line 1455 of yacc.c */
#line 1557 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 311:
+
+/* Line 1455 of yacc.c */
#line 1559 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 312:
+
+/* Line 1455 of yacc.c */
#line 1561 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 313:
+
+/* Line 1455 of yacc.c */
#line 1563 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 314:
+
+/* Line 1455 of yacc.c */
#line 1565 "c-parse.y"
{ (yyval.u.telement) = type_element_chain((yyvsp[(1) - (2)].u.telement), (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 351:
+
+/* Line 1455 of yacc.c */
#line 1632 "c-parse.y"
{ (yyval.u.telement) = NULL; ;}
break;
case 359:
+
+/* Line 1455 of yacc.c */
#line 1677 "c-parse.y"
{ /* For a typedef name, record the meaning, not the name.
In case of `foo foo, bar;'. */
@@ -5028,6 +5506,8 @@ yyreduce:
break;
case 360:
+
+/* Line 1455 of yacc.c */
#line 1681 "c-parse.y"
{
/* reference to a typedef from a component. */
@@ -5036,52 +5516,72 @@ yyreduce:
break;
case 361:
+
+/* Line 1455 of yacc.c */
#line 1686 "c-parse.y"
{ (yyval.u.telement) = CAST(type_element, new_typeof_expr(pr, (yyvsp[(1) - (4)].u.itoken).location, (yyvsp[(3) - (4)].u.expr))); ;}
break;
case 362:
+
+/* Line 1455 of yacc.c */
#line 1688 "c-parse.y"
{ (yyval.u.telement) = CAST(type_element, new_typeof_type(pr, (yyvsp[(1) - (4)].u.itoken).location, (yyvsp[(3) - (4)].u.type))); ;}
break;
case 363:
+
+/* Line 1455 of yacc.c */
#line 1693 "c-parse.y"
{ (yyval.u.decl) = declaration_reverse((yyvsp[(1) - (1)].u.decl)); ;}
break;
case 364:
+
+/* Line 1455 of yacc.c */
#line 1697 "c-parse.y"
{ (yyval.u.decl) = declaration_reverse((yyvsp[(1) - (1)].u.decl)); ;}
break;
case 366:
+
+/* Line 1455 of yacc.c */
#line 1703 "c-parse.y"
{ (yyval.u.decl) = declaration_chain((yyvsp[(4) - (4)].u.decl), (yyvsp[(1) - (4)].u.decl)); ;}
break;
case 367:
+
+/* Line 1455 of yacc.c */
#line 1707 "c-parse.y"
{ (yyval.u.decl) = (yyvsp[(1) - (1)].u.decl); ;}
break;
case 368:
+
+/* Line 1455 of yacc.c */
#line 1709 "c-parse.y"
{ (yyval.u.decl) = declaration_chain((yyvsp[(4) - (4)].u.decl), (yyvsp[(1) - (4)].u.decl)); ;}
break;
case 369:
+
+/* Line 1455 of yacc.c */
#line 1714 "c-parse.y"
{ (yyval.u.asm_stmt) = NULL; ;}
break;
case 370:
+
+/* Line 1455 of yacc.c */
#line 1716 "c-parse.y"
{ (yyval.u.asm_stmt) = new_asm_stmt(pr, (yyvsp[(1) - (4)].u.itoken).location, CAST(expression, (yyvsp[(3) - (4)].u.string)),
NULL, NULL, NULL, NULL); ;}
break;
case 371:
+
+/* Line 1455 of yacc.c */
#line 1722 "c-parse.y"
{ (yyval.u.decl) = start_decl((yyvsp[(1) - (4)].u.declarator), (yyvsp[(2) - (4)].u.asm_stmt), pstate.declspecs, 1,
prefix_attr((yyvsp[(3) - (4)].u.attribute)));
@@ -5089,12 +5589,16 @@ yyreduce:
break;
case 372:
+
+/* Line 1455 of yacc.c */
#line 1727 "c-parse.y"
{ finish_init();
(yyval.u.decl) = finish_decl((yyvsp[(5) - (6)].u.decl), (yyvsp[(6) - (6)].u.expr)); ;}
break;
case 373:
+
+/* Line 1455 of yacc.c */
#line 1730 "c-parse.y"
{ declaration d = start_decl((yyvsp[(1) - (3)].u.declarator), (yyvsp[(2) - (3)].u.asm_stmt), pstate.declspecs, 0,
prefix_attr((yyvsp[(3) - (3)].u.attribute)));
@@ -5102,6 +5606,8 @@ yyreduce:
break;
case 374:
+
+/* Line 1455 of yacc.c */
#line 1737 "c-parse.y"
{ (yyval.u.decl) = start_decl((yyvsp[(1) - (4)].u.declarator), (yyvsp[(2) - (4)].u.asm_stmt), pstate.declspecs, 1,
prefix_attr((yyvsp[(3) - (4)].u.attribute)));
@@ -5109,12 +5615,16 @@ yyreduce:
break;
case 375:
+
+/* Line 1455 of yacc.c */
#line 1742 "c-parse.y"
{ finish_init();
(yyval.u.decl) = finish_decl((yyvsp[(5) - (6)].u.decl), (yyvsp[(6) - (6)].u.expr)); ;}
break;
case 376:
+
+/* Line 1455 of yacc.c */
#line 1745 "c-parse.y"
{ declaration d = start_decl((yyvsp[(1) - (3)].u.declarator), (yyvsp[(2) - (3)].u.asm_stmt), pstate.declspecs, 0,
prefix_attr((yyvsp[(3) - (3)].u.attribute)));
@@ -5122,110 +5632,152 @@ yyreduce:
break;
case 377:
+
+/* Line 1455 of yacc.c */
#line 1752 "c-parse.y"
{ (yyval.u.attribute) = NULL; ;}
break;
case 378:
+
+/* Line 1455 of yacc.c */
#line 1754 "c-parse.y"
{ (yyval.u.attribute) = attribute_reverse((yyvsp[(1) - (1)].u.attribute)); ;}
break;
case 379:
+
+/* Line 1455 of yacc.c */
#line 1758 "c-parse.y"
{ (yyval.u.telement) = CAST(type_element, (yyvsp[(1) - (1)].u.attribute)); ;}
break;
case 380:
+
+/* Line 1455 of yacc.c */
#line 1762 "c-parse.y"
{ (yyval.u.attribute) = NULL; ;}
break;
case 381:
+
+/* Line 1455 of yacc.c */
#line 1764 "c-parse.y"
{ (yyval.u.attribute) = attribute_chain((yyvsp[(2) - (2)].u.attribute), (yyvsp[(1) - (2)].u.attribute)); ;}
break;
case 382:
+
+/* Line 1455 of yacc.c */
#line 1769 "c-parse.y"
{ (yyval.u.attribute) = (yyvsp[(1) - (1)].u.attribute); ;}
break;
case 383:
+
+/* Line 1455 of yacc.c */
#line 1771 "c-parse.y"
{ (yyval.u.attribute) = attribute_chain((yyvsp[(2) - (2)].u.attribute), (yyvsp[(1) - (2)].u.attribute)); ;}
break;
case 384:
+
+/* Line 1455 of yacc.c */
#line 1776 "c-parse.y"
{ (yyval.u.attribute) = (yyvsp[(4) - (6)].u.attribute); ;}
break;
case 385:
+
+/* Line 1455 of yacc.c */
#line 1777 "c-parse.y"
{ (yyval.u.attribute) = CAST(attribute, (yyvsp[(1) - (1)].u.gcc_attribute)); ;}
break;
case 387:
+
+/* Line 1455 of yacc.c */
#line 1783 "c-parse.y"
{ word w = new_word(pr, (yyvsp[(1) - (1)].idtoken).location, (yyvsp[(1) - (1)].idtoken).id);
- (yyval.u.gcc_attribute) = new_gcc_attribute(pr, (yyvsp[(1) - (1)].idtoken).location, w, NULL); ;}
+ (yyval.u.gcc_attribute) = new_target_attribute(pr, (yyvsp[(1) - (1)].idtoken).location, w, NULL); ;}
break;
case 388:
+
+/* Line 1455 of yacc.c */
#line 1786 "c-parse.y"
{ word w = new_word(pr, (yyvsp[(1) - (2)].idtoken).location, (yyvsp[(1) - (2)].idtoken).id);
- (yyval.u.gcc_attribute) = new_gcc_attribute(pr, (yyvsp[(1) - (2)].idtoken).location, w, (yyvsp[(2) - (2)].u.expr)); ;}
+ (yyval.u.gcc_attribute) = new_target_attribute(pr, (yyvsp[(1) - (2)].idtoken).location, w, (yyvsp[(2) - (2)].u.expr)); ;}
break;
case 389:
+
+/* Line 1455 of yacc.c */
#line 1789 "c-parse.y"
{ word w = new_word(pr, (yyvsp[(2) - (2)].u.expr)->location, str2cstring(pr, "iar_at"));
- (yyval.u.gcc_attribute) = new_gcc_attribute(pr, (yyvsp[(2) - (2)].u.expr)->location, w, (yyvsp[(2) - (2)].u.expr)); ;}
+ (yyval.u.gcc_attribute) = new_target_attribute(pr, (yyvsp[(2) - (2)].u.expr)->location, w, (yyvsp[(2) - (2)].u.expr)); ;}
break;
case 390:
+
+/* Line 1455 of yacc.c */
#line 1794 "c-parse.y"
{ (yyval.u.expr) = CAST(expression, (yyvsp[(1) - (1)].u.constant)); ;}
break;
case 391:
+
+/* Line 1455 of yacc.c */
#line 1795 "c-parse.y"
{ (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); ;}
break;
case 392:
+
+/* Line 1455 of yacc.c */
#line 1796 "c-parse.y"
{ (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); ;}
break;
case 393:
+
+/* Line 1455 of yacc.c */
#line 1801 "c-parse.y"
{ (yyval.u.attribute) = CAST(attribute, (yyvsp[(1) - (1)].u.gcc_attribute)); ;}
break;
case 394:
+
+/* Line 1455 of yacc.c */
#line 1803 "c-parse.y"
{ (yyval.u.attribute) = attribute_chain((yyvsp[(1) - (3)].u.attribute), CAST(attribute, (yyvsp[(3) - (3)].u.gcc_attribute))); ;}
break;
case 395:
+
+/* Line 1455 of yacc.c */
#line 1808 "c-parse.y"
{ (yyval.u.gcc_attribute) = NULL; ;}
break;
case 396:
+
+/* Line 1455 of yacc.c */
#line 1810 "c-parse.y"
{ (yyval.u.gcc_attribute) = new_gcc_attribute(pr, (yyvsp[(1) - (1)].u.word)->location, (yyvsp[(1) - (1)].u.word), NULL); ;}
break;
case 397:
+
+/* Line 1455 of yacc.c */
#line 1812 "c-parse.y"
{ (yyval.u.gcc_attribute) = new_gcc_attribute
(pr, (yyvsp[(1) - (4)].u.word)->location, (yyvsp[(1) - (4)].u.word), make_attr_args((yyvsp[(3) - (4)].idtoken).location, (yyvsp[(3) - (4)].idtoken).id, NULL)); ;}
break;
case 398:
+
+/* Line 1455 of yacc.c */
#line 1815 "c-parse.y"
{ (yyval.u.gcc_attribute) = new_gcc_attribute
(pr, (yyvsp[(2) - (6)].u.itoken).location, (yyvsp[(1) - (6)].u.word), make_attr_args((yyvsp[(3) - (6)].idtoken).location, (yyvsp[(3) - (6)].idtoken).id, (yyvsp[(5) - (6)].u.expr)));
@@ -5233,67 +5785,93 @@ yyreduce:
break;
case 399:
+
+/* Line 1455 of yacc.c */
#line 1819 "c-parse.y"
{ (yyval.u.gcc_attribute) = new_gcc_attribute(pr, (yyvsp[(2) - (4)].u.itoken).location, (yyvsp[(1) - (4)].u.word), (yyvsp[(3) - (4)].u.expr));
;}
break;
case 400:
+
+/* Line 1455 of yacc.c */
#line 1825 "c-parse.y"
{ (yyval.u.attribute) = finish_attribute_use((yyvsp[(2) - (5)].u.nesc_attribute), (yyvsp[(4) - (5)].u.expr)); ;}
break;
case 401:
+
+/* Line 1455 of yacc.c */
#line 1827 "c-parse.y"
{ (yyval.u.attribute) = finish_attribute_use((yyvsp[(2) - (4)].u.nesc_attribute), make_error_expr()); ;}
break;
case 402:
+
+/* Line 1455 of yacc.c */
#line 1832 "c-parse.y"
{ (yyval.u.nesc_attribute) = start_attribute_use((yyvsp[(1) - (1)].u.word)); ;}
break;
case 404:
+
+/* Line 1455 of yacc.c */
#line 1841 "c-parse.y"
{ (yyval.u.word) = make_cword((yyvsp[(1) - (1)].u.telement)->location, rid_name(CAST(rid, (yyvsp[(1) - (1)].u.telement)))); ;}
break;
case 405:
+
+/* Line 1455 of yacc.c */
#line 1843 "c-parse.y"
{ (yyval.u.word) = make_cword((yyvsp[(1) - (1)].u.telement)->location, rid_name(CAST(rid, (yyvsp[(1) - (1)].u.telement)))); ;}
break;
case 406:
+
+/* Line 1455 of yacc.c */
#line 1845 "c-parse.y"
{ (yyval.u.word) = make_cword((yyvsp[(1) - (1)].u.telement)->location, qualifier_name(CAST(qualifier, (yyvsp[(1) - (1)].u.telement))->id)); ;}
break;
case 407:
+
+/* Line 1455 of yacc.c */
#line 1847 "c-parse.y"
{ (yyval.u.word) = make_cword((yyvsp[(1) - (1)].u.itoken).location, "signal"); ;}
break;
case 408:
+
+/* Line 1455 of yacc.c */
#line 1853 "c-parse.y"
{ (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); simple_init((yyval.u.expr)); ;}
break;
case 409:
+
+/* Line 1455 of yacc.c */
#line 1855 "c-parse.y"
{ really_start_incremental_init(NULL); ;}
break;
case 410:
+
+/* Line 1455 of yacc.c */
#line 1857 "c-parse.y"
{ (yyval.u.expr) = make_init_list((yyvsp[(1) - (4)].u.itoken).location, (yyvsp[(3) - (4)].u.expr)); ;}
break;
case 411:
+
+/* Line 1455 of yacc.c */
#line 1859 "c-parse.y"
{ (yyval.u.expr) = make_error_expr(); ;}
break;
case 412:
+
+/* Line 1455 of yacc.c */
#line 1865 "c-parse.y"
{ if (pedantic)
pedwarn("ANSI C forbids empty initializer braces");
@@ -5301,16 +5879,22 @@ yyreduce:
break;
case 413:
+
+/* Line 1455 of yacc.c */
#line 1868 "c-parse.y"
{ (yyval.u.expr) = expression_reverse((yyvsp[(1) - (2)].u.expr)); ;}
break;
case 415:
+
+/* Line 1455 of yacc.c */
#line 1873 "c-parse.y"
{ (yyval.u.expr) = expression_chain((yyvsp[(3) - (3)].u.expr), (yyvsp[(1) - (3)].u.expr)); ;}
break;
case 416:
+
+/* Line 1455 of yacc.c */
#line 1880 "c-parse.y"
{ if (pedantic)
pedwarn("ANSI C forbids specifying subobject to initialize");
@@ -5318,6 +5902,8 @@ yyreduce:
break;
case 417:
+
+/* Line 1455 of yacc.c */
#line 1884 "c-parse.y"
{ if (pedantic)
pedwarn("obsolete use of designated initializer without `='");
@@ -5325,6 +5911,8 @@ yyreduce:
break;
case 418:
+
+/* Line 1455 of yacc.c */
#line 1888 "c-parse.y"
{ (yyval.u.designator) = set_init_label((yyvsp[(1) - (2)].idtoken).location, (yyvsp[(1) - (2)].idtoken).id);
if (pedantic)
@@ -5332,42 +5920,58 @@ yyreduce:
break;
case 419:
+
+/* Line 1455 of yacc.c */
#line 1892 "c-parse.y"
{ (yyval.u.expr) = make_init_specific((yyvsp[(3) - (4)].u.designator), (yyvsp[(4) - (4)].u.expr)); ;}
break;
case 421:
+
+/* Line 1455 of yacc.c */
#line 1898 "c-parse.y"
{ push_init_level (0); ;}
break;
case 422:
+
+/* Line 1455 of yacc.c */
#line 1900 "c-parse.y"
{ (yyval.u.expr) = make_init_list((yyvsp[(1) - (4)].u.itoken).location, (yyvsp[(3) - (4)].u.expr));
process_init_element(NULL); ;}
break;
case 423:
+
+/* Line 1455 of yacc.c */
#line 1903 "c-parse.y"
{ process_init_element((yyvsp[(1) - (1)].u.expr)); (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); ;}
break;
case 424:
+
+/* Line 1455 of yacc.c */
#line 1904 "c-parse.y"
{ (yyval.u.expr) = make_error_expr(); ;}
break;
case 426:
+
+/* Line 1455 of yacc.c */
#line 1909 "c-parse.y"
{ (yyval.u.designator) = designator_chain((yyvsp[(1) - (2)].u.designator), (yyvsp[(2) - (2)].u.designator)); ;}
break;
case 427:
+
+/* Line 1455 of yacc.c */
#line 1914 "c-parse.y"
{ (yyval.u.designator) = set_init_label((yyvsp[(2) - (2)].idtoken).location, (yyvsp[(2) - (2)].idtoken).id); ;}
break;
case 428:
+
+/* Line 1455 of yacc.c */
#line 1919 "c-parse.y"
{ (yyval.u.designator) = set_init_index((yyvsp[(1) - (5)].u.itoken).location, (yyvsp[(2) - (5)].u.expr), (yyvsp[(4) - (5)].u.expr));
if (pedantic)
@@ -5375,11 +5979,15 @@ yyreduce:
break;
case 429:
+
+/* Line 1455 of yacc.c */
#line 1923 "c-parse.y"
{ (yyval.u.designator) = set_init_index((yyvsp[(1) - (3)].u.itoken).location, (yyvsp[(2) - (3)].u.expr), NULL); ;}
break;
case 430:
+
+/* Line 1455 of yacc.c */
#line 1928 "c-parse.y"
{
/* maybeasm is only here to avoid a s/r conflict */
@@ -5393,16 +6001,22 @@ yyreduce:
break;
case 431:
+
+/* Line 1455 of yacc.c */
#line 1938 "c-parse.y"
{ store_parm_decls(declaration_reverse((yyvsp[(3) - (5)].u.attribute))); ;}
break;
case 432:
+
+/* Line 1455 of yacc.c */
#line 1946 "c-parse.y"
{ (yyval.u.decl) = finish_function((yyvsp[(7) - (7)].u.stmt)); ;}
break;
case 433:
+
+/* Line 1455 of yacc.c */
#line 1951 "c-parse.y"
{
/* maybeasm is only here to avoid a s/r conflict */
@@ -5416,36 +6030,50 @@ yyreduce:
break;
case 434:
+
+/* Line 1455 of yacc.c */
#line 1961 "c-parse.y"
{ store_parm_decls(declaration_reverse((yyvsp[(3) - (5)].u.attribute))); ;}
break;
case 435:
+
+/* Line 1455 of yacc.c */
#line 1969 "c-parse.y"
{ (yyval.u.decl) = finish_function((yyvsp[(7) - (7)].u.stmt)); ;}
break;
case 438:
+
+/* Line 1455 of yacc.c */
#line 1984 "c-parse.y"
{ (yyval.u.declarator) = finish_array_or_fn_declarator((yyvsp[(1) - (2)].u.declarator), (yyvsp[(2) - (2)].u.nested)); ;}
break;
case 439:
+
+/* Line 1455 of yacc.c */
#line 1986 "c-parse.y"
{ (yyval.u.declarator) = make_pointer_declarator((yyvsp[(1) - (3)].u.itoken).location, (yyvsp[(3) - (3)].u.declarator), (yyvsp[(2) - (3)].u.telement)); ;}
break;
case 440:
+
+/* Line 1455 of yacc.c */
#line 1988 "c-parse.y"
{ (yyval.u.declarator) = make_qualified_declarator((yyvsp[(1) - (4)].u.itoken).location, (yyvsp[(3) - (4)].u.declarator), CAST(type_element, (yyvsp[(2) - (4)].u.attribute))); ;}
break;
case 441:
+
+/* Line 1455 of yacc.c */
#line 1989 "c-parse.y"
{ (yyval.u.declarator) = make_identifier_declarator((yyvsp[(1) - (1)].idtoken).location, (yyvsp[(1) - (1)].idtoken).id); ;}
break;
case 442:
+
+/* Line 1455 of yacc.c */
#line 1991 "c-parse.y"
{
(yyval.u.declarator) = make_interface_ref_declarator((yyvsp[(1) - (3)].idtoken).location, (yyvsp[(1) - (3)].idtoken).id, (yyvsp[(3) - (3)].idtoken).id);
@@ -5453,41 +6081,57 @@ yyreduce:
break;
case 443:
+
+/* Line 1455 of yacc.c */
#line 2002 "c-parse.y"
{ (yyval.u.declarator) = finish_array_or_fn_declarator((yyvsp[(1) - (2)].u.declarator), (yyvsp[(2) - (2)].u.nested)); ;}
break;
case 444:
+
+/* Line 1455 of yacc.c */
#line 2004 "c-parse.y"
{ (yyval.u.declarator) = make_pointer_declarator((yyvsp[(1) - (3)].u.itoken).location, (yyvsp[(3) - (3)].u.declarator), (yyvsp[(2) - (3)].u.telement)); ;}
break;
case 445:
+
+/* Line 1455 of yacc.c */
#line 2006 "c-parse.y"
{ (yyval.u.declarator) = make_identifier_declarator((yyvsp[(1) - (1)].idtoken).location, (yyvsp[(1) - (1)].idtoken).id); ;}
break;
case 446:
+
+/* Line 1455 of yacc.c */
#line 2015 "c-parse.y"
{ (yyval.u.declarator) = finish_array_or_fn_declarator((yyvsp[(1) - (2)].u.declarator), (yyvsp[(2) - (2)].u.nested)); ;}
break;
case 447:
+
+/* Line 1455 of yacc.c */
#line 2017 "c-parse.y"
{ (yyval.u.declarator) = make_pointer_declarator((yyvsp[(1) - (3)].u.itoken).location, (yyvsp[(3) - (3)].u.declarator), (yyvsp[(2) - (3)].u.telement)); ;}
break;
case 448:
+
+/* Line 1455 of yacc.c */
#line 2019 "c-parse.y"
{ (yyval.u.declarator) = make_qualified_declarator((yyvsp[(1) - (4)].u.itoken).location, (yyvsp[(3) - (4)].u.declarator), CAST(type_element, (yyvsp[(2) - (4)].u.attribute))); ;}
break;
case 449:
+
+/* Line 1455 of yacc.c */
#line 2021 "c-parse.y"
{ (yyval.u.declarator) = make_identifier_declarator((yyvsp[(1) - (1)].idtoken).location, (yyvsp[(1) - (1)].idtoken).id); ;}
break;
case 450:
+
+/* Line 1455 of yacc.c */
#line 2023 "c-parse.y"
{
(yyval.u.declarator) = make_interface_ref_declarator((yyvsp[(1) - (3)].idtoken).location, (yyvsp[(1) - (3)].idtoken).id, (yyvsp[(3) - (3)].idtoken).id);
@@ -5495,23 +6139,31 @@ yyreduce:
break;
case 451:
+
+/* Line 1455 of yacc.c */
#line 2029 "c-parse.y"
{ (yyval.u.word) = new_word(pr, (yyvsp[(1) - (1)].idtoken).location, (yyvsp[(1) - (1)].idtoken).id); ;}
break;
case 452:
+
+/* Line 1455 of yacc.c */
#line 2034 "c-parse.y"
{ (yyval.u.telement) = xref_tag((yyvsp[(1) - (3)].u.itoken).location, (yyvsp[(1) - (3)].u.itoken).i, (yyvsp[(2) - (3)].u.word));
if ((yyvsp[(3) - (3)].u.attribute)) warning("attributes ignored"); ;}
break;
case 453:
+
+/* Line 1455 of yacc.c */
#line 2037 "c-parse.y"
{ (yyval.u.telement) = xref_tag((yyvsp[(1) - (3)].u.itoken).location, kind_enum_ref, (yyvsp[(2) - (3)].u.word));
if ((yyvsp[(3) - (3)].u.attribute)) warning("attributes ignored"); ;}
break;
case 454:
+
+/* Line 1455 of yacc.c */
#line 2043 "c-parse.y"
{ (yyval.u.telement) = start_struct((yyvsp[(1) - (4)].u.itoken).location, (yyvsp[(1) - (4)].u.itoken).i, (yyvsp[(2) - (4)].u.word));
/* Start scope of tag before parsing components. */
@@ -5519,11 +6171,15 @@ yyreduce:
break;
case 455:
+
+/* Line 1455 of yacc.c */
#line 2047 "c-parse.y"
{ (yyval.u.telement) = finish_struct((yyvsp[(5) - (8)].u.telement), (yyvsp[(6) - (8)].u.decl), attribute_chain((yyvsp[(3) - (8)].u.attribute), (yyvsp[(8) - (8)].u.attribute))); ;}
break;
case 456:
+
+/* Line 1455 of yacc.c */
#line 2049 "c-parse.y"
{ (yyval.u.telement) = start_struct((yyvsp[(1) - (5)].u.itoken).location, kind_attribute_ref, (yyvsp[(3) - (5)].u.word));
/* Start scope of tag before parsing components. */
@@ -5531,11 +6187,15 @@ yyreduce:
break;
case 457:
+
+/* Line 1455 of yacc.c */
#line 2053 "c-parse.y"
{ (yyval.u.telement) = finish_struct((yyvsp[(6) - (9)].u.telement), (yyvsp[(7) - (9)].u.decl), attribute_chain((yyvsp[(4) - (9)].u.attribute), (yyvsp[(9) - (9)].u.attribute))); ;}
break;
case 458:
+
+/* Line 1455 of yacc.c */
#line 2055 "c-parse.y"
{ (yyval.u.telement) = finish_struct(start_struct((yyvsp[(1) - (5)].u.itoken).location, (yyvsp[(1) - (5)].u.itoken).i,
NULL), (yyvsp[(3) - (5)].u.decl), (yyvsp[(5) - (5)].u.attribute));
@@ -5543,72 +6203,100 @@ yyreduce:
break;
case 459:
+
+/* Line 1455 of yacc.c */
#line 2059 "c-parse.y"
{ (yyval.u.telement) = start_enum((yyvsp[(1) - (4)].u.itoken).location, (yyvsp[(2) - (4)].u.word)); ;}
break;
case 460:
+
+/* Line 1455 of yacc.c */
#line 2061 "c-parse.y"
{ (yyval.u.telement) = finish_enum((yyvsp[(5) - (9)].u.telement), declaration_reverse((yyvsp[(6) - (9)].u.decl)), attribute_chain((yyvsp[(3) - (9)].u.attribute), (yyvsp[(9) - (9)].u.attribute))); ;}
break;
case 461:
+
+/* Line 1455 of yacc.c */
#line 2063 "c-parse.y"
{ (yyval.u.telement) = start_enum((yyvsp[(1) - (2)].u.itoken).location, NULL); ;}
break;
case 462:
+
+/* Line 1455 of yacc.c */
#line 2065 "c-parse.y"
{ (yyval.u.telement) = finish_enum((yyvsp[(3) - (7)].u.telement), declaration_reverse((yyvsp[(4) - (7)].u.decl)), (yyvsp[(7) - (7)].u.attribute)); ;}
break;
case 463:
+
+/* Line 1455 of yacc.c */
#line 2069 "c-parse.y"
{ (yyval.u.itoken) = (yyvsp[(1) - (1)].u.itoken); (yyval.u.itoken).i = kind_struct_ref; ;}
break;
case 464:
+
+/* Line 1455 of yacc.c */
#line 2070 "c-parse.y"
{ (yyval.u.itoken) = (yyvsp[(1) - (1)].u.itoken); (yyval.u.itoken).i = kind_union_ref; ;}
break;
case 465:
+
+/* Line 1455 of yacc.c */
#line 2071 "c-parse.y"
{ (yyval.u.itoken) = (yyvsp[(1) - (1)].u.itoken); (yyval.u.itoken).i = kind_nx_struct_ref; ;}
break;
case 466:
+
+/* Line 1455 of yacc.c */
#line 2072 "c-parse.y"
{ (yyval.u.itoken) = (yyvsp[(1) - (1)].u.itoken); (yyval.u.itoken).i = kind_nx_union_ref; ;}
break;
case 470:
+
+/* Line 1455 of yacc.c */
#line 2083 "c-parse.y"
{ if (pedantic) pedwarn("comma at end of enumerator list"); ;}
break;
case 471:
+
+/* Line 1455 of yacc.c */
#line 2088 "c-parse.y"
{ (yyval.u.decl) = declaration_reverse((yyvsp[(1) - (1)].u.decl)); ;}
break;
case 472:
+
+/* Line 1455 of yacc.c */
#line 2090 "c-parse.y"
{ (yyval.u.decl) = declaration_reverse(declaration_chain((yyvsp[(2) - (2)].u.decl), (yyvsp[(1) - (2)].u.decl)));
pedwarn("no semicolon at end of struct or union"); ;}
break;
case 473:
+
+/* Line 1455 of yacc.c */
#line 2096 "c-parse.y"
{ (yyval.u.decl) = NULL; ;}
break;
case 474:
+
+/* Line 1455 of yacc.c */
#line 2098 "c-parse.y"
{ (yyval.u.decl) = declaration_chain((yyvsp[(2) - (3)].u.decl), (yyvsp[(1) - (3)].u.decl)); ;}
break;
case 475:
+
+/* Line 1455 of yacc.c */
#line 2100 "c-parse.y"
{ if (pedantic)
pedwarn("extra semicolon in struct or union specified");
@@ -5616,11 +6304,15 @@ yyreduce:
break;
case 476:
+
+/* Line 1455 of yacc.c */
#line 2116 "c-parse.y"
{ (yyval.u.decl) = make_data_decl((yyvsp[(1) - (3)].u.telement), declaration_reverse((yyvsp[(3) - (3)].u.decl))); ;}
break;
case 477:
+
+/* Line 1455 of yacc.c */
#line 2118 "c-parse.y"
{ if (pedantic)
pedwarn("ISO C doesn't support unnamed structs/unions");
@@ -5629,11 +6321,15 @@ yyreduce:
break;
case 478:
+
+/* Line 1455 of yacc.c */
#line 2123 "c-parse.y"
{ (yyval.u.decl) = make_data_decl((yyvsp[(1) - (3)].u.telement), declaration_reverse((yyvsp[(3) - (3)].u.decl))); ;}
break;
case 479:
+
+/* Line 1455 of yacc.c */
#line 2125 "c-parse.y"
{ if (pedantic)
pedwarn("ANSI C forbids member declarations with no members");
@@ -5642,155 +6338,213 @@ yyreduce:
break;
case 480:
+
+/* Line 1455 of yacc.c */
#line 2130 "c-parse.y"
{ (yyval.u.decl) = make_error_decl(); ;}
break;
case 481:
+
+/* Line 1455 of yacc.c */
#line 2132 "c-parse.y"
{ (yyval.u.decl) = make_extension_decl((yyvsp[(1) - (2)].u.itoken).i, (yyvsp[(1) - (2)].u.itoken).location, (yyvsp[(2) - (2)].u.decl)); ;}
break;
case 483:
+
+/* Line 1455 of yacc.c */
#line 2138 "c-parse.y"
{ (yyval.u.decl) = declaration_chain((yyvsp[(4) - (4)].u.decl), (yyvsp[(1) - (4)].u.decl)); ;}
break;
case 485:
+
+/* Line 1455 of yacc.c */
#line 2146 "c-parse.y"
{ (yyval.u.decl) = declaration_chain((yyvsp[(4) - (4)].u.decl), (yyvsp[(1) - (4)].u.decl)); ;}
break;
case 486:
+
+/* Line 1455 of yacc.c */
#line 2151 "c-parse.y"
{ (yyval.u.decl) = make_field((yyvsp[(1) - (2)].u.declarator), NULL, pstate.declspecs,
prefix_attr((yyvsp[(2) - (2)].u.attribute))); ;}
break;
case 487:
+
+/* Line 1455 of yacc.c */
#line 2154 "c-parse.y"
{ (yyval.u.decl) = make_field((yyvsp[(1) - (4)].u.declarator), (yyvsp[(3) - (4)].u.expr), pstate.declspecs,
prefix_attr((yyvsp[(4) - (4)].u.attribute))); ;}
break;
case 488:
+
+/* Line 1455 of yacc.c */
#line 2157 "c-parse.y"
{ (yyval.u.decl) = make_field(NULL, (yyvsp[(2) - (3)].u.expr), pstate.declspecs,
prefix_attr((yyvsp[(3) - (3)].u.attribute))); ;}
break;
case 489:
+
+/* Line 1455 of yacc.c */
#line 2163 "c-parse.y"
{ (yyval.u.decl) = make_field((yyvsp[(1) - (2)].u.declarator), NULL, pstate.declspecs,
prefix_attr((yyvsp[(2) - (2)].u.attribute))); ;}
break;
case 490:
+
+/* Line 1455 of yacc.c */
#line 2166 "c-parse.y"
{ (yyval.u.decl) = make_field((yyvsp[(1) - (4)].u.declarator), (yyvsp[(3) - (4)].u.expr), pstate.declspecs,
prefix_attr((yyvsp[(4) - (4)].u.attribute))); ;}
break;
case 491:
+
+/* Line 1455 of yacc.c */
#line 2169 "c-parse.y"
{ (yyval.u.decl) = make_field(NULL, (yyvsp[(2) - (3)].u.expr), pstate.declspecs,
prefix_attr((yyvsp[(3) - (3)].u.attribute))); ;}
break;
case 493:
+
+/* Line 1455 of yacc.c */
#line 2176 "c-parse.y"
{ (yyval.u.decl) = declaration_chain((yyvsp[(3) - (3)].u.decl), (yyvsp[(1) - (3)].u.decl)); ;}
break;
case 494:
+
+/* Line 1455 of yacc.c */
#line 2178 "c-parse.y"
{ (yyval.u.decl) = NULL; ;}
break;
case 495:
+
+/* Line 1455 of yacc.c */
#line 2184 "c-parse.y"
{ (yyval.u.decl) = make_enumerator((yyvsp[(1) - (1)].idtoken).location, (yyvsp[(1) - (1)].idtoken).id, NULL); ;}
break;
case 496:
+
+/* Line 1455 of yacc.c */
#line 2186 "c-parse.y"
{ (yyval.u.decl) = make_enumerator((yyvsp[(1) - (3)].idtoken).location, (yyvsp[(1) - (3)].idtoken).id, (yyvsp[(3) - (3)].u.expr)); ;}
break;
case 497:
+
+/* Line 1455 of yacc.c */
#line 2191 "c-parse.y"
{ pending_xref_error(); ;}
break;
case 498:
+
+/* Line 1455 of yacc.c */
#line 2193 "c-parse.y"
{ (yyval.u.type) = make_type((yyvsp[(1) - (3)].u.telement), (yyvsp[(3) - (3)].u.declarator)); ;}
break;
case 499:
+
+/* Line 1455 of yacc.c */
#line 2198 "c-parse.y"
{ (yyval.u.declarator) = NULL; ;}
break;
case 504:
+
+/* Line 1455 of yacc.c */
#line 2210 "c-parse.y"
{ (yyval.u.declarator) = make_pointer_declarator((yyvsp[(1) - (3)].u.itoken).location, (yyvsp[(3) - (3)].u.declarator), (yyvsp[(2) - (3)].u.telement)); ;}
break;
case 505:
+
+/* Line 1455 of yacc.c */
#line 2215 "c-parse.y"
{ (yyval.u.declarator) = make_pointer_declarator((yyvsp[(1) - (2)].u.itoken).location, NULL, (yyvsp[(2) - (2)].u.telement)); ;}
break;
case 506:
+
+/* Line 1455 of yacc.c */
#line 2217 "c-parse.y"
{ (yyval.u.declarator) = make_pointer_declarator((yyvsp[(1) - (3)].u.itoken).location, (yyvsp[(3) - (3)].u.declarator), (yyvsp[(2) - (3)].u.telement)); ;}
break;
case 507:
+
+/* Line 1455 of yacc.c */
#line 2222 "c-parse.y"
{ (yyval.u.declarator) = make_qualified_declarator((yyvsp[(1) - (4)].u.itoken).location, (yyvsp[(3) - (4)].u.declarator), CAST(type_element, (yyvsp[(2) - (4)].u.attribute))); ;}
break;
case 508:
+
+/* Line 1455 of yacc.c */
#line 2224 "c-parse.y"
{ (yyval.u.declarator) = finish_array_or_fn_declarator((yyvsp[(1) - (2)].u.declarator), (yyvsp[(2) - (2)].u.nested)); ;}
break;
case 509:
+
+/* Line 1455 of yacc.c */
#line 2226 "c-parse.y"
{ (yyval.u.declarator) = finish_array_or_fn_declarator(NULL, (yyvsp[(1) - (1)].u.nested)); ;}
break;
case 514:
+
+/* Line 1455 of yacc.c */
#line 2241 "c-parse.y"
{ (yyval.u.nested) = CAST(nested_declarator,
new_function_declarator(pr, (yyvsp[(2) - (4)].u.itoken).location, NULL, (yyvsp[(3) - (4)].u.decl), (yyvsp[(1) - (4)].u.decl), (yyvsp[(4) - (4)].u.telement), NULL)); ;}
break;
case 515:
+
+/* Line 1455 of yacc.c */
#line 2244 "c-parse.y"
{ (yyval.u.nested) = CAST(nested_declarator,
new_function_declarator(pr, (yyvsp[(1) - (3)].u.itoken).location, NULL, (yyvsp[(2) - (3)].u.decl), NULL, (yyvsp[(3) - (3)].u.telement), NULL)); ;}
break;
case 516:
+
+/* Line 1455 of yacc.c */
#line 2250 "c-parse.y"
{ (yyval.u.nested) = CAST(nested_declarator,
new_function_declarator(pr, (yyvsp[(1) - (3)].u.itoken).location, NULL, (yyvsp[(2) - (3)].u.decl), NULL, (yyvsp[(3) - (3)].u.telement), NULL)); ;}
break;
case 517:
+
+/* Line 1455 of yacc.c */
#line 2256 "c-parse.y"
{ (yyval.u.nested) = CAST(nested_declarator, new_array_declarator(pr, (yyvsp[(1) - (3)].u.itoken).location, NULL, (yyvsp[(2) - (3)].u.expr))); ;}
break;
case 518:
+
+/* Line 1455 of yacc.c */
#line 2258 "c-parse.y"
{ (yyval.u.nested) = CAST(nested_declarator, new_array_declarator(pr, (yyvsp[(1) - (2)].u.itoken).location, NULL, NULL)); ;}
break;
case 519:
+
+/* Line 1455 of yacc.c */
#line 2267 "c-parse.y"
{
if (pedantic && (yyvsp[(1) - (1)].u.istmt).i)
@@ -5807,31 +6561,43 @@ yyreduce:
break;
case 521:
+
+/* Line 1455 of yacc.c */
#line 2284 "c-parse.y"
{ (yyval.u.istmt).i = (yyvsp[(2) - (2)].u.istmt).i; (yyval.u.istmt).stmt = chain_with_labels((yyvsp[(1) - (2)].u.istmt).stmt, (yyvsp[(2) - (2)].u.istmt).stmt); ;}
break;
case 522:
+
+/* Line 1455 of yacc.c */
#line 2286 "c-parse.y"
{ (yyval.u.istmt).i = 0; (yyval.u.istmt).stmt = make_error_stmt(); ;}
break;
case 523:
+
+/* Line 1455 of yacc.c */
#line 2290 "c-parse.y"
{ (yyval.u.stmt) = NULL; ;}
break;
case 526:
+
+/* Line 1455 of yacc.c */
#line 2299 "c-parse.y"
{ pushlevel(FALSE); ;}
break;
case 527:
+
+/* Line 1455 of yacc.c */
#line 2305 "c-parse.y"
{ (yyval.u.id_label) = NULL; ;}
break;
case 528:
+
+/* Line 1455 of yacc.c */
#line 2307 "c-parse.y"
{ if (pedantic)
pedwarn("ANSI C forbids label declarations");
@@ -5839,59 +6605,81 @@ yyreduce:
break;
case 530:
+
+/* Line 1455 of yacc.c */
#line 2314 "c-parse.y"
{ (yyval.u.id_label) = id_label_chain((yyvsp[(2) - (2)].u.id_label), (yyvsp[(1) - (2)].u.id_label)); ;}
break;
case 531:
+
+/* Line 1455 of yacc.c */
#line 2319 "c-parse.y"
{ (yyval.u.id_label) = (yyvsp[(2) - (3)].u.id_label); ;}
break;
case 533:
+
+/* Line 1455 of yacc.c */
#line 2326 "c-parse.y"
{ (yyval.u.stmt) = (yyvsp[(2) - (2)].u.stmt); ;}
break;
case 534:
+
+/* Line 1455 of yacc.c */
#line 2330 "c-parse.y"
{ (yyval.u.itoken) = (yyvsp[(1) - (1)].u.itoken); compstmt_count++; ;}
break;
case 535:
+
+/* Line 1455 of yacc.c */
#line 2335 "c-parse.y"
{ (yyval.u.stmt) = CAST(statement, new_compound_stmt(pr, (yyvsp[(1) - (3)].u.itoken).location, NULL, NULL, NULL, poplevel())); ;}
break;
case 536:
+
+/* Line 1455 of yacc.c */
#line 2337 "c-parse.y"
{ (yyval.u.stmt) = CAST(statement, new_compound_stmt(pr, (yyvsp[(1) - (6)].u.itoken).location, (yyvsp[(3) - (6)].u.id_label),
declaration_reverse((yyvsp[(4) - (6)].u.decl)), (yyvsp[(5) - (6)].u.stmt), poplevel())); ;}
break;
case 537:
+
+/* Line 1455 of yacc.c */
#line 2340 "c-parse.y"
{ poplevel();
(yyval.u.stmt) = make_error_stmt(); ;}
break;
case 538:
+
+/* Line 1455 of yacc.c */
#line 2343 "c-parse.y"
{ (yyval.u.stmt) = CAST(statement, new_compound_stmt(pr, (yyvsp[(1) - (5)].u.itoken).location, (yyvsp[(3) - (5)].u.id_label), NULL, (yyvsp[(4) - (5)].u.stmt), poplevel())); ;}
break;
case 539:
+
+/* Line 1455 of yacc.c */
#line 2349 "c-parse.y"
{ (yyval.u.istmt).stmt = CAST(statement, new_if_stmt(pr, (yyvsp[(1) - (2)].u.iexpr).expr->location, (yyvsp[(1) - (2)].u.iexpr).expr, (yyvsp[(2) - (2)].u.stmt), NULL));
(yyval.u.istmt).i = (yyvsp[(1) - (2)].u.iexpr).i; ;}
break;
case 540:
+
+/* Line 1455 of yacc.c */
#line 2351 "c-parse.y"
{ (yyval.u.istmt).i = (yyvsp[(1) - (2)].u.iexpr).i; (yyval.u.istmt).stmt = make_error_stmt(); ;}
break;
case 541:
+
+/* Line 1455 of yacc.c */
#line 2356 "c-parse.y"
{ (yyval.u.iexpr).i = stmt_count;
(yyval.u.iexpr).expr = (yyvsp[(3) - (4)].u.expr);
@@ -5899,6 +6687,8 @@ yyreduce:
break;
case 542:
+
+/* Line 1455 of yacc.c */
#line 2366 "c-parse.y"
{ stmt_count++;
compstmt_count++;
@@ -5908,32 +6698,44 @@ yyreduce:
break;
case 543:
+
+/* Line 1455 of yacc.c */
#line 2372 "c-parse.y"
{ (yyval.u.cstmt) = (yyvsp[(2) - (4)].u.cstmt);
(yyval.u.cstmt)->stmt = (yyvsp[(3) - (4)].u.stmt); ;}
break;
case 544:
+
+/* Line 1455 of yacc.c */
#line 2378 "c-parse.y"
{ (yyval.u.stmt) = (yyvsp[(1) - (1)].u.stmt); ;}
break;
case 545:
+
+/* Line 1455 of yacc.c */
#line 2380 "c-parse.y"
{ (yyval.u.stmt) = CAST(statement, new_labeled_stmt(pr, (yyvsp[(1) - (2)].u.label)->location, (yyvsp[(1) - (2)].u.label), (yyvsp[(2) - (2)].u.stmt))); ;}
break;
case 546:
+
+/* Line 1455 of yacc.c */
#line 2385 "c-parse.y"
{ (yyval.u.istmt).i = 0; (yyval.u.istmt).stmt = (yyvsp[(1) - (1)].u.stmt); ;}
break;
case 547:
+
+/* Line 1455 of yacc.c */
#line 2387 "c-parse.y"
{ (yyval.u.istmt).i = 1; (yyval.u.istmt).stmt = CAST(statement, new_labeled_stmt(pr, (yyvsp[(1) - (1)].u.label)->location, (yyvsp[(1) - (1)].u.label), NULL)); ;}
break;
case 548:
+
+/* Line 1455 of yacc.c */
#line 2391 "c-parse.y"
{
atomic_stmt last_atomic = current.in_atomic;
@@ -5944,6 +6746,8 @@ yyreduce:
break;
case 549:
+
+/* Line 1455 of yacc.c */
#line 2398 "c-parse.y"
{
atomic_stmt this_atomic = current.in_atomic;
@@ -5958,27 +6762,37 @@ yyreduce:
break;
case 551:
+
+/* Line 1455 of yacc.c */
#line 2412 "c-parse.y"
{ (yyval.u.stmt) = make_error_stmt(); ;}
break;
case 552:
+
+/* Line 1455 of yacc.c */
#line 2418 "c-parse.y"
{ stmt_count++; (yyval.u.stmt) = (yyvsp[(1) - (1)].u.stmt); ;}
break;
case 553:
+
+/* Line 1455 of yacc.c */
#line 2420 "c-parse.y"
{ stmt_count++;
(yyval.u.stmt) = CAST(statement, new_expression_stmt(pr, (yyvsp[(1) - (2)].u.expr)->location, (yyvsp[(1) - (2)].u.expr))); ;}
break;
case 554:
+
+/* Line 1455 of yacc.c */
#line 2423 "c-parse.y"
{ (yyvsp[(1) - (2)].u.istmt).i = stmt_count; ;}
break;
case 555:
+
+/* Line 1455 of yacc.c */
#line 2425 "c-parse.y"
{ if (extra_warnings && stmt_count == (yyvsp[(1) - (4)].u.istmt).i)
warning("empty body in an else-statement");
@@ -5989,6 +6803,8 @@ yyreduce:
break;
case 556:
+
+/* Line 1455 of yacc.c */
#line 2432 "c-parse.y"
{ /* This warning is here instead of in simple_if, because we
do not want a warning if an empty if is followed by an
@@ -6001,16 +6817,22 @@ yyreduce:
break;
case 557:
+
+/* Line 1455 of yacc.c */
#line 2441 "c-parse.y"
{ (yyval.u.stmt) = make_error_stmt(); ;}
break;
case 558:
+
+/* Line 1455 of yacc.c */
#line 2443 "c-parse.y"
{ stmt_count++; ;}
break;
case 559:
+
+/* Line 1455 of yacc.c */
#line 2445 "c-parse.y"
{ check_condition("while", (yyvsp[(4) - (5)].u.expr));
(yyval.u.cstmt) = CAST(conditional_stmt,
@@ -6020,6 +6842,8 @@ yyreduce:
break;
case 560:
+
+/* Line 1455 of yacc.c */
#line 2451 "c-parse.y"
{ (yyval.u.stmt) = CAST(statement, (yyvsp[(6) - (7)].u.cstmt));
(yyvsp[(6) - (7)].u.cstmt)->stmt = (yyvsp[(7) - (7)].u.stmt);
@@ -6027,6 +6851,8 @@ yyreduce:
break;
case 561:
+
+/* Line 1455 of yacc.c */
#line 2455 "c-parse.y"
{ (yyval.u.stmt) = CAST(statement, (yyvsp[(1) - (5)].u.cstmt));
(yyvsp[(1) - (5)].u.cstmt)->condition = (yyvsp[(3) - (5)].u.expr);
@@ -6037,28 +6863,38 @@ yyreduce:
break;
case 562:
+
+/* Line 1455 of yacc.c */
#line 2462 "c-parse.y"
{ (yyval.u.stmt) = make_error_stmt();
pop_loop(); ;}
break;
case 563:
+
+/* Line 1455 of yacc.c */
#line 2464 "c-parse.y"
{ stmt_count++; ;}
break;
case 564:
+
+/* Line 1455 of yacc.c */
#line 2465 "c-parse.y"
{ if ((yyvsp[(6) - (7)].u.expr)) check_condition("for", (yyvsp[(6) - (7)].u.expr)); ;}
break;
case 565:
+
+/* Line 1455 of yacc.c */
#line 2467 "c-parse.y"
{ (yyval.u.for_stmt) = new_for_stmt(pr, (yyvsp[(1) - (10)].u.itoken).location, (yyvsp[(3) - (10)].u.expr), (yyvsp[(6) - (10)].u.expr), (yyvsp[(9) - (10)].u.expr), NULL);
push_loop(CAST(statement, (yyval.u.for_stmt))); ;}
break;
case 566:
+
+/* Line 1455 of yacc.c */
#line 2470 "c-parse.y"
{ (yyval.u.stmt) = CAST(statement, (yyvsp[(11) - (12)].u.for_stmt));
(yyvsp[(11) - (12)].u.for_stmt)->stmt = (yyvsp[(12) - (12)].u.stmt);
@@ -6066,6 +6902,8 @@ yyreduce:
break;
case 567:
+
+/* Line 1455 of yacc.c */
#line 2474 "c-parse.y"
{ stmt_count++; check_switch((yyvsp[(3) - (4)].u.expr));
(yyval.u.cstmt) = CAST(conditional_stmt,
@@ -6074,6 +6912,8 @@ yyreduce:
break;
case 568:
+
+/* Line 1455 of yacc.c */
#line 2479 "c-parse.y"
{ (yyval.u.stmt) = CAST(statement, (yyvsp[(5) - (6)].u.cstmt));
(yyvsp[(5) - (6)].u.cstmt)->stmt = (yyvsp[(6) - (6)].u.stmt);
@@ -6081,6 +6921,8 @@ yyreduce:
break;
case 569:
+
+/* Line 1455 of yacc.c */
#line 2483 "c-parse.y"
{ stmt_count++;
(yyval.u.stmt) = CAST(statement, new_break_stmt(pr, (yyvsp[(1) - (2)].u.itoken).location));
@@ -6089,6 +6931,8 @@ yyreduce:
break;
case 570:
+
+/* Line 1455 of yacc.c */
#line 2488 "c-parse.y"
{ stmt_count++;
(yyval.u.stmt) = CAST(statement, new_continue_stmt(pr, (yyvsp[(1) - (2)].u.itoken).location));
@@ -6097,18 +6941,24 @@ yyreduce:
break;
case 571:
+
+/* Line 1455 of yacc.c */
#line 2493 "c-parse.y"
{ stmt_count++;
(yyval.u.stmt) = make_void_return((yyvsp[(1) - (2)].u.itoken).location); ;}
break;
case 572:
+
+/* Line 1455 of yacc.c */
#line 2496 "c-parse.y"
{ stmt_count++;
(yyval.u.stmt) = make_return((yyvsp[(1) - (3)].u.itoken).location, (yyvsp[(2) - (3)].u.expr)); ;}
break;
case 573:
+
+/* Line 1455 of yacc.c */
#line 2499 "c-parse.y"
{ stmt_count++;
(yyval.u.stmt) = CAST(statement, new_asm_stmt(pr, (yyvsp[(1) - (6)].u.itoken).location, (yyvsp[(4) - (6)].u.expr), NULL,
@@ -6116,6 +6966,8 @@ yyreduce:
break;
case 574:
+
+/* Line 1455 of yacc.c */
#line 2504 "c-parse.y"
{ stmt_count++;
(yyval.u.stmt) = CAST(statement, new_asm_stmt(pr, (yyvsp[(1) - (8)].u.itoken).location, (yyvsp[(4) - (8)].u.expr), (yyvsp[(6) - (8)].u.asm_operand), NULL,
@@ -6123,18 +6975,24 @@ yyreduce:
break;
case 575:
+
+/* Line 1455 of yacc.c */
#line 2509 "c-parse.y"
{ stmt_count++;
(yyval.u.stmt) = CAST(statement, new_asm_stmt(pr, (yyvsp[(1) - (10)].u.itoken).location, (yyvsp[(4) - (10)].u.expr), (yyvsp[(6) - (10)].u.asm_operand), (yyvsp[(8) - (10)].u.asm_operand), NULL, (yyvsp[(2) - (10)].u.telement))); ;}
break;
case 576:
+
+/* Line 1455 of yacc.c */
#line 2514 "c-parse.y"
{ stmt_count++;
(yyval.u.stmt) = CAST(statement, new_asm_stmt(pr, (yyvsp[(1) - (12)].u.itoken).location, (yyvsp[(4) - (12)].u.expr), (yyvsp[(6) - (12)].u.asm_operand), (yyvsp[(8) - (12)].u.asm_operand), (yyvsp[(10) - (12)].u.string), (yyvsp[(2) - (12)].u.telement))); ;}
break;
case 577:
+
+/* Line 1455 of yacc.c */
#line 2517 "c-parse.y"
{ stmt_count++;
(yyval.u.stmt) = CAST(statement, new_goto_stmt(pr, (yyvsp[(1) - (3)].u.itoken).location, (yyvsp[(2) - (3)].u.id_label)));
@@ -6143,6 +7001,8 @@ yyreduce:
break;
case 578:
+
+/* Line 1455 of yacc.c */
#line 2522 "c-parse.y"
{ if (pedantic)
pedwarn("ANSI C forbids `goto *expr;'");
@@ -6153,80 +7013,110 @@ yyreduce:
break;
case 580:
+
+/* Line 1455 of yacc.c */
#line 2529 "c-parse.y"
{ (yyval.u.stmt) = CAST(statement, new_empty_stmt(pr, (yyvsp[(1) - (1)].u.itoken).location)); ;}
break;
case 581:
+
+/* Line 1455 of yacc.c */
#line 2537 "c-parse.y"
{ (yyval.u.label) = CAST(label, new_case_label(pr, (yyvsp[(1) - (3)].u.itoken).location, (yyvsp[(2) - (3)].u.expr), NULL));
check_case((yyval.u.label)); ;}
break;
case 582:
+
+/* Line 1455 of yacc.c */
#line 2540 "c-parse.y"
{ (yyval.u.label) = CAST(label, new_case_label(pr, (yyvsp[(1) - (5)].u.itoken).location, (yyvsp[(2) - (5)].u.expr), (yyvsp[(4) - (5)].u.expr)));
check_case((yyval.u.label)); ;}
break;
case 583:
+
+/* Line 1455 of yacc.c */
#line 2543 "c-parse.y"
{ (yyval.u.label) = CAST(label, new_default_label(pr, (yyvsp[(1) - (2)].u.itoken).location));
check_default((yyval.u.label)); ;}
break;
case 584:
+
+/* Line 1455 of yacc.c */
#line 2546 "c-parse.y"
{ (yyval.u.label) = CAST(label, (yyvsp[(1) - (2)].u.id_label));
define_label((yyvsp[(1) - (2)].u.id_label)); ;}
break;
case 585:
+
+/* Line 1455 of yacc.c */
#line 2554 "c-parse.y"
{ (yyval.u.telement) = NULL; ;}
break;
case 587:
+
+/* Line 1455 of yacc.c */
#line 2560 "c-parse.y"
{ (yyval.u.expr) = NULL; ;}
break;
case 589:
+
+/* Line 1455 of yacc.c */
#line 2568 "c-parse.y"
{ (yyval.u.asm_operand) = NULL; ;}
break;
case 592:
+
+/* Line 1455 of yacc.c */
#line 2575 "c-parse.y"
{ (yyval.u.asm_operand) = asm_operand_chain((yyvsp[(1) - (3)].u.asm_operand), (yyvsp[(3) - (3)].u.asm_operand)); ;}
break;
case 593:
+
+/* Line 1455 of yacc.c */
#line 2580 "c-parse.y"
{ (yyval.u.asm_operand) = new_asm_operand(pr, (yyvsp[(1) - (4)].u.string)->location, NULL, (yyvsp[(1) - (4)].u.string), (yyvsp[(3) - (4)].u.expr)); ;}
break;
case 594:
+
+/* Line 1455 of yacc.c */
#line 2582 "c-parse.y"
{ (yyval.u.asm_operand) = new_asm_operand(pr, (yyvsp[(1) - (7)].u.itoken).location, (yyvsp[(2) - (7)].u.word), (yyvsp[(4) - (7)].u.string), (yyvsp[(6) - (7)].u.expr)); ;}
break;
case 595:
+
+/* Line 1455 of yacc.c */
#line 2587 "c-parse.y"
{ (yyval.u.string) = (yyvsp[(1) - (1)].u.string); ;}
break;
case 596:
+
+/* Line 1455 of yacc.c */
#line 2589 "c-parse.y"
{ (yyval.u.string) = string_chain((yyvsp[(1) - (3)].u.string), (yyvsp[(3) - (3)].u.string)); ;}
break;
case 597:
+
+/* Line 1455 of yacc.c */
#line 2595 "c-parse.y"
{ pushlevel(TRUE); ;}
break;
case 598:
+
+/* Line 1455 of yacc.c */
#line 2597 "c-parse.y"
{ (yyval.u.decl) = (yyvsp[(2) - (2)].u.decl);
/* poplevel() is done when building the declarator */
@@ -6234,11 +7124,15 @@ yyreduce:
break;
case 599:
+
+/* Line 1455 of yacc.c */
#line 2603 "c-parse.y"
{ (yyval.u.decl) = (yyvsp[(1) - (2)].u.decl); ;}
break;
case 600:
+
+/* Line 1455 of yacc.c */
#line 2605 "c-parse.y"
{ if (pedantic)
pedwarn("ANSI C forbids forward parameter declarations");
@@ -6247,21 +7141,29 @@ yyreduce:
break;
case 601:
+
+/* Line 1455 of yacc.c */
#line 2610 "c-parse.y"
{ (yyval.u.decl) = declaration_chain((yyvsp[(1) - (4)].u.decl), (yyvsp[(4) - (4)].u.decl)); ;}
break;
case 602:
+
+/* Line 1455 of yacc.c */
#line 2612 "c-parse.y"
{ (yyval.u.decl) = make_error_decl(); ;}
break;
case 603:
+
+/* Line 1455 of yacc.c */
#line 2618 "c-parse.y"
{ (yyval.u.decl) = NULL; ;}
break;
case 604:
+
+/* Line 1455 of yacc.c */
#line 2620 "c-parse.y"
{ (yyval.u.decl) = make_error_decl();
/* Gcc used to allow this as an extension. However, it does
@@ -6275,113 +7177,157 @@ yyreduce:
break;
case 605:
+
+/* Line 1455 of yacc.c */
#line 2630 "c-parse.y"
{ (yyval.u.decl) = (yyvsp[(1) - (1)].u.decl); ;}
break;
case 606:
+
+/* Line 1455 of yacc.c */
#line 2632 "c-parse.y"
{ (yyval.u.decl) = declaration_chain((yyvsp[(1) - (3)].u.decl), CAST(declaration, new_ellipsis_decl(pr, (yyvsp[(3) - (3)].u.itoken).location))); ;}
break;
case 608:
+
+/* Line 1455 of yacc.c */
#line 2638 "c-parse.y"
{ (yyval.u.decl) = declaration_chain((yyvsp[(1) - (3)].u.decl), (yyvsp[(3) - (3)].u.decl)); ;}
break;
case 609:
+
+/* Line 1455 of yacc.c */
#line 2645 "c-parse.y"
{ (yyval.u.decl) = declare_parameter((yyvsp[(3) - (4)].u.declarator), (yyvsp[(1) - (4)].u.telement), (yyvsp[(4) - (4)].u.attribute)); ;}
break;
case 610:
+
+/* Line 1455 of yacc.c */
#line 2647 "c-parse.y"
{ (yyval.u.decl) = declare_parameter((yyvsp[(3) - (4)].u.declarator), (yyvsp[(1) - (4)].u.telement), (yyvsp[(4) - (4)].u.attribute)); ;}
break;
case 611:
+
+/* Line 1455 of yacc.c */
#line 2649 "c-parse.y"
{ (yyval.u.decl) = declare_parameter((yyvsp[(3) - (3)].u.declarator), (yyvsp[(1) - (3)].u.telement), NULL); ;}
break;
case 612:
+
+/* Line 1455 of yacc.c */
#line 2651 "c-parse.y"
{ (yyval.u.decl) = declare_parameter((yyvsp[(3) - (4)].u.declarator), (yyvsp[(1) - (4)].u.telement), (yyvsp[(4) - (4)].u.attribute)); ;}
break;
case 613:
+
+/* Line 1455 of yacc.c */
#line 2653 "c-parse.y"
{ (yyval.u.decl) = declare_parameter((yyvsp[(3) - (4)].u.declarator), (yyvsp[(1) - (4)].u.telement), (yyvsp[(4) - (4)].u.attribute)); ;}
break;
case 614:
+
+/* Line 1455 of yacc.c */
#line 2655 "c-parse.y"
{ (yyval.u.decl) = declare_parameter((yyvsp[(3) - (3)].u.declarator), (yyvsp[(1) - (3)].u.telement), NULL); ;}
break;
case 615:
+
+/* Line 1455 of yacc.c */
#line 2657 "c-parse.y"
{ (yyval.u.decl) = declare_parameter((yyvsp[(3) - (4)].u.declarator), (yyvsp[(1) - (4)].u.telement), (yyvsp[(4) - (4)].u.attribute)); ;}
break;
case 616:
+
+/* Line 1455 of yacc.c */
#line 2660 "c-parse.y"
{ pending_xref_error(); ;}
break;
case 617:
+
+/* Line 1455 of yacc.c */
#line 2666 "c-parse.y"
{ pushlevel(TRUE); ;}
break;
case 618:
+
+/* Line 1455 of yacc.c */
#line 2668 "c-parse.y"
{ (yyval.u.decl) = (yyvsp[(2) - (2)].u.decl);
/* poplevel is done when building the declarator */ ;}
break;
case 620:
+
+/* Line 1455 of yacc.c */
#line 2674 "c-parse.y"
{ (yyval.u.decl) = (yyvsp[(1) - (2)].u.decl); ;}
break;
case 621:
+
+/* Line 1455 of yacc.c */
#line 2680 "c-parse.y"
{ (yyval.u.decl) = (yyvsp[(1) - (1)].u.decl); ;}
break;
case 622:
+
+/* Line 1455 of yacc.c */
#line 2682 "c-parse.y"
{ (yyval.u.decl) = declaration_chain((yyvsp[(1) - (3)].u.decl), (yyvsp[(3) - (3)].u.decl)); ;}
break;
case 623:
+
+/* Line 1455 of yacc.c */
#line 2686 "c-parse.y"
{ (yyval.u.decl) = declare_old_parameter((yyvsp[(1) - (1)].idtoken).location, (yyvsp[(1) - (1)].idtoken).id); ;}
break;
case 624:
+
+/* Line 1455 of yacc.c */
#line 2691 "c-parse.y"
{ (yyval.u.id_label) = (yyvsp[(1) - (1)].u.id_label); declare_label((yyvsp[(1) - (1)].u.id_label)); ;}
break;
case 625:
+
+/* Line 1455 of yacc.c */
#line 2693 "c-parse.y"
{ (yyval.u.id_label) = id_label_chain((yyvsp[(3) - (3)].u.id_label), (yyvsp[(1) - (3)].u.id_label));
declare_label((yyvsp[(3) - (3)].u.id_label)); ;}
break;
case 626:
+
+/* Line 1455 of yacc.c */
#line 2699 "c-parse.y"
{ (yyval.u.telement) = NULL; ;}
break;
case 627:
+
+/* Line 1455 of yacc.c */
#line 2700 "c-parse.y"
{ (yyval.u.telement) = (yyvsp[(1) - (1)].u.telement); ;}
break;
case 628:
+
+/* Line 1455 of yacc.c */
#line 2705 "c-parse.y"
{ (yyval.u.itoken).location = (yyvsp[(1) - (1)].u.itoken).location;
(yyval.u.itoken).i = pedantic;
@@ -6389,33 +7335,44 @@ yyreduce:
break;
case 629:
+
+/* Line 1455 of yacc.c */
#line 2712 "c-parse.y"
{ (yyval.u.telement) = CAST(type_element, new_rid(pr, (yyvsp[(1) - (1)].u.itoken).location, (yyvsp[(1) - (1)].u.itoken).i)); ;}
break;
case 630:
+
+/* Line 1455 of yacc.c */
#line 2714 "c-parse.y"
{ (yyval.u.telement) = CAST(type_element, new_rid(pr, (yyvsp[(1) - (1)].u.itoken).location, RID_DEFAULT)); ;}
break;
case 631:
+
+/* Line 1455 of yacc.c */
#line 2719 "c-parse.y"
{ (yyval.u.telement) = CAST(type_element, new_qualifier(pr, (yyvsp[(1) - (1)].u.itoken).location, (yyvsp[(1) - (1)].u.itoken).i)); ;}
break;
case 632:
+
+/* Line 1455 of yacc.c */
#line 2724 "c-parse.y"
{ (yyval.u.telement) = CAST(type_element, new_qualifier(pr, (yyvsp[(1) - (1)].u.itoken).location, (yyvsp[(1) - (1)].u.itoken).i)); ;}
break;
case 633:
+
+/* Line 1455 of yacc.c */
#line 2729 "c-parse.y"
{ (yyval.u.telement) = CAST(type_element, new_rid(pr, (yyvsp[(1) - (1)].u.itoken).location, (yyvsp[(1) - (1)].u.itoken).i)); ;}
break;
-/* Line 1267 of yacc.c. */
-#line 6419 "c-parse.tab.c"
+
+/* Line 1455 of yacc.c */
+#line 7376 "c-parse.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -6426,7 +7383,6 @@ yyreduce:
*++yyvsp = yyval;
-
/* Now `shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
@@ -6491,7 +7447,7 @@ yyerrlab:
if (yyerrstatus == 3)
{
- /* If just tried and failed to reuse look-ahead token after an
+ /* If just tried and failed to reuse lookahead token after an
error, discard it. */
if (yychar <= YYEOF)
@@ -6508,7 +7464,7 @@ yyerrlab:
}
}
- /* Else will try to reuse look-ahead token after shifting the error
+ /* Else will try to reuse lookahead token after shifting the error
token. */
goto yyerrlab1;
@@ -6565,9 +7521,6 @@ yyerrlab1:
YY_STACK_PRINT (yyss, yyssp);
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
*++yyvsp = yylval;
@@ -6592,7 +7545,7 @@ yyabortlab:
yyresult = 1;
goto yyreturn;
-#ifndef yyoverflow
+#if !defined(yyoverflow) || YYERROR_VERBOSE
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
`-------------------------------------------------*/
@@ -6603,7 +7556,7 @@ yyexhaustedlab:
#endif
yyreturn:
- if (yychar != YYEOF && yychar != YYEMPTY)
+ if (yychar != YYEMPTY)
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval);
/* Do not reclaim the symbols of the rule which action triggered
@@ -6629,6 +7582,8 @@ yyreturn:
}
+
+/* Line 1675 of yacc.c */
#line 2733 "c-parse.y"