]> oss.titaniummirror.com Git - nesc.git/blobdiff - src/c-parse.tab.c
Pristine nesc-1.3.2
[nesc.git] / src / c-parse.tab.c
index 5475b3d13c4ada244c51eb031cad0c8abd209bb0..a02a40caf31b94bc19dfffb78dc44961ed6bf893 100644 (file)
@@ -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.
    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
    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.
    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
    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 <http://www.gnu.org/licenses/>.  */
 
 /* As a special exception, you may create a larger work that contains
    part or all of the Bison parser skeleton and distribute that work
 
 /* 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.
    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.  */
 
    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 1
 
 /* Bison version.  */
-#define YYBISON_VERSION "2.3"
+#define YYBISON_VERSION "2.4.1"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
 /* Pure parsers.  */
 #define YYPURE 1
 
 /* 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.  */
 
 
 
 /* Copy the first part of user declarations.  */
+
+/* Line 189 of yacc.c  */
 #line 33 "c-parse.y"
 
 #include <stdio.h>
 #line 33 "c-parse.y"
 
 #include <stdio.h>
@@ -260,6 +104,8 @@ void yyerror();
 
 /* Cause the `yydebug' variable to be defined.  */
 #define YYDEBUG 1
 
 /* 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
 #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();
 
 
 void yyprint();
 
 
+/* Line 189 of yacc.c  */
+#line 326 "c-parse.tab.c"
+
 /* Enabling traces.  */
 #ifndef YYDEBUG
 # define YYDEBUG 0
 /* Enabling traces.  */
 #ifndef YYDEBUG
 # define YYDEBUG 0
@@ -493,20 +342,105 @@ void yyprint();
 # define YYTOKEN_TABLE 0
 #endif
 
 # 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
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef int YYSTYPE;
+
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
 #endif
 
 
 #endif
 
 
-
 /* Copy the second part of user declarations.  */
 
 
 /* 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
 
 #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
 #if (defined __STDC__ || defined __C99__FUNC__ \
      || defined __cplusplus || defined _MSC_VER)
 static int
-YYID (int i)
+YYID (int yyi)
 #else
 static int
 #else
 static int
-YYID (i)
-    int i;
+YYID (yyi)
+    int yyi;
 #endif
 {
 #endif
 {
-  return i;
+  return yyi;
 }
 #endif
 
 }
 #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
 {
 /* 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)
 
 /* 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.  */
    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;                                            \
     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);                          \
       }                                                                        \
        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",
   "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",
   "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",
   "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",
   "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",
   "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",
   "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",
   "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",
   "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",
   "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",
   "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",
   "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
 };
   "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
 #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
 #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");
 #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");
 }
 
   YYFPRINTF (stderr, "\n");
 }
 
@@ -2837,11 +2774,11 @@ yy_reduce_print (yyvsp, yyrule)
   /* The symbols being reduced.  */
   for (yyi = 0; yyi < yynrhs; yyi++)
     {
   /* 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)])
                                       );
       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;
     }
 }
        break;
     }
 }
-\f
 
 /* Prevent warnings from -Wmissing-prototypes.  */
 
 /* Prevent warnings from -Wmissing-prototypes.  */
-
 #ifdef YYPARSE_PARAM
 #if defined __STDC__ || defined __cplusplus
 int yyparse (void *YYPARSE_PARAM);
 #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__ \
 
 #ifdef YYPARSE_PARAM
 #if (defined __STDC__ || defined __C99__FUNC__ \
@@ -3170,74 +3104,75 @@ yyparse ()
 #endif
 #endif
 {
 #endif
 #endif
 {
-  /* The look-ahead symbol.  */
+/* The lookahead symbol.  */
 int yychar;
 
 int yychar;
 
-/* The semantic value of the look-ahead symbol.  */
+/* The semantic value of the lookahead symbol.  */
 YYSTYPE yylval;
 
 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;
 
   /* 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;
 
 
   /* 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;
   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.  */
 
   /* 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;
 
   yyssp = yyss;
   yyvsp = yyvs;
 
@@ -3267,7 +3202,6 @@ int yynerrs;
        YYSTYPE *yyvs1 = yyvs;
        yytype_int16 *yyss1 = yyss;
 
        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
        /* 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),
        yyoverflow (YY_("memory exhausted"),
                    &yyss1, yysize * sizeof (*yyssp),
                    &yyvs1, yysize * sizeof (*yyvsp),
-
                    &yystacksize);
 
        yyss = yyss1;
                    &yystacksize);
 
        yyss = yyss1;
@@ -3298,9 +3231,8 @@ int yynerrs;
          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
        if (! yyptr)
          goto yyexhaustedlab;
          (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);
 #  undef YYSTACK_RELOCATE
        if (yyss1 != yyssa)
          YYSTACK_FREE (yyss1);
@@ -3311,7 +3243,6 @@ int yynerrs;
       yyssp = yyss + yysize - 1;
       yyvsp = yyvs + yysize - 1;
 
       yyssp = yyss + yysize - 1;
       yyvsp = yyvs + yysize - 1;
 
-
       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
                  (unsigned long int) yystacksize));
 
       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));
 
 
   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
 
+  if (yystate == YYFINAL)
+    YYACCEPT;
+
   goto yybackup;
 
 /*-----------.
   goto yybackup;
 
 /*-----------.
@@ -3329,16 +3263,16 @@ int yynerrs;
 yybackup:
 
   /* Do appropriate processing given the current state.  Read a
 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;
 
   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: "));
   if (yychar == YYEMPTY)
     {
       YYDPRINTF ((stderr, "Reading a token: "));
@@ -3370,20 +3304,16 @@ yybackup:
       goto yyreduce;
     }
 
       goto yyreduce;
     }
 
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
   /* Count tokens shifted since error; after three, turn off error
      status.  */
   if (yyerrstatus)
     yyerrstatus--;
 
   /* 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);
 
   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;
 
   yystate = yyn;
   *++yyvsp = yylval;
@@ -3423,16 +3353,22 @@ yyreduce:
   switch (yyn)
     {
         case 2:
   switch (yyn)
     {
         case 2:
+
+/* Line 1455 of yacc.c  */
 #line 465 "c-parse.y"
     { ;}
     break;
 
   case 3:
 #line 465 "c-parse.y"
     { ;}
     break;
 
   case 3:
+
+/* Line 1455 of yacc.c  */
 #line 466 "c-parse.y"
     { ;}
     break;
 
   case 4:
 #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)); 
 #line 467 "c-parse.y"
     {
            declaration cdecls = declaration_reverse((yyvsp[(2) - (2)].u.decl)); 
@@ -3440,36 +3376,50 @@ yyreduce:
     break;
 
   case 5:
     break;
 
   case 5:
+
+/* Line 1455 of yacc.c  */
 #line 470 "c-parse.y"
     { parse_tree = NULL; ;}
     break;
 
   case 6:
 #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 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 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 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 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 478 "c-parse.y"
     { end_macro_saving(); ;}
     break;
 
   case 12:
+
+/* Line 1455 of yacc.c  */
 #line 480 "c-parse.y"
     { 
                    end_macro_saving(); 
 #line 480 "c-parse.y"
     { 
                    end_macro_saving(); 
@@ -3478,21 +3428,29 @@ yyreduce:
     break;
 
   case 15:
     break;
 
   case 15:
+
+/* Line 1455 of yacc.c  */
 #line 492 "c-parse.y"
     { ;}
     break;
 
   case 16:
 #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 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 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));
 #line 505 "c-parse.y"
     { 
                  start_nesc_entity(l_interface, (yyvsp[(3) - (3)].u.word));
@@ -3500,6 +3458,8 @@ yyreduce:
     break;
 
   case 19:
     break;
 
   case 19:
+
+/* Line 1455 of yacc.c  */
 #line 509 "c-parse.y"
     {
                  handle_nescdecl_attributes((yyvsp[(6) - (6)].u.attribute), current.container);
 #line 509 "c-parse.y"
     {
                  handle_nescdecl_attributes((yyvsp[(6) - (6)].u.attribute), current.container);
@@ -3507,6 +3467,8 @@ yyreduce:
     break;
 
   case 20:
     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)));
 #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:
     break;
 
   case 21:
+
+/* Line 1455 of yacc.c  */
 #line 524 "c-parse.y"
     { (yyval.u.decl) = NULL; ;}
     break;
 
   case 22:
 #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;
 #line 526 "c-parse.y"
     {
                  nesc_declaration intf = current.container;
@@ -3542,36 +3508,50 @@ yyreduce:
     break;
 
   case 24:
     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 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 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 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 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 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 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));
 #line 567 "c-parse.y"
     {
                  (yyval.u.decl) = declaration_reverse((yyvsp[(1) - (2)].u.decl));
@@ -3580,11 +3560,15 @@ yyreduce:
     break;
 
   case 32:
     break;
 
   case 32:
+
+/* Line 1455 of yacc.c  */
 #line 571 "c-parse.y"
     { (yyval.u.decl) = make_error_decl(); ;}
     break;
 
   case 36:
 #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));
 #line 582 "c-parse.y"
     { 
                  start_nesc_entity(l_component, (yyvsp[(3) - (3)].u.word));
@@ -3593,6 +3577,8 @@ yyreduce:
     break;
 
   case 37:
     break;
 
   case 37:
+
+/* Line 1455 of yacc.c  */
 #line 587 "c-parse.y"
     {
                  handle_nescdecl_attributes((yyvsp[(6) - (6)].u.attribute), current.container);
 #line 587 "c-parse.y"
     {
                  handle_nescdecl_attributes((yyvsp[(6) - (6)].u.attribute), current.container);
@@ -3600,6 +3586,8 @@ yyreduce:
     break;
 
   case 38:
     break;
 
   case 38:
+
+/* Line 1455 of yacc.c  */
 #line 592 "c-parse.y"
     {
                  declaration intfs = 
 #line 592 "c-parse.y"
     {
                  declaration intfs = 
@@ -3609,6 +3597,8 @@ yyreduce:
     break;
 
   case 39:
     break;
 
   case 39:
+
+/* Line 1455 of yacc.c  */
 #line 601 "c-parse.y"
     { 
                  start_nesc_entity(l_component, (yyvsp[(3) - (3)].u.word));
 #line 601 "c-parse.y"
     { 
                  start_nesc_entity(l_component, (yyvsp[(3) - (3)].u.word));
@@ -3618,6 +3608,8 @@ yyreduce:
     break;
 
   case 40:
     break;
 
   case 40:
+
+/* Line 1455 of yacc.c  */
 #line 607 "c-parse.y"
     {
                  handle_nescdecl_attributes((yyvsp[(6) - (6)].u.attribute), current.container);
 #line 607 "c-parse.y"
     {
                  handle_nescdecl_attributes((yyvsp[(6) - (6)].u.attribute), current.container);
@@ -3625,6 +3617,8 @@ yyreduce:
     break;
 
   case 41:
     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));
 #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:
     break;
 
   case 42:
+
+/* Line 1455 of yacc.c  */
 #line 615 "c-parse.y"
     {
                  set_nesc_impl((yyvsp[(12) - (12)].u.impl));
 #line 615 "c-parse.y"
     {
                  set_nesc_impl((yyvsp[(12) - (12)].u.impl));
@@ -3639,6 +3635,8 @@ yyreduce:
     break;
 
   case 43:
     break;
 
   case 43:
+
+/* Line 1455 of yacc.c  */
 #line 622 "c-parse.y"
     { 
                  start_nesc_entity(l_component, (yyvsp[(2) - (2)].u.word));
 #line 622 "c-parse.y"
     { 
                  start_nesc_entity(l_component, (yyvsp[(2) - (2)].u.word));
@@ -3646,6 +3644,8 @@ yyreduce:
     break;
 
   case 44:
     break;
 
   case 44:
+
+/* Line 1455 of yacc.c  */
 #line 626 "c-parse.y"
     {
                  handle_nescdecl_attributes((yyvsp[(4) - (4)].u.attribute), current.container);
 #line 626 "c-parse.y"
     {
                  handle_nescdecl_attributes((yyvsp[(4) - (4)].u.attribute), current.container);
@@ -3653,6 +3653,8 @@ yyreduce:
     break;
 
   case 45:
     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());
 #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:
     break;
 
   case 46:
+
+/* Line 1455 of yacc.c  */
 #line 637 "c-parse.y"
     { (yyval.abstract) = TRUE; ;}
     break;
 
   case 47:
 #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 638 "c-parse.y"
     { (yyval.abstract) = FALSE; ;}
     break;
 
   case 48:
+
+/* Line 1455 of yacc.c  */
 #line 643 "c-parse.y"
     {
                  if (current.container->abstract)
 #line 643 "c-parse.y"
     {
                  if (current.container->abstract)
@@ -3684,6 +3692,8 @@ yyreduce:
     break;
 
   case 49:
     break;
 
   case 49:
+
+/* Line 1455 of yacc.c  */
 #line 652 "c-parse.y"
     {
                  nesc_declaration comp = current.container;
 #line 652 "c-parse.y"
     {
                  nesc_declaration comp = current.container;
@@ -3703,91 +3713,127 @@ yyreduce:
     break;
 
   case 50:
     break;
 
   case 50:
+
+/* Line 1455 of yacc.c  */
 #line 670 "c-parse.y"
     { (yyval.u.decl) = NULL; ;}
     break;
 
   case 53:
 #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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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));
 #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:
     break;
 
   case 75:
+
+/* Line 1455 of yacc.c  */
 #line 741 "c-parse.y"
     { 
                  (yyvsp[(1) - (4)].u.iref)->gparms = (yyvsp[(2) - (4)].u.decl);
 #line 741 "c-parse.y"
     { 
                  (yyvsp[(1) - (4)].u.iref)->gparms = (yyvsp[(2) - (4)].u.decl);
@@ -3806,11 +3854,15 @@ yyreduce:
     break;
 
   case 77:
     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 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);
 #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:
     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);
 #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:
     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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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));
 #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:
     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 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 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 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 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)))); 
 #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:
     break;
 
   case 113:
+
+/* Line 1455 of yacc.c  */
 #line 869 "c-parse.y"
     { (yyval.u.telement) = NULL; ;}
     break;
 
   case 114:
 #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 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 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 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
 #line 878 "c-parse.y"
     { 
                  (yyval.u.decl) = CAST(declaration, new_asm_decl
@@ -3996,11 +4114,15 @@ yyreduce:
     break;
 
   case 120:
     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 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");
 #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:
     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 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 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 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 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 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");
 #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:
     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 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 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 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 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 */
 #line 926 "c-parse.y"
     { 
                  /* maybeasm is only here to avoid a s/r conflict */
@@ -4078,72 +4222,100 @@ yyreduce:
     break;
 
   case 135:
     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 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 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 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 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 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 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 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 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 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 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 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 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 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));
 #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:
     break;
 
   case 151:
+
+/* Line 1455 of yacc.c  */
 #line 985 "c-parse.y"
     { (yyval.u.expr) = NULL; ;}
     break;
 
   case 153:
 #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 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 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 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 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 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 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));
 #line 1010 "c-parse.y"
     {
                  function_call fc = CAST(function_call, (yyvsp[(2) - (2)].u.expr));
@@ -4222,17 +4410,23 @@ yyreduce:
     break;
 
   case 161:
     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 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 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
 #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:
     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)));
 #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:
     break;
 
   case 165:
+
+/* Line 1455 of yacc.c  */
 #line 1060 "c-parse.y"
     { 
 #if 0
 #line 1060 "c-parse.y"
     { 
 #if 0
@@ -4263,39 +4461,53 @@ yyreduce:
     break;
 
   case 166:
     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 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 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 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 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 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 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);
 #line 1093 "c-parse.y"
     { 
                  start_init(NULL, NULL);
@@ -4304,6 +4516,8 @@ yyreduce:
     break;
 
   case 174:
     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));
 #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:
     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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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"); 
 #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:
     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 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 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 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)
 #line 1160 "c-parse.y"
     { 
                  if (yychar == YYEMPTY)
@@ -4434,26 +4692,36 @@ yyreduce:
     break;
 
   case 198:
     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 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 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 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 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)
                    {
 #line 1172 "c-parse.y"
     { if (current.function_decl == 0)
                    {
@@ -4465,6 +4733,8 @@ yyreduce:
     break;
 
   case 203:
     break;
 
   case 203:
+
+/* Line 1455 of yacc.c  */
 #line 1180 "c-parse.y"
     { 
                  pop_label_level();
 #line 1180 "c-parse.y"
     { 
                  pop_label_level();
@@ -4475,6 +4745,8 @@ yyreduce:
     break;
 
   case 204:
     break;
 
   case 204:
+
+/* Line 1455 of yacc.c  */
 #line 1187 "c-parse.y"
     {
                  /* Magic functions may rewrite this to something else */
 #line 1187 "c-parse.y"
     {
                  /* Magic functions may rewrite this to something else */
@@ -4496,72 +4768,100 @@ yyreduce:
     break;
 
   case 205:
     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 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 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 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 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 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 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 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 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 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 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 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 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 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'"); 
 #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:
     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 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 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 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);
 #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:
     break;
 
   case 225:
+
+/* Line 1455 of yacc.c  */
 #line 1268 "c-parse.y"
     { pedwarn("empty declaration"); 
                  (yyval.u.decl) = NULL; ;}
     break;
 
   case 227:
 #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 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 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 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();
 #line 1288 "c-parse.y"
     { 
                  push_declspec_stack();
@@ -4623,404 +4941,564 @@ yyreduce:
     break;
 
   case 231:
     break;
 
   case 231:
+
+/* Line 1455 of yacc.c  */
 #line 1300 "c-parse.y"
     { pstate.attributes = (yyvsp[(1) - (1)].u.attribute); ;}
     break;
 
   case 232:
 #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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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;'.  */
 #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:
     break;
 
   case 360:
+
+/* Line 1455 of yacc.c  */
 #line 1681 "c-parse.y"
     {
                  /* reference to a typedef from a component. */
 #line 1681 "c-parse.y"
     {
                  /* reference to a typedef from a component. */
@@ -5036,52 +5516,72 @@ yyreduce:
     break;
 
   case 361:
     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 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 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 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 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 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 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 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 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 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)));
 #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:
     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 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)));
 #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:
     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)));
 #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:
     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 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)));
 #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:
     break;
 
   case 377:
+
+/* Line 1455 of yacc.c  */
 #line 1752 "c-parse.y"
     { (yyval.u.attribute) = NULL; ;}
     break;
 
   case 378:
 #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 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 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 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 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 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 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 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 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);
 #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:
     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);
 #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:
     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"));
 #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:
     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 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 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 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 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 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 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 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 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)));
 #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:
     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 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 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 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 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 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 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 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 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 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 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 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 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"); 
 #line 1865 "c-parse.y"
     { if (pedantic)
                    pedwarn("ANSI C forbids empty initializer braces"); 
@@ -5301,16 +5879,22 @@ yyreduce:
     break;
 
   case 413:
     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 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 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"); 
 #line 1880 "c-parse.y"
     { if (pedantic)
                    pedwarn("ANSI C forbids specifying subobject to initialize"); 
@@ -5318,6 +5902,8 @@ yyreduce:
     break;
 
   case 417:
     break;
 
   case 417:
+
+/* Line 1455 of yacc.c  */
 #line 1884 "c-parse.y"
     { if (pedantic)
                    pedwarn("obsolete use of designated initializer without `='");
 #line 1884 "c-parse.y"
     { if (pedantic)
                    pedwarn("obsolete use of designated initializer without `='");
@@ -5325,6 +5911,8 @@ yyreduce:
     break;
 
   case 418:
     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)
 #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:
     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 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 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 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 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 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 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 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)
 #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:
     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 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 */
 #line 1928 "c-parse.y"
     { 
                  /* maybeasm is only here to avoid a s/r conflict */
@@ -5393,16 +6001,22 @@ yyreduce:
     break;
 
   case 431:
     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 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 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 */
 #line 1951 "c-parse.y"
     { 
                  /* maybeasm is only here to avoid a s/r conflict */
@@ -5416,36 +6030,50 @@ yyreduce:
     break;
 
   case 434:
     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 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 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 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 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 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 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);
 #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:
     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 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 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 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 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 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 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 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);
 #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:
     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 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 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 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.  */
 #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:
     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 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.  */
 #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:
     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 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));
 #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:
     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 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 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 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 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 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 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 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 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 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 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 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 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 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"); 
 #line 2100 "c-parse.y"
     { if (pedantic)
                    pedwarn("extra semicolon in struct or union specified"); 
@@ -5616,11 +6304,15 @@ yyreduce:
     break;
 
   case 476:
     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 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");
 #line 2118 "c-parse.y"
     { if (pedantic)
                    pedwarn("ISO C doesn't support unnamed structs/unions");
@@ -5629,11 +6321,15 @@ yyreduce:
     break;
 
   case 478:
     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 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");
 #line 2125 "c-parse.y"
     { if (pedantic)
                    pedwarn("ANSI C forbids member declarations with no members");
@@ -5642,155 +6338,213 @@ yyreduce:
     break;
 
   case 480:
     break;
 
   case 480:
+
+/* Line 1455 of yacc.c  */
 #line 2130 "c-parse.y"
     { (yyval.u.decl) = make_error_decl(); ;}
     break;
 
   case 481:
 #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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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)
 #line 2267 "c-parse.y"
     {
                  if (pedantic && (yyvsp[(1) - (1)].u.istmt).i)
@@ -5807,31 +6561,43 @@ yyreduce:
     break;
 
   case 521:
     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 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 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 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 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 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"); 
 #line 2307 "c-parse.y"
     { if (pedantic)
                    pedwarn("ANSI C forbids label declarations"); 
@@ -5839,59 +6605,81 @@ yyreduce:
     break;
 
   case 530:
     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 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 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 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 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 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 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 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 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 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 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);
 #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:
     break;
 
   case 542:
+
+/* Line 1455 of yacc.c  */
 #line 2366 "c-parse.y"
     { stmt_count++;
                  compstmt_count++; 
 #line 2366 "c-parse.y"
     { stmt_count++;
                  compstmt_count++; 
@@ -5908,32 +6698,44 @@ yyreduce:
     break;
 
   case 543:
     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 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 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 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 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 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;
 #line 2391 "c-parse.y"
     { 
                   atomic_stmt last_atomic = current.in_atomic;
@@ -5944,6 +6746,8 @@ yyreduce:
     break;
 
   case 549:
     break;
 
   case 549:
+
+/* Line 1455 of yacc.c  */
 #line 2398 "c-parse.y"
     {
                  atomic_stmt this_atomic = current.in_atomic;
 #line 2398 "c-parse.y"
     {
                  atomic_stmt this_atomic = current.in_atomic;
@@ -5958,27 +6762,37 @@ yyreduce:
     break;
 
   case 551:
     break;
 
   case 551:
+
+/* Line 1455 of yacc.c  */
 #line 2412 "c-parse.y"
     { (yyval.u.stmt) = make_error_stmt(); ;}
     break;
 
   case 552:
 #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 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 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 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");
 #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:
     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
 #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:
     break;
 
   case 557:
+
+/* Line 1455 of yacc.c  */
 #line 2441 "c-parse.y"
     { (yyval.u.stmt) = make_error_stmt(); ;}
     break;
 
   case 558:
 #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 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,
 #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:
     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); 
 #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:
     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);
 #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:
     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 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 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 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 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); 
 #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:
     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,
 #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:
     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);
 #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:
     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));
 #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:
     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));
 #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:
     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 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 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,
 #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:
     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,
 #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:
     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 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 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)));
 #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:
     break;
 
   case 578:
+
+/* Line 1455 of yacc.c  */
 #line 2522 "c-parse.y"
     { if (pedantic)
                    pedwarn("ANSI C forbids `goto *expr;'");
 #line 2522 "c-parse.y"
     { if (pedantic)
                    pedwarn("ANSI C forbids `goto *expr;'");
@@ -6153,80 +7013,110 @@ yyreduce:
     break;
 
   case 580:
     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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 */
 #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:
     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 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");
 #line 2605 "c-parse.y"
     { if (pedantic)
                    pedwarn("ANSI C forbids forward parameter declarations");
@@ -6247,21 +7141,29 @@ yyreduce:
     break;
 
   case 601:
     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 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 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 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
 #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:
     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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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;
 #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:
     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 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 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 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 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 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);
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -6426,7 +7383,6 @@ yyreduce:
 
   *++yyvsp = yyval;
 
 
   *++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.  */
   /* 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 (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)
         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;
 
      token.  */
   goto yyerrlab1;
 
@@ -6565,9 +7521,6 @@ yyerrlab1:
       YY_STACK_PRINT (yyss, yyssp);
     }
 
       YY_STACK_PRINT (yyss, yyssp);
     }
 
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
   *++yyvsp = yylval;
 
 
   *++yyvsp = yylval;
 
 
@@ -6592,7 +7545,7 @@ yyabortlab:
   yyresult = 1;
   goto yyreturn;
 
   yyresult = 1;
   goto yyreturn;
 
-#ifndef yyoverflow
+#if !defined(yyoverflow) || YYERROR_VERBOSE
 /*-------------------------------------------------.
 | yyexhaustedlab -- memory exhaustion comes here.  |
 `-------------------------------------------------*/
 /*-------------------------------------------------.
 | yyexhaustedlab -- memory exhaustion comes here.  |
 `-------------------------------------------------*/
@@ -6603,7 +7556,7 @@ yyexhaustedlab:
 #endif
 
 yyreturn:
 #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
      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"
 
 
 #line 2733 "c-parse.y"