]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
regen
authorJason Merrill <jason@gcc.gnu.org>
Mon, 28 Feb 2000 14:46:46 +0000 (09:46 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Mon, 28 Feb 2000 14:46:46 +0000 (09:46 -0500)
From-SVN: r32236

gcc/c-parse.c
gcc/cexp.c
gcc/cp/parse.c
gcc/objc/objc-parse.c
gcc/objc/objc-parse.y

index 290a79d4ae8386d895e3dfe5a470bd9aced54411..49e8004766199225539e3fa1db74cdb0e20543c4 100644 (file)
@@ -66,7 +66,7 @@
 #define        ALIAS   316
 #define        OBJC_STRING     317
 
-#line 33 "c-parse.y"
+#line 34 "c-parse.y"
 
 #include "config.h"
 #include "system.h"
@@ -95,10 +95,10 @@ const char * const language_string = "GNU C";
 /* Cause the `yydebug' variable to be defined.  */
 #define YYDEBUG 1
 
-#line 64 "c-parse.y"
+#line 65 "c-parse.y"
 typedef union {long itype; tree ttype; enum tree_code code;
        char *filename; int lineno; int ends_in_label; } YYSTYPE;
-#line 184 "c-parse.y"
+#line 185 "c-parse.y"
 
 /* Number of statements (loosely speaking) and compound statements 
    seen so far.  */
@@ -380,47 +380,47 @@ static const short yyrhs[] = {    -1,
 
 #if YYDEBUG != 0
 static const short yyrline[] = { 0,
-   234,   239,   253,   255,   255,   256,   258,   260,   261,   269,
-   273,   283,   287,   291,   293,   295,   296,   297,   302,   309,
-   311,   315,   319,   325,   327,   331,   335,   341,   343,   347,
-   353,   355,   358,   360,   362,   364,   366,   368,   370,   374,
-   378,   381,   384,   387,   391,   393,   396,   399,   403,   431,
-   437,   440,   443,   446,   448,   450,   454,   458,   462,   464,
-   467,   471,   498,   500,   502,   504,   506,   508,   510,   512,
-   514,   516,   518,   520,   522,   524,   528,   530,   534,   536,
-   539,   543,   545,   552,   555,   563,   574,   673,   674,   676,
-   682,   684,   707,   716,   718,   720,   724,   730,   732,   737,
-   739,   747,   749,   750,   760,   765,   767,   768,   769,   776,
-   781,   785,   788,   796,   801,   803,   804,   805,   812,   822,
-   826,   831,   835,   839,   843,   845,   847,   856,   859,   863,
-   865,   867,   872,   876,   879,   883,   886,   888,   900,   903,
-   905,   907,   911,   915,   917,   920,   933,   936,   940,   942,
-   950,   951,   952,   956,   958,   964,   965,   966,   969,   971,
-   974,   976,   979,   982,   988,   995,   997,  1004,  1011,  1014,
-  1021,  1024,  1028,  1031,  1035,  1040,  1043,  1047,  1050,  1052,
-  1054,  1056,  1063,  1065,  1066,  1067,  1072,  1074,  1076,  1078,
-  1083,  1087,  1090,  1092,  1097,  1099,  1100,  1103,  1103,  1106,
-  1109,  1111,  1113,  1116,  1118,  1121,  1127,  1129,  1133,  1147,
-  1155,  1159,  1173,  1181,  1188,  1190,  1195,  1198,  1203,  1205,
-  1207,  1214,  1216,  1224,  1230,  1235,  1237,  1239,  1246,  1248,
-  1254,  1260,  1262,  1264,  1269,  1271,  1278,  1280,  1283,  1286,
-  1290,  1293,  1297,  1300,  1304,  1309,  1311,  1315,  1317,  1319,
-  1321,  1325,  1327,  1329,  1332,  1334,  1337,  1341,  1343,  1346,
-  1348,  1353,  1356,  1361,  1363,  1365,  1379,  1385,  1398,  1403,
-  1408,  1410,  1415,  1417,  1421,  1425,  1429,  1439,  1441,  1446,
-  1451,  1454,  1458,  1461,  1465,  1468,  1471,  1474,  1478,  1481,
-  1485,  1489,  1491,  1493,  1495,  1497,  1499,  1501,  1503,  1507,
-  1515,  1523,  1525,  1527,  1531,  1533,  1536,  1539,  1549,  1551,
-  1556,  1558,  1561,  1575,  1578,  1581,  1583,  1585,  1589,  1593,
-  1599,  1617,  1622,  1627,  1630,  1644,  1653,  1657,  1661,  1665,
-  1671,  1675,  1680,  1683,  1688,  1691,  1692,  1708,  1713,  1716,
-  1728,  1730,  1740,  1750,  1751,  1758,  1760,  1772,  1776,  1790,
-  1796,  1802,  1803,  1808,  1813,  1817,  1821,  1832,  1839,  1846,
-  1853,  1864,  1870,  1873,  1878,  1901,  1931,  1962,  1993,  2008,
-  2022,  2026,  2030,  2033,  2038,  2040,  2043,  2045,  2049,  2054,
-  2057,  2063,  2068,  2073,  2075,  2084,  2085,  2091,  2093,  2103,
-  2105,  2109,  2112,  2118,  2127,  2135,  2143,  2152,  2165,  2170,
-  2175,  2177,  2186,  2189,  2194,  2197,  2201
+   235,   240,   254,   256,   256,   257,   259,   261,   262,   270,
+   274,   284,   288,   292,   294,   296,   297,   298,   303,   310,
+   312,   316,   320,   326,   328,   332,   336,   342,   344,   348,
+   354,   356,   359,   361,   363,   365,   367,   369,   371,   375,
+   379,   382,   385,   388,   392,   394,   397,   400,   404,   432,
+   438,   441,   444,   447,   449,   451,   455,   459,   463,   465,
+   468,   472,   499,   501,   503,   505,   507,   509,   511,   513,
+   515,   517,   519,   521,   523,   525,   529,   531,   535,   537,
+   540,   544,   546,   553,   556,   564,   575,   674,   675,   677,
+   683,   685,   708,   717,   719,   721,   725,   731,   733,   738,
+   740,   748,   750,   751,   761,   766,   768,   769,   770,   777,
+   782,   786,   789,   797,   802,   804,   805,   806,   813,   823,
+   827,   832,   836,   840,   844,   846,   848,   857,   860,   864,
+   866,   868,   873,   877,   880,   884,   887,   889,   901,   904,
+   906,   908,   912,   916,   918,   921,   934,   937,   941,   943,
+   951,   952,   953,   957,   959,   965,   966,   967,   970,   972,
+   975,   977,   980,   983,   989,   996,   998,  1005,  1012,  1015,
+  1022,  1025,  1029,  1032,  1036,  1041,  1044,  1048,  1051,  1053,
+  1055,  1057,  1064,  1066,  1067,  1068,  1073,  1075,  1077,  1079,
+  1084,  1088,  1091,  1093,  1098,  1100,  1101,  1104,  1104,  1107,
+  1110,  1112,  1114,  1117,  1119,  1122,  1128,  1130,  1134,  1148,
+  1156,  1160,  1174,  1182,  1189,  1191,  1196,  1199,  1204,  1206,
+  1208,  1215,  1217,  1225,  1231,  1236,  1238,  1240,  1247,  1249,
+  1255,  1261,  1263,  1265,  1270,  1272,  1279,  1281,  1284,  1287,
+  1291,  1294,  1298,  1301,  1305,  1310,  1312,  1316,  1318,  1320,
+  1322,  1326,  1328,  1330,  1333,  1335,  1338,  1342,  1344,  1347,
+  1349,  1354,  1357,  1362,  1364,  1366,  1380,  1386,  1399,  1404,
+  1409,  1411,  1416,  1418,  1422,  1426,  1430,  1440,  1442,  1447,
+  1452,  1455,  1459,  1462,  1466,  1469,  1472,  1475,  1479,  1482,
+  1486,  1490,  1492,  1494,  1496,  1498,  1500,  1502,  1504,  1508,
+  1516,  1524,  1526,  1528,  1532,  1534,  1537,  1540,  1550,  1552,
+  1557,  1559,  1562,  1576,  1579,  1582,  1584,  1586,  1590,  1594,
+  1600,  1618,  1623,  1628,  1631,  1645,  1654,  1658,  1662,  1666,
+  1672,  1676,  1681,  1684,  1689,  1692,  1693,  1709,  1714,  1717,
+  1729,  1731,  1741,  1751,  1752,  1759,  1761,  1773,  1777,  1791,
+  1797,  1803,  1804,  1809,  1814,  1818,  1822,  1833,  1840,  1847,
+  1854,  1865,  1871,  1874,  1879,  1902,  1932,  1963,  1994,  2009,
+  2023,  2027,  2031,  2034,  2039,  2041,  2044,  2046,  2050,  2055,
+  2058,  2064,  2069,  2074,  2076,  2085,  2086,  2092,  2094,  2104,
+  2106,  2110,  2113,  2119,  2128,  2136,  2144,  2153,  2166,  2171,
+  2176,  2178,  2187,  2190,  2195,  2198,  2202
 };
 #endif
 
@@ -1265,7 +1265,7 @@ static const short yycheck[] = {    38,
     51,    52,    53,    54
 };
 /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/usr/share/misc/bison.simple"
+#line 3 "/usr/lib/bison.simple"
 /* This file comes from bison-1.28.  */
 
 /* Skeleton output parser for bison,
@@ -1479,7 +1479,7 @@ __yy_memcpy (char *to, char *from, unsigned int count)
 #endif
 #endif
 \f
-#line 217 "/usr/share/misc/bison.simple"
+#line 217 "/usr/lib/bison.simple"
 
 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
    into yyparse.  The argument should have type void *.
@@ -1808,14 +1808,14 @@ yyreduce:
   switch (yyn) {
 
 case 1:
-#line 235 "c-parse.y"
+#line 236 "c-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids an empty source file");
                  finish_file ();
                ;
     break;}
 case 2:
-#line 240 "c-parse.y"
+#line 241 "c-parse.y"
 {
                  /* In case there were missing closebraces,
                     get us back to the global binding level.  */
@@ -1825,15 +1825,15 @@ case 2:
                ;
     break;}
 case 3:
-#line 254 "c-parse.y"
+#line 255 "c-parse.y"
 {yyval.ttype = NULL_TREE; ;
     break;}
 case 5:
-#line 255 "c-parse.y"
+#line 256 "c-parse.y"
 {yyval.ttype = NULL_TREE; ;
     break;}
 case 9:
-#line 262 "c-parse.y"
+#line 263 "c-parse.y"
 { STRIP_NOPS (yyvsp[-2].ttype);
                  if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR
                       && TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST)
@@ -1843,11 +1843,11 @@ case 9:
                    error ("argument of `asm' is not a constant string"); ;
     break;}
 case 10:
-#line 270 "c-parse.y"
+#line 271 "c-parse.y"
 { RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
     break;}
 case 11:
-#line 275 "c-parse.y"
+#line 276 "c-parse.y"
 { if (pedantic)
                    error ("ANSI C forbids data definition with no type or storage class");
                  else if (!flag_traditional)
@@ -1858,162 +1858,162 @@ case 11:
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 12:
-#line 284 "c-parse.y"
+#line 285 "c-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 13:
-#line 288 "c-parse.y"
+#line 289 "c-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 14:
-#line 292 "c-parse.y"
+#line 293 "c-parse.y"
 { pedwarn ("empty declaration"); ;
     break;}
 case 15:
-#line 294 "c-parse.y"
+#line 295 "c-parse.y"
 { shadow_tag (yyvsp[-1].ttype); ;
     break;}
 case 18:
-#line 298 "c-parse.y"
+#line 299 "c-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C does not allow extra `;' outside of a function"); ;
     break;}
 case 19:
-#line 304 "c-parse.y"
+#line 305 "c-parse.y"
 { if (! start_function (current_declspecs, yyvsp[0].ttype,
                                        prefix_attributes, NULL_TREE))
                    YYERROR1;
                  reinit_parse_for_function (); ;
     break;}
 case 20:
-#line 309 "c-parse.y"
+#line 310 "c-parse.y"
 { store_parm_decls (); ;
     break;}
 case 21:
-#line 311 "c-parse.y"
+#line 312 "c-parse.y"
 { finish_function (0); 
                  current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 22:
-#line 316 "c-parse.y"
+#line 317 "c-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 23:
-#line 320 "c-parse.y"
+#line 321 "c-parse.y"
 { if (! start_function (current_declspecs, yyvsp[0].ttype,
                                        prefix_attributes, NULL_TREE))
                    YYERROR1;
                  reinit_parse_for_function (); ;
     break;}
 case 24:
-#line 325 "c-parse.y"
+#line 326 "c-parse.y"
 { store_parm_decls (); ;
     break;}
 case 25:
-#line 327 "c-parse.y"
+#line 328 "c-parse.y"
 { finish_function (0); 
                  current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 26:
-#line 332 "c-parse.y"
+#line 333 "c-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 27:
-#line 336 "c-parse.y"
+#line 337 "c-parse.y"
 { if (! start_function (NULL_TREE, yyvsp[0].ttype,
                                        prefix_attributes, NULL_TREE))
                    YYERROR1;
                  reinit_parse_for_function (); ;
     break;}
 case 28:
-#line 341 "c-parse.y"
+#line 342 "c-parse.y"
 { store_parm_decls (); ;
     break;}
 case 29:
-#line 343 "c-parse.y"
+#line 344 "c-parse.y"
 { finish_function (0); 
                  current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 30:
-#line 348 "c-parse.y"
+#line 349 "c-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 33:
-#line 359 "c-parse.y"
+#line 360 "c-parse.y"
 { yyval.code = ADDR_EXPR; ;
     break;}
 case 34:
-#line 361 "c-parse.y"
+#line 362 "c-parse.y"
 { yyval.code = NEGATE_EXPR; ;
     break;}
 case 35:
-#line 363 "c-parse.y"
+#line 364 "c-parse.y"
 { yyval.code = CONVERT_EXPR; ;
     break;}
 case 36:
-#line 365 "c-parse.y"
+#line 366 "c-parse.y"
 { yyval.code = PREINCREMENT_EXPR; ;
     break;}
 case 37:
-#line 367 "c-parse.y"
+#line 368 "c-parse.y"
 { yyval.code = PREDECREMENT_EXPR; ;
     break;}
 case 38:
-#line 369 "c-parse.y"
+#line 370 "c-parse.y"
 { yyval.code = BIT_NOT_EXPR; ;
     break;}
 case 39:
-#line 371 "c-parse.y"
+#line 372 "c-parse.y"
 { yyval.code = TRUTH_NOT_EXPR; ;
     break;}
 case 40:
-#line 375 "c-parse.y"
+#line 376 "c-parse.y"
 { yyval.ttype = build_compound_expr (yyvsp[0].ttype); ;
     break;}
 case 41:
-#line 380 "c-parse.y"
+#line 381 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 43:
-#line 386 "c-parse.y"
+#line 387 "c-parse.y"
 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 44:
-#line 388 "c-parse.y"
+#line 389 "c-parse.y"
 { chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
     break;}
 case 46:
-#line 394 "c-parse.y"
+#line 395 "c-parse.y"
 { yyval.ttype = build_indirect_ref (yyvsp[0].ttype, "unary *"); ;
     break;}
 case 47:
-#line 397 "c-parse.y"
+#line 398 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
     break;}
 case 48:
-#line 400 "c-parse.y"
+#line 401 "c-parse.y"
 { yyval.ttype = build_unary_op (yyvsp[-1].code, yyvsp[0].ttype, 0);
                  overflow_warning (yyval.ttype); ;
     break;}
 case 49:
-#line 404 "c-parse.y"
+#line 405 "c-parse.y"
 { tree label = lookup_label (yyvsp[0].ttype);
                  if (pedantic)
                    pedwarn ("ANSI C forbids `&&'");
@@ -2028,7 +2028,7 @@ case 49:
                ;
     break;}
 case 50:
-#line 432 "c-parse.y"
+#line 433 "c-parse.y"
 { skip_evaluation--;
                  if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
                      && DECL_C_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
@@ -2036,53 +2036,53 @@ case 50:
                  yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
     break;}
 case 51:
-#line 438 "c-parse.y"
+#line 439 "c-parse.y"
 { skip_evaluation--;
                  yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
     break;}
 case 52:
-#line 441 "c-parse.y"
+#line 442 "c-parse.y"
 { skip_evaluation--;
                  yyval.ttype = c_alignof_expr (yyvsp[0].ttype); ;
     break;}
 case 53:
-#line 444 "c-parse.y"
+#line 445 "c-parse.y"
 { skip_evaluation--;
                  yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
     break;}
 case 54:
-#line 447 "c-parse.y"
+#line 448 "c-parse.y"
 { yyval.ttype = build_unary_op (REALPART_EXPR, yyvsp[0].ttype, 0); ;
     break;}
 case 55:
-#line 449 "c-parse.y"
+#line 450 "c-parse.y"
 { yyval.ttype = build_unary_op (IMAGPART_EXPR, yyvsp[0].ttype, 0); ;
     break;}
 case 56:
-#line 451 "c-parse.y"
+#line 452 "c-parse.y"
 { yyval.ttype = build_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ttype)); ;
     break;}
 case 57:
-#line 455 "c-parse.y"
+#line 456 "c-parse.y"
 { skip_evaluation++; ;
     break;}
 case 58:
-#line 459 "c-parse.y"
+#line 460 "c-parse.y"
 { skip_evaluation++; ;
     break;}
 case 60:
-#line 465 "c-parse.y"
+#line 466 "c-parse.y"
 { tree type = groktypename (yyvsp[-2].ttype);
                  yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
     break;}
 case 61:
-#line 468 "c-parse.y"
+#line 469 "c-parse.y"
 { start_init (NULL_TREE, NULL, 0);
                  yyvsp[-2].ttype = groktypename (yyvsp[-2].ttype);
                  really_start_incremental_init (yyvsp[-2].ttype); ;
     break;}
 case 62:
-#line 472 "c-parse.y"
+#line 473 "c-parse.y"
 { const char *name;
                  tree result = pop_init_level (0);
                  tree type = yyvsp[-5].ttype;
@@ -2109,90 +2109,90 @@ case 62:
                ;
     break;}
 case 64:
-#line 501 "c-parse.y"
+#line 502 "c-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 65:
-#line 503 "c-parse.y"
+#line 504 "c-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 66:
-#line 505 "c-parse.y"
+#line 506 "c-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 67:
-#line 507 "c-parse.y"
+#line 508 "c-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 68:
-#line 509 "c-parse.y"
+#line 510 "c-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 69:
-#line 511 "c-parse.y"
+#line 512 "c-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 70:
-#line 513 "c-parse.y"
+#line 514 "c-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 71:
-#line 515 "c-parse.y"
+#line 516 "c-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 72:
-#line 517 "c-parse.y"
+#line 518 "c-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 73:
-#line 519 "c-parse.y"
+#line 520 "c-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 74:
-#line 521 "c-parse.y"
+#line 522 "c-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 75:
-#line 523 "c-parse.y"
+#line 524 "c-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 76:
-#line 525 "c-parse.y"
+#line 526 "c-parse.y"
 { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
                  skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
     break;}
 case 77:
-#line 528 "c-parse.y"
+#line 529 "c-parse.y"
 { skip_evaluation -= yyvsp[-3].ttype == boolean_false_node;
                  yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
     break;}
 case 78:
-#line 531 "c-parse.y"
+#line 532 "c-parse.y"
 { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
                  skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
     break;}
 case 79:
-#line 534 "c-parse.y"
+#line 535 "c-parse.y"
 { skip_evaluation -= yyvsp[-3].ttype == boolean_true_node;
                  yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
     break;}
 case 80:
-#line 537 "c-parse.y"
+#line 538 "c-parse.y"
 { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
                  skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
     break;}
 case 81:
-#line 540 "c-parse.y"
+#line 541 "c-parse.y"
 { skip_evaluation += ((yyvsp[-4].ttype == boolean_true_node)
                                      - (yyvsp[-4].ttype == boolean_false_node)); ;
     break;}
 case 82:
-#line 543 "c-parse.y"
+#line 544 "c-parse.y"
 { skip_evaluation -= yyvsp[-6].ttype == boolean_true_node;
                  yyval.ttype = build_conditional_expr (yyvsp[-6].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
     break;}
 case 83:
-#line 546 "c-parse.y"
+#line 547 "c-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids omitting the middle term of a ?: expression");
                  /* Make sure first operand is calculated only once.  */
@@ -2201,12 +2201,12 @@ case 83:
                  skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
     break;}
 case 84:
-#line 553 "c-parse.y"
+#line 554 "c-parse.y"
 { skip_evaluation -= yyvsp[-4].ttype == boolean_true_node;
                  yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
     break;}
 case 85:
-#line 556 "c-parse.y"
+#line 557 "c-parse.y"
 { char class;
                  yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype);
                  class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
@@ -2216,7 +2216,7 @@ case 85:
                ;
     break;}
 case 86:
-#line 564 "c-parse.y"
+#line 565 "c-parse.y"
 { char class;
                  yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype);
                  /* This inhibits warnings in truthvalue_conversion.  */
@@ -2227,7 +2227,7 @@ case 86:
                ;
     break;}
 case 87:
-#line 576 "c-parse.y"
+#line 577 "c-parse.y"
 {
                  yyval.ttype = lastiddecl;
                  if (!yyval.ttype || yyval.ttype == error_mark_node)
@@ -2327,11 +2327,11 @@ case 87:
                ;
     break;}
 case 89:
-#line 675 "c-parse.y"
+#line 676 "c-parse.y"
 { yyval.ttype = combine_strings (yyvsp[0].ttype); ;
     break;}
 case 90:
-#line 677 "c-parse.y"
+#line 678 "c-parse.y"
 { char class = TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype));
                  if (class == 'e' || class == '1'
                      || class == '2' || class == '<')
@@ -2339,11 +2339,11 @@ case 90:
                  yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 91:
-#line 683 "c-parse.y"
+#line 684 "c-parse.y"
 { yyval.ttype = error_mark_node; ;
     break;}
 case 92:
-#line 685 "c-parse.y"
+#line 686 "c-parse.y"
 { tree rtl_exp;
                  if (pedantic)
                    pedwarn ("ANSI C forbids braced-groups within expressions");
@@ -2368,7 +2368,7 @@ case 92:
                ;
     break;}
 case 93:
-#line 708 "c-parse.y"
+#line 709 "c-parse.y"
 {
                  /* Make sure we call expand_end_stmt_expr.  Otherwise
                     we are likely to lose sequences and crash later.  */
@@ -2379,21 +2379,21 @@ case 93:
                ;
     break;}
 case 94:
-#line 717 "c-parse.y"
+#line 718 "c-parse.y"
 { yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 95:
-#line 719 "c-parse.y"
+#line 720 "c-parse.y"
 { yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 96:
-#line 721 "c-parse.y"
+#line 722 "c-parse.y"
 {
                    yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype);
                ;
     break;}
 case 97:
-#line 725 "c-parse.y"
+#line 726 "c-parse.y"
 {
                   tree expr = build_indirect_ref (yyvsp[-2].ttype, "->");
 
@@ -2401,57 +2401,57 @@ case 97:
                ;
     break;}
 case 98:
-#line 731 "c-parse.y"
+#line 732 "c-parse.y"
 { yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ;
     break;}
 case 99:
-#line 733 "c-parse.y"
+#line 734 "c-parse.y"
 { yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ;
     break;}
 case 101:
-#line 740 "c-parse.y"
+#line 741 "c-parse.y"
 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
                  if (warn_traditional && !in_system_header)
                    warning ("Use of ANSI string concatenation");
                ;
     break;}
 case 104:
-#line 752 "c-parse.y"
+#line 753 "c-parse.y"
 { c_mark_varargs ();
                  if (pedantic)
                    pedwarn ("ANSI C does not permit use of `varargs.h'"); ;
     break;}
 case 105:
-#line 762 "c-parse.y"
+#line 763 "c-parse.y"
 { ;
     break;}
 case 110:
-#line 778 "c-parse.y"
+#line 779 "c-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 111:
-#line 782 "c-parse.y"
+#line 783 "c-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);     
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 112:
-#line 786 "c-parse.y"
+#line 787 "c-parse.y"
 { shadow_tag_warned (yyvsp[-1].ttype, 1);
                  pedwarn ("empty declaration"); ;
     break;}
 case 113:
-#line 789 "c-parse.y"
+#line 790 "c-parse.y"
 { pedwarn ("empty declaration"); ;
     break;}
 case 114:
-#line 798 "c-parse.y"
+#line 799 "c-parse.y"
 { ;
     break;}
 case 119:
-#line 813 "c-parse.y"
+#line 814 "c-parse.y"
 { pending_xref_error ();
                  declspec_stack = tree_cons (prefix_attributes,
                                              current_declspecs,
@@ -2460,127 +2460,127 @@ case 119:
                                     &current_declspecs, &prefix_attributes); ;
     break;}
 case 120:
-#line 823 "c-parse.y"
+#line 824 "c-parse.y"
 { prefix_attributes = chainon (prefix_attributes, yyvsp[0].ttype); ;
     break;}
 case 121:
-#line 828 "c-parse.y"
+#line 829 "c-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 122:
-#line 832 "c-parse.y"
+#line 833 "c-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 123:
-#line 836 "c-parse.y"
+#line 837 "c-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 124:
-#line 840 "c-parse.y"
+#line 841 "c-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 125:
-#line 844 "c-parse.y"
+#line 845 "c-parse.y"
 { shadow_tag (yyvsp[-1].ttype); ;
     break;}
 case 126:
-#line 846 "c-parse.y"
+#line 847 "c-parse.y"
 { pedwarn ("empty declaration"); ;
     break;}
 case 127:
-#line 848 "c-parse.y"
+#line 849 "c-parse.y"
 { RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
     break;}
 case 128:
-#line 858 "c-parse.y"
+#line 859 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 129:
-#line 860 "c-parse.y"
+#line 861 "c-parse.y"
 { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
     break;}
 case 130:
-#line 864 "c-parse.y"
+#line 865 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 131:
-#line 866 "c-parse.y"
+#line 867 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 132:
-#line 868 "c-parse.y"
+#line 869 "c-parse.y"
 { if (extra_warnings)
                    warning ("`%s' is not at beginning of declaration",
                             IDENTIFIER_POINTER (yyvsp[0].ttype));
                  yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 133:
-#line 873 "c-parse.y"
+#line 874 "c-parse.y"
 { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
     break;}
 case 134:
-#line 878 "c-parse.y"
+#line 879 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 135:
-#line 880 "c-parse.y"
+#line 881 "c-parse.y"
 { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
     break;}
 case 136:
-#line 885 "c-parse.y"
+#line 886 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 137:
-#line 887 "c-parse.y"
+#line 888 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 138:
-#line 889 "c-parse.y"
+#line 890 "c-parse.y"
 { if (extra_warnings)
                    warning ("`%s' is not at beginning of declaration",
                             IDENTIFIER_POINTER (yyvsp[0].ttype));
                  yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 139:
-#line 902 "c-parse.y"
+#line 903 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 140:
-#line 904 "c-parse.y"
+#line 905 "c-parse.y"
 { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
     break;}
 case 141:
-#line 906 "c-parse.y"
+#line 907 "c-parse.y"
 { yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 142:
-#line 908 "c-parse.y"
+#line 909 "c-parse.y"
 { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
     break;}
 case 143:
-#line 913 "c-parse.y"
+#line 914 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
                  TREE_STATIC (yyval.ttype) = 1; ;
     break;}
 case 144:
-#line 916 "c-parse.y"
+#line 917 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 145:
-#line 918 "c-parse.y"
+#line 919 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
                  TREE_STATIC (yyval.ttype) = 1; ;
     break;}
 case 146:
-#line 921 "c-parse.y"
+#line 922 "c-parse.y"
 { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
                    warning ("`%s' is not at beginning of declaration",
                             IDENTIFIER_POINTER (yyvsp[0].ttype));
@@ -2588,176 +2588,176 @@ case 146:
                  TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
     break;}
 case 147:
-#line 935 "c-parse.y"
+#line 936 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 148:
-#line 937 "c-parse.y"
+#line 938 "c-parse.y"
 { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
     break;}
 case 149:
-#line 941 "c-parse.y"
+#line 942 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 150:
-#line 943 "c-parse.y"
+#line 944 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 153:
-#line 953 "c-parse.y"
+#line 954 "c-parse.y"
 { /* For a typedef name, record the meaning, not the name.
                     In case of `foo foo, bar;'.  */
                  yyval.ttype = lookup_name (yyvsp[0].ttype); ;
     break;}
 case 154:
-#line 957 "c-parse.y"
+#line 958 "c-parse.y"
 { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); ;
     break;}
 case 155:
-#line 959 "c-parse.y"
+#line 960 "c-parse.y"
 { yyval.ttype = groktypename (yyvsp[-1].ttype); ;
     break;}
 case 163:
-#line 981 "c-parse.y"
+#line 982 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 164:
-#line 983 "c-parse.y"
+#line 984 "c-parse.y"
 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype);
                  yyval.ttype = yyvsp[-1].ttype;
                ;
     break;}
 case 165:
-#line 990 "c-parse.y"
+#line 991 "c-parse.y"
 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
                                          yyvsp[-1].ttype, prefix_attributes);
                  start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
     break;}
 case 166:
-#line 995 "c-parse.y"
+#line 996 "c-parse.y"
 { finish_init ();
                  finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
     break;}
 case 167:
-#line 998 "c-parse.y"
+#line 999 "c-parse.y"
 { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
                                       yyvsp[0].ttype, prefix_attributes);
                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype); 
                 ;
     break;}
 case 168:
-#line 1006 "c-parse.y"
+#line 1007 "c-parse.y"
 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
                                          yyvsp[-1].ttype, prefix_attributes);
                  start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
     break;}
 case 169:
-#line 1011 "c-parse.y"
+#line 1012 "c-parse.y"
 { finish_init ();
                  decl_attributes (yyvsp[-1].ttype, yyvsp[-3].ttype, prefix_attributes);
                  finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
     break;}
 case 170:
-#line 1015 "c-parse.y"
+#line 1016 "c-parse.y"
 { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
                                       yyvsp[0].ttype, prefix_attributes);
                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
     break;}
 case 171:
-#line 1023 "c-parse.y"
+#line 1024 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 172:
-#line 1025 "c-parse.y"
+#line 1026 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 173:
-#line 1030 "c-parse.y"
+#line 1031 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 174:
-#line 1032 "c-parse.y"
+#line 1033 "c-parse.y"
 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 175:
-#line 1037 "c-parse.y"
+#line 1038 "c-parse.y"
 { yyval.ttype = yyvsp[-2].ttype; ;
     break;}
 case 176:
-#line 1042 "c-parse.y"
+#line 1043 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 177:
-#line 1044 "c-parse.y"
+#line 1045 "c-parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 178:
-#line 1049 "c-parse.y"
+#line 1050 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 179:
-#line 1051 "c-parse.y"
+#line 1052 "c-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 180:
-#line 1053 "c-parse.y"
+#line 1054 "c-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
     break;}
 case 181:
-#line 1055 "c-parse.y"
+#line 1056 "c-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
     break;}
 case 182:
-#line 1057 "c-parse.y"
+#line 1058 "c-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 188:
-#line 1075 "c-parse.y"
+#line 1076 "c-parse.y"
 { really_start_incremental_init (NULL_TREE); ;
     break;}
 case 189:
-#line 1077 "c-parse.y"
+#line 1078 "c-parse.y"
 { yyval.ttype = pop_init_level (0); ;
     break;}
 case 190:
-#line 1079 "c-parse.y"
+#line 1080 "c-parse.y"
 { yyval.ttype = error_mark_node; ;
     break;}
 case 191:
-#line 1085 "c-parse.y"
+#line 1086 "c-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids empty initializer braces"); ;
     break;}
 case 197:
-#line 1101 "c-parse.y"
+#line 1102 "c-parse.y"
 { set_init_label (yyvsp[-1].ttype); ;
     break;}
 case 200:
-#line 1108 "c-parse.y"
+#line 1109 "c-parse.y"
 { push_init_level (0); ;
     break;}
 case 201:
-#line 1110 "c-parse.y"
+#line 1111 "c-parse.y"
 { process_init_element (pop_init_level (0)); ;
     break;}
 case 202:
-#line 1112 "c-parse.y"
+#line 1113 "c-parse.y"
 { process_init_element (yyvsp[0].ttype); ;
     break;}
 case 206:
-#line 1123 "c-parse.y"
+#line 1124 "c-parse.y"
 { set_init_label (yyvsp[0].ttype); ;
     break;}
 case 207:
-#line 1128 "c-parse.y"
+#line 1129 "c-parse.y"
 { set_init_index (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 208:
-#line 1130 "c-parse.y"
+#line 1131 "c-parse.y"
 { set_init_index (yyvsp[-1].ttype, NULL_TREE); ;
     break;}
 case 209:
-#line 1135 "c-parse.y"
+#line 1136 "c-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids nested functions");
 
@@ -2771,16 +2771,16 @@ case 209:
                  reinit_parse_for_function (); ;
     break;}
 case 210:
-#line 1147 "c-parse.y"
+#line 1148 "c-parse.y"
 { store_parm_decls (); ;
     break;}
 case 211:
-#line 1155 "c-parse.y"
+#line 1156 "c-parse.y"
 { finish_function (1);
                  pop_function_context (); ;
     break;}
 case 212:
-#line 1161 "c-parse.y"
+#line 1162 "c-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids nested functions");
 
@@ -2794,216 +2794,216 @@ case 212:
                  reinit_parse_for_function (); ;
     break;}
 case 213:
-#line 1173 "c-parse.y"
+#line 1174 "c-parse.y"
 { store_parm_decls (); ;
     break;}
 case 214:
-#line 1181 "c-parse.y"
+#line 1182 "c-parse.y"
 { finish_function (1);
                  pop_function_context (); ;
     break;}
 case 217:
-#line 1197 "c-parse.y"
+#line 1198 "c-parse.y"
 { yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 218:
-#line 1199 "c-parse.y"
+#line 1200 "c-parse.y"
 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 219:
-#line 1204 "c-parse.y"
+#line 1205 "c-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 220:
-#line 1206 "c-parse.y"
+#line 1207 "c-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
     break;}
 case 221:
-#line 1208 "c-parse.y"
+#line 1209 "c-parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 222:
-#line 1215 "c-parse.y"
+#line 1216 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 224:
-#line 1226 "c-parse.y"
+#line 1227 "c-parse.y"
 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 225:
-#line 1231 "c-parse.y"
+#line 1232 "c-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, NULL_TREE);
                  if (! flag_isoc99)
                    error ("`[*]' in parameter declaration only allowed in ISO C 99");
                ;
     break;}
 case 226:
-#line 1236 "c-parse.y"
+#line 1237 "c-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 227:
-#line 1238 "c-parse.y"
+#line 1239 "c-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
     break;}
 case 228:
-#line 1240 "c-parse.y"
+#line 1241 "c-parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 229:
-#line 1247 "c-parse.y"
+#line 1248 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 231:
-#line 1256 "c-parse.y"
+#line 1257 "c-parse.y"
 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 232:
-#line 1261 "c-parse.y"
+#line 1262 "c-parse.y"
 { yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 233:
-#line 1263 "c-parse.y"
+#line 1264 "c-parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 234:
-#line 1265 "c-parse.y"
+#line 1266 "c-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, NULL_TREE);
                  if (! flag_isoc99)
                    error ("`[*]' in parameter declaration only allowed in ISO C 99");
                ;
     break;}
 case 235:
-#line 1270 "c-parse.y"
+#line 1271 "c-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 236:
-#line 1272 "c-parse.y"
+#line 1273 "c-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
     break;}
 case 237:
-#line 1279 "c-parse.y"
+#line 1280 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 239:
-#line 1285 "c-parse.y"
+#line 1286 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 240:
-#line 1287 "c-parse.y"
+#line 1288 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 241:
-#line 1292 "c-parse.y"
+#line 1293 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 242:
-#line 1294 "c-parse.y"
+#line 1295 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 243:
-#line 1299 "c-parse.y"
+#line 1300 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 244:
-#line 1301 "c-parse.y"
+#line 1302 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 245:
-#line 1306 "c-parse.y"
+#line 1307 "c-parse.y"
 { yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype);
                  /* Start scope of tag before parsing components.  */
                ;
     break;}
 case 246:
-#line 1310 "c-parse.y"
+#line 1311 "c-parse.y"
 { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
     break;}
 case 247:
-#line 1312 "c-parse.y"
+#line 1313 "c-parse.y"
 { yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE),
                                      yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
                ;
     break;}
 case 248:
-#line 1316 "c-parse.y"
+#line 1317 "c-parse.y"
 { yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ;
     break;}
 case 249:
-#line 1318 "c-parse.y"
+#line 1319 "c-parse.y"
 { yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ;
     break;}
 case 250:
-#line 1320 "c-parse.y"
+#line 1321 "c-parse.y"
 { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
     break;}
 case 251:
-#line 1322 "c-parse.y"
+#line 1323 "c-parse.y"
 { yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE),
                                      yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
                ;
     break;}
 case 252:
-#line 1326 "c-parse.y"
+#line 1327 "c-parse.y"
 { yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ;
     break;}
 case 253:
-#line 1328 "c-parse.y"
+#line 1329 "c-parse.y"
 { yyval.ttype = start_enum (yyvsp[-1].ttype); ;
     break;}
 case 254:
-#line 1330 "c-parse.y"
+#line 1331 "c-parse.y"
 { yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype),
                                    chainon (yyvsp[-7].ttype, yyvsp[0].ttype)); ;
     break;}
 case 255:
-#line 1333 "c-parse.y"
+#line 1334 "c-parse.y"
 { yyval.ttype = start_enum (NULL_TREE); ;
     break;}
 case 256:
-#line 1335 "c-parse.y"
+#line 1336 "c-parse.y"
 { yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype),
                                    chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
     break;}
 case 257:
-#line 1338 "c-parse.y"
+#line 1339 "c-parse.y"
 { yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype); ;
     break;}
 case 261:
-#line 1349 "c-parse.y"
+#line 1350 "c-parse.y"
 { if (pedantic && ! flag_isoc99)
                    pedwarn ("comma at end of enumerator list"); ;
     break;}
 case 262:
-#line 1355 "c-parse.y"
+#line 1356 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 263:
-#line 1357 "c-parse.y"
+#line 1358 "c-parse.y"
 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
                  pedwarn ("no semicolon at end of struct or union"); ;
     break;}
 case 264:
-#line 1362 "c-parse.y"
+#line 1363 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 265:
-#line 1364 "c-parse.y"
+#line 1365 "c-parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
     break;}
 case 266:
-#line 1366 "c-parse.y"
+#line 1367 "c-parse.y"
 { if (pedantic)
                    pedwarn ("extra semicolon in struct or union specified"); ;
     break;}
 case 267:
-#line 1381 "c-parse.y"
+#line 1382 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 268:
-#line 1386 "c-parse.y"
+#line 1387 "c-parse.y"
 {
                  /* Support for unnamed structs or unions as members of 
                     structs or unions (which is [a] useful and [b] supports 
@@ -3018,151 +3018,151 @@ case 268:
                ;
     break;}
 case 269:
-#line 1399 "c-parse.y"
+#line 1400 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 270:
-#line 1404 "c-parse.y"
+#line 1405 "c-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids member declarations with no members");
                  shadow_tag(yyvsp[0].ttype);
                  yyval.ttype = NULL_TREE; ;
     break;}
 case 271:
-#line 1409 "c-parse.y"
+#line 1410 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 272:
-#line 1411 "c-parse.y"
+#line 1412 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
     break;}
 case 274:
-#line 1418 "c-parse.y"
+#line 1419 "c-parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 275:
-#line 1423 "c-parse.y"
+#line 1424 "c-parse.y"
 { yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-1].ttype, current_declspecs, NULL_TREE);
                  decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
     break;}
 case 276:
-#line 1427 "c-parse.y"
+#line 1428 "c-parse.y"
 { yyval.ttype = grokfield (yyvsp[-5].filename, yyvsp[-4].lineno, yyvsp[-3].ttype, current_declspecs, yyvsp[-1].ttype);
                  decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
     break;}
 case 277:
-#line 1430 "c-parse.y"
+#line 1431 "c-parse.y"
 { yyval.ttype = grokfield (yyvsp[-4].filename, yyvsp[-3].lineno, NULL_TREE, current_declspecs, yyvsp[-1].ttype);
                  decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
     break;}
 case 279:
-#line 1442 "c-parse.y"
+#line 1443 "c-parse.y"
 { if (yyvsp[-2].ttype == error_mark_node)
                    yyval.ttype = yyvsp[-2].ttype;
                  else
                    yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ;
     break;}
 case 280:
-#line 1447 "c-parse.y"
+#line 1448 "c-parse.y"
 { yyval.ttype = error_mark_node; ;
     break;}
 case 281:
-#line 1453 "c-parse.y"
+#line 1454 "c-parse.y"
 { yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 282:
-#line 1455 "c-parse.y"
+#line 1456 "c-parse.y"
 { yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 283:
-#line 1460 "c-parse.y"
+#line 1461 "c-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 284:
-#line 1462 "c-parse.y"
+#line 1463 "c-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 285:
-#line 1467 "c-parse.y"
+#line 1468 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 287:
-#line 1473 "c-parse.y"
+#line 1474 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 288:
-#line 1475 "c-parse.y"
+#line 1476 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 289:
-#line 1480 "c-parse.y"
+#line 1481 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 290:
-#line 1482 "c-parse.y"
+#line 1483 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 291:
-#line 1487 "c-parse.y"
+#line 1488 "c-parse.y"
 { yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 292:
-#line 1490 "c-parse.y"
+#line 1491 "c-parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 293:
-#line 1492 "c-parse.y"
+#line 1493 "c-parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 294:
-#line 1494 "c-parse.y"
+#line 1495 "c-parse.y"
 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 295:
-#line 1496 "c-parse.y"
+#line 1497 "c-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 296:
-#line 1498 "c-parse.y"
+#line 1499 "c-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
     break;}
 case 297:
-#line 1500 "c-parse.y"
+#line 1501 "c-parse.y"
 { yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 298:
-#line 1502 "c-parse.y"
+#line 1503 "c-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
     break;}
 case 299:
-#line 1504 "c-parse.y"
+#line 1505 "c-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ;
     break;}
 case 300:
-#line 1508 "c-parse.y"
+#line 1509 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 301:
-#line 1517 "c-parse.y"
+#line 1518 "c-parse.y"
 {
                  if (pedantic && yyvsp[0].ends_in_label)
                    pedwarn ("ANSI C forbids label at end of compound statement");
                ;
     break;}
 case 303:
-#line 1526 "c-parse.y"
+#line 1527 "c-parse.y"
 { yyval.ends_in_label = yyvsp[0].ends_in_label; ;
     break;}
 case 304:
-#line 1528 "c-parse.y"
+#line 1529 "c-parse.y"
 { yyval.ends_in_label = 0; ;
     break;}
 case 308:
-#line 1540 "c-parse.y"
+#line 1541 "c-parse.y"
 { emit_line_note (input_filename, lineno);
                  pushlevel (0);
                  clear_last_expr ();
@@ -3170,12 +3170,12 @@ case 308:
                ;
     break;}
 case 310:
-#line 1552 "c-parse.y"
+#line 1553 "c-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids label declarations"); ;
     break;}
 case 313:
-#line 1563 "c-parse.y"
+#line 1564 "c-parse.y"
 { tree link;
                  for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
                    {
@@ -3186,37 +3186,37 @@ case 313:
                ;
     break;}
 case 314:
-#line 1577 "c-parse.y"
+#line 1578 "c-parse.y"
 {;
     break;}
 case 316:
-#line 1581 "c-parse.y"
+#line 1582 "c-parse.y"
 { compstmt_count++; ;
     break;}
 case 317:
-#line 1584 "c-parse.y"
+#line 1585 "c-parse.y"
 { yyval.ttype = convert (void_type_node, integer_zero_node); ;
     break;}
 case 318:
-#line 1586 "c-parse.y"
+#line 1587 "c-parse.y"
 { emit_line_note (input_filename, lineno);
                  expand_end_bindings (getdecls (), 1, 0);
                  yyval.ttype = poplevel (1, 1, 0); ;
     break;}
 case 319:
-#line 1590 "c-parse.y"
+#line 1591 "c-parse.y"
 { emit_line_note (input_filename, lineno);
                  expand_end_bindings (getdecls (), kept_level_p (), 0);
                  yyval.ttype = poplevel (kept_level_p (), 0, 0); ;
     break;}
 case 320:
-#line 1594 "c-parse.y"
+#line 1595 "c-parse.y"
 { emit_line_note (input_filename, lineno);
                  expand_end_bindings (getdecls (), kept_level_p (), 0);
                  yyval.ttype = poplevel (kept_level_p (), 0, 0); ;
     break;}
 case 321:
-#line 1601 "c-parse.y"
+#line 1602 "c-parse.y"
 { if (current_function_decl == 0)
                    {
                      error ("braced-group within expression allowed only inside a function");
@@ -3234,11 +3234,11 @@ case 321:
                ;
     break;}
 case 322:
-#line 1618 "c-parse.y"
+#line 1619 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 325:
-#line 1632 "c-parse.y"
+#line 1633 "c-parse.y"
 { emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
                  c_expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0, 
                                       compstmt_count);
@@ -3248,7 +3248,7 @@ case 325:
                  position_after_white_space (); ;
     break;}
 case 326:
-#line 1646 "c-parse.y"
+#line 1647 "c-parse.y"
 { stmt_count++;
                  compstmt_count++;
                  emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
@@ -3258,43 +3258,43 @@ case 326:
                  position_after_white_space (); ;
     break;}
 case 327:
-#line 1654 "c-parse.y"
+#line 1655 "c-parse.y"
 { expand_loop_continue_here (); ;
     break;}
 case 328:
-#line 1658 "c-parse.y"
+#line 1659 "c-parse.y"
 { yyval.filename = input_filename; ;
     break;}
 case 329:
-#line 1662 "c-parse.y"
+#line 1663 "c-parse.y"
 { yyval.lineno = lineno; ;
     break;}
 case 330:
-#line 1667 "c-parse.y"
+#line 1668 "c-parse.y"
 { ;
     break;}
 case 331:
-#line 1672 "c-parse.y"
+#line 1673 "c-parse.y"
 { ;
     break;}
 case 332:
-#line 1677 "c-parse.y"
+#line 1678 "c-parse.y"
 { yyval.ends_in_label = yyvsp[0].ends_in_label; ;
     break;}
 case 333:
-#line 1682 "c-parse.y"
+#line 1683 "c-parse.y"
 { yyval.ends_in_label = 0; ;
     break;}
 case 334:
-#line 1684 "c-parse.y"
+#line 1685 "c-parse.y"
 { yyval.ends_in_label = 1; ;
     break;}
 case 335:
-#line 1690 "c-parse.y"
+#line 1691 "c-parse.y"
 { stmt_count++; ;
     break;}
 case 337:
-#line 1693 "c-parse.y"
+#line 1694 "c-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
 /* It appears that this should not be done--that a non-lvalue array
@@ -3312,19 +3312,19 @@ case 337:
                  iterator_expand (yyvsp[-1].ttype); ;
     break;}
 case 338:
-#line 1709 "c-parse.y"
+#line 1710 "c-parse.y"
 { c_expand_start_else ();
                  yyvsp[-1].itype = stmt_count;
                  position_after_white_space (); ;
     break;}
 case 339:
-#line 1713 "c-parse.y"
+#line 1714 "c-parse.y"
 { c_expand_end_cond ();
                  if (extra_warnings && stmt_count == yyvsp[-3].itype)
                    warning ("empty body in an else-statement"); ;
     break;}
 case 340:
-#line 1717 "c-parse.y"
+#line 1718 "c-parse.y"
 { c_expand_end_cond ();
                  /* This warning is here instead of in simple_if, because we
                     do not want a warning if an empty if is followed by an
@@ -3335,11 +3335,11 @@ case 340:
                                                "empty body in an if-statement"); ;
     break;}
 case 341:
-#line 1729 "c-parse.y"
+#line 1730 "c-parse.y"
 { c_expand_end_cond (); ;
     break;}
 case 342:
-#line 1731 "c-parse.y"
+#line 1732 "c-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
                  /* The emit_nop used to come before emit_line_note,
@@ -3351,7 +3351,7 @@ case 342:
                  emit_nop (); ;
     break;}
 case 343:
-#line 1741 "c-parse.y"
+#line 1742 "c-parse.y"
 { /* Don't start the loop till we have succeeded
                     in parsing the end test.  This is to make sure
                     that we end every loop we start.  */
@@ -3362,22 +3362,22 @@ case 343:
                  position_after_white_space (); ;
     break;}
 case 344:
-#line 1750 "c-parse.y"
+#line 1751 "c-parse.y"
 { expand_end_loop (); ;
     break;}
 case 345:
-#line 1753 "c-parse.y"
+#line 1754 "c-parse.y"
 { emit_line_note (input_filename, lineno);
                  expand_exit_loop_if_false (NULL_PTR,
                                             truthvalue_conversion (yyvsp[-2].ttype));
                  expand_end_loop (); ;
     break;}
 case 346:
-#line 1759 "c-parse.y"
+#line 1760 "c-parse.y"
 { expand_end_loop (); ;
     break;}
 case 347:
-#line 1762 "c-parse.y"
+#line 1763 "c-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
                  /* See comment in `while' alternative, above.  */
@@ -3390,12 +3390,12 @@ case 347:
                ;
     break;}
 case 348:
-#line 1774 "c-parse.y"
+#line 1775 "c-parse.y"
 { yyvsp[0].lineno = lineno;
                  yyval.filename = input_filename; ;
     break;}
 case 349:
-#line 1777 "c-parse.y"
+#line 1778 "c-parse.y"
 { 
                  /* Start the loop.  Doing this after parsing
                     all the expressions ensures we will end the loop.  */
@@ -3410,7 +3410,7 @@ case 349:
                  position_after_white_space (); ;
     break;}
 case 350:
-#line 1790 "c-parse.y"
+#line 1791 "c-parse.y"
 { /* Emit the increment expression, with a line number.  */
                  emit_line_note (yyvsp[-4].filename, yyvsp[-5].lineno);
                  expand_loop_continue_here ();
@@ -3419,44 +3419,44 @@ case 350:
                  expand_end_loop (); ;
     break;}
 case 351:
-#line 1797 "c-parse.y"
+#line 1798 "c-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
                  c_expand_start_case (yyvsp[-1].ttype);
                  position_after_white_space (); ;
     break;}
 case 352:
-#line 1802 "c-parse.y"
+#line 1803 "c-parse.y"
 { expand_end_case (yyvsp[-3].ttype); ;
     break;}
 case 353:
-#line 1804 "c-parse.y"
+#line 1805 "c-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
                  if ( ! expand_exit_something ())
                    error ("break statement not within loop or switch"); ;
     break;}
 case 354:
-#line 1809 "c-parse.y"
+#line 1810 "c-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
                  if (! expand_continue_loop (NULL_PTR))
                    error ("continue statement not within a loop"); ;
     break;}
 case 355:
-#line 1814 "c-parse.y"
+#line 1815 "c-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
                  c_expand_return (NULL_TREE); ;
     break;}
 case 356:
-#line 1818 "c-parse.y"
+#line 1819 "c-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
                  c_expand_return (yyvsp[-1].ttype); ;
     break;}
 case 357:
-#line 1822 "c-parse.y"
+#line 1823 "c-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-7].filename, yyvsp[-6].lineno);
                  STRIP_NOPS (yyvsp[-2].ttype);
@@ -3468,7 +3468,7 @@ case 357:
                    error ("argument of `asm' is not a constant string"); ;
     break;}
 case 358:
-#line 1833 "c-parse.y"
+#line 1834 "c-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-9].filename, yyvsp[-8].lineno);
                  c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
@@ -3476,7 +3476,7 @@ case 358:
                                         input_filename, lineno); ;
     break;}
 case 359:
-#line 1840 "c-parse.y"
+#line 1841 "c-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-11].filename, yyvsp[-10].lineno);
                  c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
@@ -3484,7 +3484,7 @@ case 359:
                                         input_filename, lineno); ;
     break;}
 case 360:
-#line 1848 "c-parse.y"
+#line 1849 "c-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-13].filename, yyvsp[-12].lineno);
                  c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
@@ -3492,7 +3492,7 @@ case 360:
                                         input_filename, lineno); ;
     break;}
 case 361:
-#line 1854 "c-parse.y"
+#line 1855 "c-parse.y"
 { tree decl;
                  stmt_count++;
                  emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
@@ -3505,7 +3505,7 @@ case 361:
                ;
     break;}
 case 362:
-#line 1865 "c-parse.y"
+#line 1866 "c-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids `goto *expr;'");
                  stmt_count++;
@@ -3513,7 +3513,7 @@ case 362:
                  expand_computed_goto (convert (ptr_type_node, yyvsp[-1].ttype)); ;
     break;}
 case 365:
-#line 1880 "c-parse.y"
+#line 1881 "c-parse.y"
 {
            /* The value returned by this action is  */
            /*      1 if everything is OK */ 
@@ -3536,14 +3536,14 @@ case 365:
          ;
     break;}
 case 366:
-#line 1901 "c-parse.y"
+#line 1902 "c-parse.y"
 {
            if (yyvsp[-1].itype)
              iterator_for_loop_end (yyvsp[-3].ttype);
          ;
     break;}
 case 367:
-#line 1932 "c-parse.y"
+#line 1933 "c-parse.y"
 { register tree value = check_case_value (yyvsp[-1].ttype);
                  register tree label
                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
@@ -3576,7 +3576,7 @@ case 367:
                  position_after_white_space (); ;
     break;}
 case 368:
-#line 1963 "c-parse.y"
+#line 1964 "c-parse.y"
 { register tree value1 = check_case_value (yyvsp[-3].ttype);
                  register tree value2 = check_case_value (yyvsp[-1].ttype);
                  register tree label
@@ -3609,7 +3609,7 @@ case 368:
                  position_after_white_space (); ;
     break;}
 case 369:
-#line 1994 "c-parse.y"
+#line 1995 "c-parse.y"
 {
                  tree duplicate;
                  register tree label
@@ -3626,7 +3626,7 @@ case 369:
                  position_after_white_space (); ;
     break;}
 case 370:
-#line 2009 "c-parse.y"
+#line 2010 "c-parse.y"
 { tree label = define_label (input_filename, lineno, yyvsp[-2].ttype);
                  stmt_count++;
                  emit_nop ();
@@ -3638,52 +3638,52 @@ case 370:
                  position_after_white_space (); ;
     break;}
 case 371:
-#line 2024 "c-parse.y"
+#line 2025 "c-parse.y"
 { emit_line_note (input_filename, lineno);
                  yyval.ttype = NULL_TREE; ;
     break;}
 case 372:
-#line 2027 "c-parse.y"
+#line 2028 "c-parse.y"
 { emit_line_note (input_filename, lineno); ;
     break;}
 case 373:
-#line 2032 "c-parse.y"
+#line 2033 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 375:
-#line 2039 "c-parse.y"
+#line 2040 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 378:
-#line 2046 "c-parse.y"
+#line 2047 "c-parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 379:
-#line 2051 "c-parse.y"
+#line 2052 "c-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 380:
-#line 2056 "c-parse.y"
+#line 2057 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ;
     break;}
 case 381:
-#line 2058 "c-parse.y"
+#line 2059 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ;
     break;}
 case 382:
-#line 2064 "c-parse.y"
+#line 2065 "c-parse.y"
 { pushlevel (0);
                  clear_parm_order ();
                  declare_parm_level (0); ;
     break;}
 case 383:
-#line 2068 "c-parse.y"
+#line 2069 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  parmlist_tags_warning ();
                  poplevel (0, 0, 0); ;
     break;}
 case 385:
-#line 2076 "c-parse.y"
+#line 2077 "c-parse.y"
 { tree parm;
                  if (pedantic)
                    pedwarn ("ANSI C forbids forward parameter declarations");
@@ -3693,19 +3693,19 @@ case 385:
                  clear_parm_order (); ;
     break;}
 case 386:
-#line 2084 "c-parse.y"
+#line 2085 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 387:
-#line 2086 "c-parse.y"
+#line 2087 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ;
     break;}
 case 388:
-#line 2092 "c-parse.y"
+#line 2093 "c-parse.y"
 { yyval.ttype = get_parm_info (0); ;
     break;}
 case 389:
-#line 2094 "c-parse.y"
+#line 2095 "c-parse.y"
 { yyval.ttype = get_parm_info (0);
                  /* Gcc used to allow this as an extension.  However, it does
                     not work for all targets, and thus has been disabled.
@@ -3717,23 +3717,23 @@ case 389:
                ;
     break;}
 case 390:
-#line 2104 "c-parse.y"
+#line 2105 "c-parse.y"
 { yyval.ttype = get_parm_info (1); ;
     break;}
 case 391:
-#line 2106 "c-parse.y"
+#line 2107 "c-parse.y"
 { yyval.ttype = get_parm_info (0); ;
     break;}
 case 392:
-#line 2111 "c-parse.y"
+#line 2112 "c-parse.y"
 { push_parm_decl (yyvsp[0].ttype); ;
     break;}
 case 393:
-#line 2113 "c-parse.y"
+#line 2114 "c-parse.y"
 { push_parm_decl (yyvsp[0].ttype); ;
     break;}
 case 394:
-#line 2120 "c-parse.y"
+#line 2121 "c-parse.y"
 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
                                                         yyvsp[-1].ttype),
                                        build_tree_list (prefix_attributes,
@@ -3743,7 +3743,7 @@ case 394:
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 395:
-#line 2128 "c-parse.y"
+#line 2129 "c-parse.y"
 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
                                                         yyvsp[-1].ttype),
                                        build_tree_list (prefix_attributes,
@@ -3753,7 +3753,7 @@ case 395:
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 396:
-#line 2136 "c-parse.y"
+#line 2137 "c-parse.y"
 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
                                                         yyvsp[-1].ttype),
                                        build_tree_list (prefix_attributes,
@@ -3763,7 +3763,7 @@ case 396:
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 397:
-#line 2144 "c-parse.y"
+#line 2145 "c-parse.y"
 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
                                                         yyvsp[-1].ttype),
                                        build_tree_list (prefix_attributes,
@@ -3773,7 +3773,7 @@ case 397:
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 398:
-#line 2153 "c-parse.y"
+#line 2154 "c-parse.y"
 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
                                                         yyvsp[-1].ttype),
                                        build_tree_list (prefix_attributes,
@@ -3783,19 +3783,19 @@ case 398:
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 399:
-#line 2166 "c-parse.y"
+#line 2167 "c-parse.y"
 { pushlevel (0);
                  clear_parm_order ();
                  declare_parm_level (1); ;
     break;}
 case 400:
-#line 2170 "c-parse.y"
+#line 2171 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  parmlist_tags_warning ();
                  poplevel (0, 0, 0); ;
     break;}
 case 402:
-#line 2178 "c-parse.y"
+#line 2179 "c-parse.y"
 { tree t;
                  for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t))
                    if (TREE_VALUE (t) == NULL_TREE)
@@ -3803,30 +3803,30 @@ case 402:
                  yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
     break;}
 case 403:
-#line 2188 "c-parse.y"
+#line 2189 "c-parse.y"
 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 404:
-#line 2190 "c-parse.y"
+#line 2191 "c-parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
     break;}
 case 405:
-#line 2196 "c-parse.y"
+#line 2197 "c-parse.y"
 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 406:
-#line 2198 "c-parse.y"
+#line 2199 "c-parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
     break;}
 case 407:
-#line 2203 "c-parse.y"
+#line 2204 "c-parse.y"
 { yyval.ttype = SAVE_WARN_FLAGS();
                  pedantic = 0;
                  warn_pointer_arith = 0; ;
     break;}
 }
    /* the action file gets copied in in place of this dollarsign */
-#line 543 "/usr/share/misc/bison.simple"
+#line 543 "/usr/lib/bison.simple"
 \f
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -4046,5 +4046,5 @@ yyerrhandle:
     }
   return 1;
 }
-#line 2208 "c-parse.y"
+#line 2209 "c-parse.y"
 
index 577088755b7b75b7fb8b5a2cbba3603cece175db..c278565931d201ef9227947b9f667a704f299d5b 100644 (file)
@@ -1,25 +1,24 @@
 
 /*  A Bison parser, made from cexp.y
- by  GNU Bison version 1.25
-  */
+    by GNU Bison version 1.28  */
 
 #define YYBISON 1  /* Identify Bison output.  */
 
-#define        INT     258
-#define        CHAR    259
-#define        NAME    260
-#define        ERROR   261
-#define        OR      262
-#define        AND     263
-#define        EQUAL   264
-#define        NOTEQUAL        265
-#define        LEQ     266
-#define        GEQ     267
-#define        LSH     268
-#define        RSH     269
-#define        UNARY   270
-
-#line 27 "cexp.y"
+#define        INT     257
+#define        CHAR    258
+#define        NAME    259
+#define        ERROR   260
+#define        OR      261
+#define        AND     262
+#define        EQUAL   263
+#define        NOTEQUAL        264
+#define        LEQ     265
+#define        GEQ     266
+#define        LSH     267
+#define        RSH     268
+#define        UNARY   269
+
+#line 28 "cexp.y"
 
 #include "config.h"
 
@@ -146,7 +145,7 @@ static void integer_overflow PARAMS ((void));
 #define SIGNED (~0)
 #define UNSIGNED 0
 
-#line 154 "cexp.y"
+#line 155 "cexp.y"
 typedef union {
   struct constant {HOST_WIDEST_INT value; int signedp;} integer;
   struct name {U_CHAR *address; int length;} name;
@@ -166,7 +165,7 @@ typedef union {
 #define        YYFLAG          -32768
 #define        YYNTBASE        34
 
-#define YYTRANSLATE(x) ((unsigned)(x) <= 270 ? yytranslate[x] : 43)
+#define YYTRANSLATE(x) ((unsigned)(x) <= 269 ? yytranslate[x] : 43)
 
 static const char yytranslate[] = {     0,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -194,8 +193,8 @@ static const char yytranslate[] = {     0,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     1,     2,     3,     4,     5,
-     6,    10,    11,    15,    16,    19,    20,    21,    22,    28
+     2,     2,     2,     2,     2,     1,     3,     4,     5,     6,
+    10,    11,    15,    16,    19,    20,    21,    22,    28
 };
 
 #if YYDEBUG != 0
@@ -227,10 +226,10 @@ static const short yyrhs[] = {    35,
 
 #if YYDEBUG != 0
 static const short yyrline[] = { 0,
-   184,   194,   195,   202,   207,   210,   212,   215,   219,   221,
-   226,   231,   244,   261,   274,   280,   286,   292,   298,   301,
-   304,   311,   318,   325,   332,   335,   338,   341,   344,   347,
-   350,   353,   355,   358,   361,   363,   365,   373,   375,   388
+   185,   195,   196,   203,   208,   211,   213,   216,   220,   222,
+   227,   232,   245,   262,   275,   281,   287,   293,   299,   302,
+   305,   312,   319,   326,   333,   336,   339,   342,   345,   348,
+   351,   354,   356,   359,   362,   364,   366,   374,   376,   389
 };
 #endif
 
@@ -336,7 +335,8 @@ static const short yycheck[] = {     4,
     26,    27,    23,    24,    25,    26,    27,     0,     9
 };
 /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/usr/cygnus/TBD-TBD/share/bison.simple"
+#line 3 "/usr/lib/bison.simple"
+/* This file comes from bison-1.28.  */
 
 /* Skeleton output parser for bison,
    Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
@@ -353,46 +353,66 @@ static const short yycheck[] = {     4,
 
    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., 675 Mass Ave, Cambridge, MA 02139, USA.  */
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
 
 /* As a special exception, when this file is copied by Bison into a
    Bison output file, you may use that output file without restriction.
    This special exception was added by the Free Software Foundation
    in version 1.24 of Bison.  */
 
-#ifndef alloca
+/* This is the parser code that is written into each bison parser
+  when the %semantic_parser declaration is not specified in the grammar.
+  It was written by Richard Stallman by simplifying the hairy parser
+  used when %semantic_parser is specified.  */
+
+#ifndef YYSTACK_USE_ALLOCA
+#ifdef alloca
+#define YYSTACK_USE_ALLOCA
+#else /* alloca not defined */
 #ifdef __GNUC__
+#define YYSTACK_USE_ALLOCA
 #define alloca __builtin_alloca
 #else /* not GNU C.  */
-#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
+#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
+#define YYSTACK_USE_ALLOCA
 #include <alloca.h>
 #else /* not sparc */
-#if defined (MSDOS) && !defined (__TURBOC__)
+/* We think this test detects Watcom and Microsoft C.  */
+/* This used to test MSDOS, but that is a bad idea
+   since that symbol is in the user namespace.  */
+#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
+#if 0 /* No need for malloc.h, which pollutes the namespace;
+        instead, just don't use alloca.  */
 #include <malloc.h>
+#endif
 #else /* not MSDOS, or __TURBOC__ */
 #if defined(_AIX)
-#include <malloc.h>
+/* I don't know what this was needed for, but it pollutes the namespace.
+   So I turned it off.   rms, 2 May 1997.  */
+/* #include <malloc.h>  */
  #pragma alloca
-#else /* not MSDOS, __TURBOC__, or _AIX */
-#ifdef __hpux
-#ifdef __cplusplus
-extern "C" {
-void *alloca (unsigned int);
-};
-#else /* not __cplusplus */
-void *alloca ();
-#endif /* not __cplusplus */
+#define YYSTACK_USE_ALLOCA
+#else /* not MSDOS, or __TURBOC__, or _AIX */
+#if 0
+#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
+                and on HPUX 10.  Eventually we can turn this on.  */
+#define YYSTACK_USE_ALLOCA
+#define alloca __builtin_alloca
 #endif /* __hpux */
+#endif
 #endif /* not _AIX */
 #endif /* not MSDOS, or __TURBOC__ */
-#endif /* not sparc.  */
-#endif /* not GNU C.  */
-#endif /* alloca not defined.  */
+#endif /* not sparc */
+#endif /* not GNU C */
+#endif /* alloca not defined */
+#endif /* YYSTACK_USE_ALLOCA not defined */
 
-/* This is the parser code that is written into each bison parser
-  when the %semantic_parser declaration is not specified in the grammar.
-  It was written by Richard Stallman by simplifying the hairy parser
-  used when %semantic_parser is specified.  */
+#ifdef YYSTACK_USE_ALLOCA
+#define YYSTACK_ALLOC alloca
+#else
+#define YYSTACK_ALLOC malloc
+#endif
 
 /* Note: there must be only one dollar sign in this file.
    It is replaced by the list of actions, each action
@@ -402,8 +422,8 @@ void *alloca ();
 #define yyclearin      (yychar = YYEMPTY)
 #define YYEMPTY                -2
 #define YYEOF          0
-#define YYACCEPT       return(0)
-#define YYABORT        return(1)
+#define YYACCEPT       goto yyacceptlab
+#define YYABORT        goto yyabortlab
 #define YYERROR                goto yyerrlab1
 /* Like YYERROR except do call yyerror.
    This remains here temporarily to ease the
@@ -484,12 +504,12 @@ int yydebug;                      /*  nonzero means print parse trace     */
 #ifndef YYMAXDEPTH
 #define YYMAXDEPTH 10000
 #endif
-
-/* Prevent warning if -Wstrict-prototypes.  */
-#ifdef __GNUC__
-int yyparse (void);
-#endif
 \f
+/* Define __yy_memcpy.  Note that the size argument
+   should be passed with type unsigned int, because that is what the non-GCC
+   definitions require.  With GCC, __builtin_memcpy takes an arg
+   of type size_t, but it can handle unsigned int.  */
+
 #if __GNUC__ > 1               /* GNU C and GNU C++ define this.  */
 #define __yy_memcpy(TO,FROM,COUNT)     __builtin_memcpy(TO,FROM,COUNT)
 #else                          /* not GNU C or C++ */
@@ -501,7 +521,7 @@ static void
 __yy_memcpy (to, from, count)
      char *to;
      char *from;
-     int count;
+     unsigned int count;
 {
   register char *f = from;
   register char *t = to;
@@ -516,10 +536,10 @@ __yy_memcpy (to, from, count)
 /* This is the most reliable way to avoid incompatibilities
    in available built-in functions on various systems.  */
 static void
-__yy_memcpy (char *to, char *from, int count)
+__yy_memcpy (char *to, char *from, unsigned int count)
 {
-  register char *f = from;
   register char *t = to;
+  register char *f = from;
   register int i = count;
 
   while (i-- > 0)
@@ -529,7 +549,7 @@ __yy_memcpy (char *to, char *from, int count)
 #endif
 #endif
 \f
-#line 196 "/usr/cygnus/TBD-TBD/share/bison.simple"
+#line 217 "/usr/lib/bison.simple"
 
 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
    into yyparse.  The argument should have type void *.
@@ -550,6 +570,15 @@ __yy_memcpy (char *to, char *from, int count)
 #define YYPARSE_PARAM_DECL
 #endif /* not YYPARSE_PARAM */
 
+/* Prevent warning if -Wstrict-prototypes.  */
+#ifdef __GNUC__
+#ifdef YYPARSE_PARAM
+int yyparse (void *);
+#else
+int yyparse (void);
+#endif
+#endif
+
 int
 yyparse(YYPARSE_PARAM_ARG)
      YYPARSE_PARAM_DECL
@@ -578,6 +607,7 @@ yyparse(YYPARSE_PARAM_ARG)
 #endif
 
   int yystacksize = YYINITDEPTH;
+  int yyfree_stacks = 0;
 
 #ifdef YYPURE
   int yychar;
@@ -662,18 +692,32 @@ yynewstate:
       if (yystacksize >= YYMAXDEPTH)
        {
          yyerror("parser stack overflow");
+         if (yyfree_stacks)
+           {
+             free (yyss);
+             free (yyvs);
+#ifdef YYLSP_NEEDED
+             free (yyls);
+#endif
+           }
          return 2;
        }
       yystacksize *= 2;
       if (yystacksize > YYMAXDEPTH)
        yystacksize = YYMAXDEPTH;
-      yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
-      __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
-      yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
-      __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
+#ifndef YYSTACK_USE_ALLOCA
+      yyfree_stacks = 1;
+#endif
+      yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
+      __yy_memcpy ((char *)yyss, (char *)yyss1,
+                  size * (unsigned int) sizeof (*yyssp));
+      yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
+      __yy_memcpy ((char *)yyvs, (char *)yyvs1,
+                  size * (unsigned int) sizeof (*yyvsp));
 #ifdef YYLSP_NEEDED
-      yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
-      __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
+      yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
+      __yy_memcpy ((char *)yyls, (char *)yyls1,
+                  size * (unsigned int) sizeof (*yylsp));
 #endif
 #endif /* no yyoverflow */
 
@@ -834,7 +878,7 @@ yyreduce:
   switch (yyn) {
 
 case 1:
-#line 185 "cexp.y"
+#line 186 "cexp.y"
 {
                  expression_value = yyvsp[0].integer.value;
 #ifdef TEST_EXP_READER
@@ -843,55 +887,55 @@ case 1:
                ;
     break;}
 case 3:
-#line 196 "cexp.y"
+#line 197 "cexp.y"
 { if (pedantic)
                            pedwarn ("comma operator in operand of `#if'");
                          yyval.integer = yyvsp[0].integer; ;
     break;}
 case 4:
-#line 203 "cexp.y"
+#line 204 "cexp.y"
 { yyval.integer.value = - yyvsp[0].integer.value;
                          yyval.integer.signedp = yyvsp[0].integer.signedp;
                          if ((yyval.integer.value & yyvsp[0].integer.value & yyval.integer.signedp) < 0)
                            integer_overflow (); ;
     break;}
 case 5:
-#line 208 "cexp.y"
+#line 209 "cexp.y"
 { yyval.integer.value = ! yyvsp[0].integer.value;
                          yyval.integer.signedp = SIGNED; ;
     break;}
 case 6:
-#line 211 "cexp.y"
+#line 212 "cexp.y"
 { yyval.integer = yyvsp[0].integer; ;
     break;}
 case 7:
-#line 213 "cexp.y"
+#line 214 "cexp.y"
 { yyval.integer.value = ~ yyvsp[0].integer.value;
                          yyval.integer.signedp = yyvsp[0].integer.signedp; ;
     break;}
 case 8:
-#line 216 "cexp.y"
+#line 217 "cexp.y"
 { yyval.integer.value = check_assertion (yyvsp[0].name.address, yyvsp[0].name.length,
                                                      0, NULL_PTR);
                          yyval.integer.signedp = SIGNED; ;
     break;}
 case 9:
-#line 220 "cexp.y"
+#line 221 "cexp.y"
 { keyword_parsing = 1; ;
     break;}
 case 10:
-#line 222 "cexp.y"
+#line 223 "cexp.y"
 { yyval.integer.value = check_assertion (yyvsp[-4].name.address, yyvsp[-4].name.length,
                                                      1, yyvsp[-1].keywords);
                          keyword_parsing = 0;
                          yyval.integer.signedp = SIGNED; ;
     break;}
 case 11:
-#line 227 "cexp.y"
+#line 228 "cexp.y"
 { yyval.integer = yyvsp[-1].integer; ;
     break;}
 case 12:
-#line 232 "cexp.y"
+#line 233 "cexp.y"
 { yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp;
                          if (yyval.integer.signedp)
                            {
@@ -906,7 +950,7 @@ case 12:
                                        * yyvsp[0].integer.value); ;
     break;}
 case 13:
-#line 245 "cexp.y"
+#line 246 "cexp.y"
 { if (yyvsp[0].integer.value == 0)
                            {
                              if (!skip_evaluation)
@@ -925,7 +969,7 @@ case 13:
                                        / yyvsp[0].integer.value); ;
     break;}
 case 14:
-#line 262 "cexp.y"
+#line 263 "cexp.y"
 { if (yyvsp[0].integer.value == 0)
                            {
                              if (!skip_evaluation)
@@ -940,7 +984,7 @@ case 14:
                                        % yyvsp[0].integer.value); ;
     break;}
 case 15:
-#line 275 "cexp.y"
+#line 276 "cexp.y"
 { yyval.integer.value = yyvsp[-2].integer.value + yyvsp[0].integer.value;
                          yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp;
                          if (overflow_sum_sign (yyvsp[-2].integer.value, yyvsp[0].integer.value,
@@ -948,7 +992,7 @@ case 15:
                            integer_overflow (); ;
     break;}
 case 16:
-#line 281 "cexp.y"
+#line 282 "cexp.y"
 { yyval.integer.value = yyvsp[-2].integer.value - yyvsp[0].integer.value;
                          yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp;
                          if (overflow_sum_sign (yyval.integer.value, yyvsp[0].integer.value,
@@ -956,7 +1000,7 @@ case 16:
                            integer_overflow (); ;
     break;}
 case 17:
-#line 287 "cexp.y"
+#line 288 "cexp.y"
 { yyval.integer.signedp = yyvsp[-2].integer.signedp;
                          if ((yyvsp[0].integer.value & yyvsp[0].integer.signedp) < 0)
                            yyval.integer.value = right_shift (&yyvsp[-2].integer, -yyvsp[0].integer.value);
@@ -964,7 +1008,7 @@ case 17:
                            yyval.integer.value = left_shift (&yyvsp[-2].integer, yyvsp[0].integer.value); ;
     break;}
 case 18:
-#line 293 "cexp.y"
+#line 294 "cexp.y"
 { yyval.integer.signedp = yyvsp[-2].integer.signedp;
                          if ((yyvsp[0].integer.value & yyvsp[0].integer.signedp) < 0)
                            yyval.integer.value = left_shift (&yyvsp[-2].integer, -yyvsp[0].integer.value);
@@ -972,17 +1016,17 @@ case 18:
                            yyval.integer.value = right_shift (&yyvsp[-2].integer, yyvsp[0].integer.value); ;
     break;}
 case 19:
-#line 299 "cexp.y"
+#line 300 "cexp.y"
 { yyval.integer.value = (yyvsp[-2].integer.value == yyvsp[0].integer.value);
                          yyval.integer.signedp = SIGNED; ;
     break;}
 case 20:
-#line 302 "cexp.y"
+#line 303 "cexp.y"
 { yyval.integer.value = (yyvsp[-2].integer.value != yyvsp[0].integer.value);
                          yyval.integer.signedp = SIGNED; ;
     break;}
 case 21:
-#line 305 "cexp.y"
+#line 306 "cexp.y"
 { yyval.integer.signedp = SIGNED;
                          if (yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp)
                            yyval.integer.value = yyvsp[-2].integer.value <= yyvsp[0].integer.value;
@@ -991,7 +1035,7 @@ case 21:
                                        <= yyvsp[0].integer.value); ;
     break;}
 case 22:
-#line 312 "cexp.y"
+#line 313 "cexp.y"
 { yyval.integer.signedp = SIGNED;
                          if (yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp)
                            yyval.integer.value = yyvsp[-2].integer.value >= yyvsp[0].integer.value;
@@ -1000,7 +1044,7 @@ case 22:
                                        >= yyvsp[0].integer.value); ;
     break;}
 case 23:
-#line 319 "cexp.y"
+#line 320 "cexp.y"
 { yyval.integer.signedp = SIGNED;
                          if (yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp)
                            yyval.integer.value = yyvsp[-2].integer.value < yyvsp[0].integer.value;
@@ -1009,7 +1053,7 @@ case 23:
                                        < yyvsp[0].integer.value); ;
     break;}
 case 24:
-#line 326 "cexp.y"
+#line 327 "cexp.y"
 { yyval.integer.signedp = SIGNED;
                          if (yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp)
                            yyval.integer.value = yyvsp[-2].integer.value > yyvsp[0].integer.value;
@@ -1018,64 +1062,64 @@ case 24:
                                        > yyvsp[0].integer.value); ;
     break;}
 case 25:
-#line 333 "cexp.y"
+#line 334 "cexp.y"
 { yyval.integer.value = yyvsp[-2].integer.value & yyvsp[0].integer.value;
                          yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp; ;
     break;}
 case 26:
-#line 336 "cexp.y"
+#line 337 "cexp.y"
 { yyval.integer.value = yyvsp[-2].integer.value ^ yyvsp[0].integer.value;
                          yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp; ;
     break;}
 case 27:
-#line 339 "cexp.y"
+#line 340 "cexp.y"
 { yyval.integer.value = yyvsp[-2].integer.value | yyvsp[0].integer.value;
                          yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp; ;
     break;}
 case 28:
-#line 342 "cexp.y"
+#line 343 "cexp.y"
 { skip_evaluation += !yyvsp[-1].integer.value; ;
     break;}
 case 29:
-#line 344 "cexp.y"
+#line 345 "cexp.y"
 { skip_evaluation -= !yyvsp[-3].integer.value;
                          yyval.integer.value = (yyvsp[-3].integer.value && yyvsp[0].integer.value);
                          yyval.integer.signedp = SIGNED; ;
     break;}
 case 30:
-#line 348 "cexp.y"
+#line 349 "cexp.y"
 { skip_evaluation += !!yyvsp[-1].integer.value; ;
     break;}
 case 31:
-#line 350 "cexp.y"
+#line 351 "cexp.y"
 { skip_evaluation -= !!yyvsp[-3].integer.value;
                          yyval.integer.value = (yyvsp[-3].integer.value || yyvsp[0].integer.value);
                          yyval.integer.signedp = SIGNED; ;
     break;}
 case 32:
-#line 354 "cexp.y"
+#line 355 "cexp.y"
 { skip_evaluation += !yyvsp[-1].integer.value; ;
     break;}
 case 33:
-#line 356 "cexp.y"
+#line 357 "cexp.y"
 { skip_evaluation += !!yyvsp[-4].integer.value - !yyvsp[-4].integer.value; ;
     break;}
 case 34:
-#line 358 "cexp.y"
+#line 359 "cexp.y"
 { skip_evaluation -= !!yyvsp[-6].integer.value;
                          yyval.integer.value = yyvsp[-6].integer.value ? yyvsp[-3].integer.value : yyvsp[0].integer.value;
                          yyval.integer.signedp = yyvsp[-3].integer.signedp & yyvsp[0].integer.signedp; ;
     break;}
 case 35:
-#line 362 "cexp.y"
+#line 363 "cexp.y"
 { yyval.integer = yylval.integer; ;
     break;}
 case 36:
-#line 364 "cexp.y"
+#line 365 "cexp.y"
 { yyval.integer = yylval.integer; ;
     break;}
 case 37:
-#line 366 "cexp.y"
+#line 367 "cexp.y"
 { if (warn_undef && !skip_evaluation)
                            warning ("`%.*s' is not defined",
                                     yyvsp[0].name.length, yyvsp[0].name.address);
@@ -1083,11 +1127,11 @@ case 37:
                          yyval.integer.signedp = SIGNED; ;
     break;}
 case 38:
-#line 374 "cexp.y"
+#line 375 "cexp.y"
 { yyval.keywords = 0; ;
     break;}
 case 39:
-#line 376 "cexp.y"
+#line 377 "cexp.y"
 { struct arglist *temp;
                          yyval.keywords = (struct arglist *) xmalloc (sizeof (struct arglist));
                          yyval.keywords->next = yyvsp[-2].keywords;
@@ -1102,7 +1146,7 @@ case 39:
                          temp->next->length = 1; ;
     break;}
 case 40:
-#line 389 "cexp.y"
+#line 390 "cexp.y"
 { yyval.keywords = (struct arglist *) xmalloc (sizeof (struct arglist));
                          yyval.keywords->name = yyvsp[-1].name.address;
                          yyval.keywords->length = yyvsp[-1].name.length;
@@ -1110,7 +1154,7 @@ case 40:
     break;}
 }
    /* the action file gets copied in in place of this dollarsign */
-#line 498 "/usr/cygnus/TBD-TBD/share/bison.simple"
+#line 543 "/usr/lib/bison.simple"
 \f
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -1305,8 +1349,32 @@ yyerrhandle:
 
   yystate = yyn;
   goto yynewstate;
+
+ yyacceptlab:
+  /* YYACCEPT comes here.  */
+  if (yyfree_stacks)
+    {
+      free (yyss);
+      free (yyvs);
+#ifdef YYLSP_NEEDED
+      free (yyls);
+#endif
+    }
+  return 0;
+
+ yyabortlab:
+  /* YYABORT comes here.  */
+  if (yyfree_stacks)
+    {
+      free (yyss);
+      free (yyvs);
+#ifdef YYLSP_NEEDED
+      free (yyls);
+#endif
+    }
+  return 1;
 }
-#line 394 "cexp.y"
+#line 395 "cexp.y"
 
 \f
 /* During parsing of a C expression, the pointer to the next character
index 6532e2722838d33261d9f9b0c780a30914b247e7..2d5610d6a5e36cd70f7039e536d531374a0aa137 100644 (file)
@@ -90,7 +90,7 @@
 #define        END_OF_LINE     340
 #define        END_OF_SAVED_INPUT      341
 
-#line 29 "parse.y"
+#line 30 "parse.y"
 
 /* Cause the `yydebug' variable to be defined.  */
 #define YYDEBUG 1
@@ -279,7 +279,7 @@ cp_parse_init ()
   ggc_add_tree_root (&current_enum_type, 1);
 }
 
-#line 220 "parse.y"
+#line 221 "parse.y"
 typedef union {
   long itype; 
   tree ttype; 
@@ -288,7 +288,7 @@ typedef union {
   flagged_type_tree ftype; 
   struct pending_inline *pi;
 } YYSTYPE;
-#line 423 "parse.y"
+#line 424 "parse.y"
 
 /* Tell yyparse how to print a token's value, if yydebug is set.  */
 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
@@ -732,94 +732,94 @@ static const short yyrhs[] = {    -1,
 
 #if YYDEBUG != 0
 static const short yyrline[] = { 0,
-   430,   432,   440,   443,   444,   448,   450,   453,   458,   462,
-   468,   472,   476,   480,   483,   485,   487,   490,   492,   495,
-   498,   500,   502,   504,   506,   507,   509,   510,   514,   517,
-   526,   529,   531,   535,   538,   540,   544,   547,   559,   566,
-   574,   576,   577,   579,   583,   586,   592,   595,   597,   602,
-   605,   609,   612,   615,   618,   622,   627,   637,   639,   641,
-   643,   645,   658,   661,   665,   668,   670,   672,   675,   678,
-   682,   684,   686,   688,   693,   695,   697,   699,   701,   702,
-   709,   710,   711,   714,   717,   721,   723,   724,   727,   729,
-   732,   735,   737,   741,   744,   746,   750,   752,   754,   758,
-   760,   762,   766,   768,   770,   776,   780,   783,   786,   789,
-   794,   797,   799,   801,   807,   816,   819,   821,   823,   826,
-   828,   833,   842,   845,   847,   851,   860,   876,   879,   881,
-   882,   885,   892,   898,   900,   902,   904,   906,   909,   912,
-   915,   917,   918,   919,   920,   923,   925,   926,   929,   931,
-   932,   935,   940,   940,   944,   944,   947,   947,   950,   950,
-   954,   954,   959,   959,   962,   962,   965,   967,   970,   977,
-   981,   984,   987,   989,   993,   999,  1008,  1010,  1018,  1021,
-  1024,  1027,  1031,  1034,  1036,  1039,  1042,  1044,  1046,  1048,
-  1052,  1055,  1058,  1063,  1067,  1072,  1076,  1079,  1080,  1084,
-  1101,  1107,  1110,  1112,  1113,  1114,  1117,  1121,  1122,  1126,
-  1130,  1133,  1135,  1139,  1142,  1145,  1149,  1152,  1154,  1156,
-  1158,  1161,  1165,  1167,  1170,  1172,  1178,  1181,  1184,  1187,
-  1190,  1195,  1198,  1201,  1205,  1207,  1211,  1215,  1217,  1219,
-  1224,  1227,  1232,  1235,  1237,  1245,  1258,  1263,  1269,  1271,
-  1273,  1286,  1289,  1291,  1293,  1295,  1297,  1299,  1301,  1303,
-  1305,  1307,  1309,  1311,  1313,  1315,  1317,  1319,  1321,  1323,
-  1325,  1327,  1329,  1333,  1335,  1337,  1354,  1357,  1359,  1360,
-  1361,  1362,  1363,  1366,  1378,  1381,  1385,  1388,  1390,  1395,
-  1397,  1398,  1401,  1403,  1411,  1413,  1415,  1417,  1421,  1424,
-  1428,  1432,  1433,  1434,  1438,  1446,  1447,  1448,  1458,  1460,
-  1463,  1465,  1476,  1481,  1483,  1485,  1487,  1489,  1491,  1493,
-  1496,  1498,  1509,  1510,  1514,  1518,  1522,  1526,  1528,  1532,
-  1534,  1536,  1544,  1546,  1548,  1550,  1554,  1556,  1558,  1560,
-  1565,  1567,  1569,  1571,  1574,  1576,  1578,  1622,  1625,  1629,
-  1632,  1636,  1639,  1644,  1646,  1650,  1659,  1662,  1669,  1675,
-  1679,  1681,  1686,  1688,  1695,  1697,  1701,  1705,  1711,  1715,
-  1718,  1722,  1725,  1735,  1738,  1742,  1746,  1749,  1752,  1755,
-  1758,  1764,  1770,  1772,  1777,  1779,  1797,  1800,  1805,  1810,
-  1818,  1820,  1833,  1837,  1840,  1843,  1848,  1851,  1859,  1862,
-  1864,  1866,  1869,  1872,  1887,  1906,  1909,  1911,  1914,  1916,
-  1920,  1922,  1926,  1928,  1932,  1935,  1939,  1944,  1945,  1958,
-  1965,  1966,  1972,  1977,  1982,  1988,  1989,  1996,  1999,  2003,
-  2006,  2010,  2015,  2018,  2022,  2025,  2027,  2029,  2031,  2038,
-  2040,  2041,  2042,  2046,  2049,  2053,  2056,  2062,  2064,  2067,
-  2070,  2073,  2079,  2082,  2085,  2087,  2089,  2093,  2100,  2106,
-  2111,  2117,  2119,  2124,  2127,  2130,  2132,  2134,  2138,  2142,
-  2147,  2150,  2155,  2158,  2161,  2167,  2169,  2181,  2185,  2190,
-  2216,  2218,  2221,  2223,  2228,  2230,  2232,  2234,  2236,  2238,
-  2242,  2250,  2253,  2255,  2259,  2266,  2272,  2278,  2284,  2294,
-  2300,  2304,  2311,  2339,  2349,  2355,  2358,  2361,  2363,  2367,
-  2369,  2373,  2376,  2380,  2388,  2391,  2393,  2397,  2408,  2422,
-  2423,  2424,  2425,  2428,  2437,  2442,  2448,  2450,  2455,  2457,
-  2459,  2461,  2463,  2465,  2468,  2478,  2485,  2510,  2516,  2519,
-  2522,  2524,  2535,  2540,  2543,  2548,  2551,  2558,  2568,  2571,
-  2578,  2588,  2590,  2593,  2595,  2598,  2602,  2607,  2611,  2614,
-  2617,  2622,  2625,  2629,  2632,  2634,  2638,  2640,  2647,  2649,
-  2652,  2655,  2660,  2664,  2669,  2679,  2682,  2686,  2690,  2699,
-  2702,  2704,  2706,  2712,  2714,  2723,  2726,  2728,  2730,  2732,
-  2736,  2739,  2742,  2744,  2746,  2748,  2752,  2755,  2766,  2776,
-  2778,  2779,  2783,  2791,  2793,  2801,  2804,  2806,  2808,  2810,
-  2814,  2817,  2820,  2822,  2824,  2826,  2830,  2833,  2836,  2838,
-  2840,  2842,  2844,  2851,  2855,  2860,  2864,  2869,  2871,  2875,
-  2878,  2880,  2884,  2886,  2887,  2890,  2892,  2894,  2901,  2912,
-  2918,  2924,  2938,  2940,  2944,  2958,  2960,  2962,  2966,  2972,
-  2985,  2988,  2993,  3006,  3012,  3014,  3015,  3016,  3024,  3029,
-  3038,  3039,  3043,  3046,  3052,  3058,  3061,  3063,  3065,  3067,
-  3071,  3075,  3079,  3082,  3086,  3088,  3097,  3100,  3102,  3104,
-  3106,  3108,  3110,  3112,  3114,  3118,  3122,  3126,  3130,  3132,
-  3134,  3136,  3138,  3140,  3142,  3144,  3146,  3154,  3156,  3157,
-  3158,  3161,  3167,  3169,  3174,  3176,  3179,  3192,  3195,  3198,
-  3202,  3205,  3212,  3214,  3217,  3219,  3221,  3224,  3227,  3230,
-  3233,  3235,  3238,  3242,  3244,  3250,  3252,  3253,  3255,  3260,
-  3262,  3264,  3266,  3268,  3271,  3272,  3274,  3277,  3278,  3281,
-  3281,  3284,  3284,  3287,  3287,  3289,  3291,  3293,  3295,  3301,
-  3307,  3309,  3312,  3315,  3318,  3321,  3327,  3329,  3330,  3333,
-  3335,  3336,  3337,  3339,  3342,  3345,  3348,  3354,  3358,  3360,
-  3363,  3365,  3368,  3372,  3374,  3377,  3379,  3382,  3399,  3407,
-  3410,  3412,  3414,  3418,  3421,  3422,  3430,  3433,  3436,  3439,
-  3440,  3446,  3449,  3452,  3454,  3458,  3463,  3466,  3476,  3481,
-  3482,  3489,  3492,  3495,  3497,  3500,  3502,  3512,  3526,  3530,
-  3533,  3535,  3539,  3543,  3546,  3549,  3551,  3555,  3557,  3564,
-  3571,  3574,  3578,  3582,  3586,  3592,  3596,  3601,  3603,  3606,
-  3611,  3617,  3628,  3631,  3633,  3637,  3645,  3648,  3652,  3655,
-  3657,  3659,  3665,  3670,  3673,  3675,  3677,  3679,  3681,  3683,
-  3685,  3687,  3689,  3691,  3693,  3695,  3697,  3699,  3701,  3703,
-  3705,  3707,  3709,  3711,  3713,  3715,  3717,  3719,  3721,  3723,
-  3725,  3727,  3729,  3731,  3733,  3735,  3738,  3740
+   431,   433,   441,   444,   445,   449,   451,   454,   459,   463,
+   469,   473,   477,   481,   484,   486,   488,   491,   493,   496,
+   499,   501,   503,   505,   507,   508,   510,   511,   515,   518,
+   527,   530,   532,   536,   539,   541,   545,   548,   560,   567,
+   575,   577,   578,   580,   584,   587,   593,   596,   598,   603,
+   606,   610,   613,   616,   619,   623,   628,   638,   640,   642,
+   644,   646,   659,   662,   666,   669,   671,   673,   676,   679,
+   683,   685,   687,   689,   694,   696,   698,   700,   702,   703,
+   710,   711,   712,   715,   718,   722,   724,   725,   728,   730,
+   733,   736,   738,   742,   745,   747,   751,   753,   755,   759,
+   761,   763,   767,   769,   771,   777,   781,   784,   787,   790,
+   795,   798,   800,   802,   808,   817,   820,   822,   824,   827,
+   829,   834,   843,   846,   848,   852,   861,   877,   880,   882,
+   883,   886,   893,   899,   901,   903,   905,   907,   910,   913,
+   916,   918,   919,   920,   921,   924,   926,   927,   930,   932,
+   933,   936,   941,   941,   945,   945,   948,   948,   951,   951,
+   955,   955,   960,   960,   963,   963,   966,   968,   971,   978,
+   982,   985,   988,   990,   994,  1000,  1009,  1011,  1019,  1022,
+  1025,  1028,  1032,  1035,  1037,  1040,  1043,  1045,  1047,  1049,
+  1053,  1056,  1059,  1064,  1068,  1073,  1077,  1080,  1081,  1085,
+  1102,  1108,  1111,  1113,  1114,  1115,  1118,  1122,  1123,  1127,
+  1131,  1134,  1136,  1140,  1143,  1146,  1150,  1153,  1155,  1157,
+  1159,  1162,  1166,  1168,  1171,  1173,  1179,  1182,  1185,  1188,
+  1191,  1196,  1199,  1202,  1206,  1208,  1212,  1216,  1218,  1220,
+  1225,  1228,  1233,  1236,  1238,  1246,  1259,  1264,  1270,  1272,
+  1274,  1287,  1290,  1292,  1294,  1296,  1298,  1300,  1302,  1304,
+  1306,  1308,  1310,  1312,  1314,  1316,  1318,  1320,  1322,  1324,
+  1326,  1328,  1330,  1334,  1336,  1338,  1355,  1358,  1360,  1361,
+  1362,  1363,  1364,  1367,  1379,  1382,  1386,  1389,  1391,  1396,
+  1398,  1399,  1402,  1404,  1412,  1414,  1416,  1418,  1422,  1425,
+  1429,  1433,  1434,  1435,  1439,  1447,  1448,  1449,  1459,  1461,
+  1464,  1466,  1477,  1482,  1484,  1486,  1488,  1490,  1492,  1494,
+  1497,  1499,  1510,  1511,  1515,  1519,  1523,  1527,  1529,  1533,
+  1535,  1537,  1545,  1547,  1549,  1551,  1555,  1557,  1559,  1561,
+  1566,  1568,  1570,  1572,  1575,  1577,  1579,  1623,  1626,  1630,
+  1633,  1637,  1640,  1645,  1647,  1651,  1660,  1663,  1670,  1676,
+  1680,  1682,  1687,  1689,  1696,  1698,  1702,  1706,  1712,  1716,
+  1719,  1723,  1726,  1736,  1739,  1743,  1747,  1750,  1753,  1756,
+  1759,  1765,  1771,  1773,  1778,  1780,  1798,  1801,  1806,  1811,
+  1819,  1821,  1834,  1838,  1841,  1844,  1849,  1852,  1860,  1863,
+  1865,  1867,  1870,  1873,  1888,  1907,  1910,  1912,  1915,  1917,
+  1921,  1923,  1927,  1929,  1933,  1936,  1940,  1945,  1946,  1959,
+  1966,  1967,  1973,  1978,  1983,  1989,  1990,  1997,  2000,  2004,
+  2007,  2011,  2016,  2019,  2023,  2026,  2028,  2030,  2032,  2039,
+  2041,  2042,  2043,  2047,  2050,  2054,  2057,  2063,  2065,  2068,
+  2071,  2074,  2080,  2083,  2086,  2088,  2090,  2094,  2101,  2107,
+  2112,  2118,  2120,  2125,  2128,  2131,  2133,  2135,  2139,  2143,
+  2148,  2151,  2156,  2159,  2162,  2168,  2170,  2182,  2186,  2191,
+  2217,  2219,  2222,  2224,  2229,  2231,  2233,  2235,  2237,  2239,
+  2243,  2251,  2254,  2256,  2260,  2267,  2273,  2279,  2285,  2295,
+  2301,  2305,  2312,  2340,  2350,  2356,  2359,  2362,  2364,  2368,
+  2370,  2374,  2377,  2381,  2389,  2392,  2394,  2398,  2409,  2423,
+  2424,  2425,  2426,  2429,  2438,  2443,  2449,  2451,  2456,  2458,
+  2460,  2462,  2464,  2466,  2469,  2479,  2486,  2511,  2517,  2520,
+  2523,  2525,  2536,  2541,  2544,  2549,  2552,  2559,  2569,  2572,
+  2579,  2589,  2591,  2594,  2596,  2599,  2603,  2608,  2612,  2615,
+  2618,  2623,  2626,  2630,  2633,  2635,  2639,  2641,  2648,  2650,
+  2653,  2656,  2661,  2665,  2670,  2680,  2683,  2687,  2691,  2700,
+  2703,  2705,  2707,  2713,  2715,  2724,  2727,  2729,  2731,  2733,
+  2737,  2740,  2743,  2745,  2747,  2749,  2753,  2756,  2767,  2777,
+  2779,  2780,  2784,  2792,  2794,  2802,  2805,  2807,  2809,  2811,
+  2815,  2818,  2821,  2823,  2825,  2827,  2831,  2834,  2837,  2839,
+  2841,  2843,  2845,  2852,  2856,  2861,  2865,  2870,  2872,  2876,
+  2879,  2881,  2885,  2887,  2888,  2891,  2893,  2895,  2902,  2913,
+  2919,  2925,  2939,  2941,  2945,  2959,  2961,  2963,  2967,  2973,
+  2986,  2989,  2994,  3007,  3013,  3015,  3016,  3017,  3025,  3030,
+  3039,  3040,  3044,  3047,  3053,  3059,  3062,  3064,  3066,  3068,
+  3072,  3076,  3080,  3083,  3087,  3089,  3098,  3101,  3103,  3105,
+  3107,  3109,  3111,  3113,  3115,  3119,  3123,  3127,  3131,  3133,
+  3135,  3137,  3139,  3141,  3143,  3145,  3147,  3155,  3157,  3158,
+  3159,  3162,  3168,  3170,  3175,  3177,  3180,  3193,  3196,  3199,
+  3203,  3206,  3213,  3215,  3218,  3220,  3222,  3225,  3228,  3231,
+  3234,  3236,  3239,  3243,  3245,  3251,  3253,  3254,  3256,  3261,
+  3263,  3265,  3267,  3269,  3272,  3273,  3275,  3278,  3279,  3282,
+  3282,  3285,  3285,  3288,  3288,  3290,  3292,  3294,  3296,  3302,
+  3308,  3310,  3313,  3316,  3319,  3322,  3328,  3330,  3331,  3334,
+  3336,  3337,  3338,  3340,  3343,  3346,  3349,  3355,  3359,  3361,
+  3364,  3366,  3369,  3373,  3375,  3378,  3380,  3383,  3400,  3408,
+  3411,  3413,  3415,  3419,  3422,  3423,  3431,  3434,  3437,  3440,
+  3441,  3447,  3450,  3453,  3455,  3459,  3464,  3467,  3477,  3482,
+  3483,  3490,  3493,  3496,  3498,  3501,  3503,  3513,  3527,  3531,
+  3534,  3536,  3540,  3544,  3547,  3550,  3552,  3556,  3558,  3565,
+  3572,  3575,  3579,  3583,  3587,  3593,  3597,  3602,  3604,  3607,
+  3612,  3618,  3629,  3632,  3634,  3638,  3646,  3649,  3653,  3656,
+  3658,  3660,  3666,  3671,  3674,  3676,  3678,  3680,  3682,  3684,
+  3686,  3688,  3690,  3692,  3694,  3696,  3698,  3700,  3702,  3704,
+  3706,  3708,  3710,  3712,  3714,  3716,  3718,  3720,  3722,  3724,
+  3726,  3728,  3730,  3732,  3734,  3736,  3739,  3741
 };
 #endif
 
@@ -4573,107 +4573,107 @@ yyreduce:
   switch (yyn) {
 
 case 2:
-#line 433 "parse.y"
+#line 434 "parse.y"
 { finish_translation_unit (); ;
     break;}
 case 3:
-#line 441 "parse.y"
+#line 442 "parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 4:
-#line 443 "parse.y"
+#line 444 "parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 5:
-#line 445 "parse.y"
+#line 446 "parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 8:
-#line 454 "parse.y"
+#line 455 "parse.y"
 { have_extern_spec = 1;
                  used_extern_spec = 0;
                  yyval.ttype = NULL_TREE; ;
     break;}
 case 9:
-#line 459 "parse.y"
+#line 460 "parse.y"
 { have_extern_spec = 0; ;
     break;}
 case 10:
-#line 464 "parse.y"
+#line 465 "parse.y"
 { yyval.itype = pedantic;
                  pedantic = 0; ;
     break;}
 case 12:
-#line 473 "parse.y"
+#line 474 "parse.y"
 { if (pending_lang_change) do_pending_lang_change();
                  type_lookups = NULL_TREE; ;
     break;}
 case 13:
-#line 476 "parse.y"
+#line 477 "parse.y"
 { if (! toplevel_bindings_p ())
                  pop_everything (); ;
     break;}
 case 14:
-#line 482 "parse.y"
+#line 483 "parse.y"
 { if (pending_inlines) do_pending_inlines (); ;
     break;}
 case 15:
-#line 484 "parse.y"
+#line 485 "parse.y"
 { if (pending_inlines) do_pending_inlines (); ;
     break;}
 case 16:
-#line 486 "parse.y"
+#line 487 "parse.y"
 { if (pending_inlines) do_pending_inlines (); ;
     break;}
 case 17:
-#line 488 "parse.y"
+#line 489 "parse.y"
 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
                  assemble_asm (yyvsp[-2].ttype); ;
     break;}
 case 18:
-#line 491 "parse.y"
+#line 492 "parse.y"
 { pop_lang_context (); ;
     break;}
 case 19:
-#line 493 "parse.y"
+#line 494 "parse.y"
 { if (pending_inlines) do_pending_inlines ();
                  pop_lang_context (); ;
     break;}
 case 20:
-#line 496 "parse.y"
+#line 497 "parse.y"
 { if (pending_inlines) do_pending_inlines ();
                  pop_lang_context (); ;
     break;}
 case 21:
-#line 499 "parse.y"
+#line 500 "parse.y"
 { push_namespace (yyvsp[-1].ttype); ;
     break;}
 case 22:
-#line 501 "parse.y"
+#line 502 "parse.y"
 { pop_namespace (); ;
     break;}
 case 23:
-#line 503 "parse.y"
+#line 504 "parse.y"
 { push_namespace (NULL_TREE); ;
     break;}
 case 24:
-#line 505 "parse.y"
+#line 506 "parse.y"
 { pop_namespace (); ;
     break;}
 case 26:
-#line 508 "parse.y"
+#line 509 "parse.y"
 { do_toplevel_using_decl (yyvsp[-1].ttype); ;
     break;}
 case 28:
-#line 511 "parse.y"
+#line 512 "parse.y"
 { pedantic = yyvsp[-1].itype; ;
     break;}
 case 29:
-#line 516 "parse.y"
+#line 517 "parse.y"
 { begin_only_namespace_names (); ;
     break;}
 case 30:
-#line 518 "parse.y"
+#line 519 "parse.y"
 {
                  end_only_namespace_names ();
                  if (lastiddecl)
@@ -4682,35 +4682,35 @@ case 30:
                ;
     break;}
 case 31:
-#line 528 "parse.y"
+#line 529 "parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 32:
-#line 530 "parse.y"
+#line 531 "parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 33:
-#line 532 "parse.y"
+#line 533 "parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 34:
-#line 537 "parse.y"
+#line 538 "parse.y"
 { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 35:
-#line 539 "parse.y"
+#line 540 "parse.y"
 { yyval.ttype = build_parse_node (SCOPE_REF, global_namespace, yyvsp[0].ttype); ;
     break;}
 case 36:
-#line 541 "parse.y"
+#line 542 "parse.y"
 { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 37:
-#line 546 "parse.y"
+#line 547 "parse.y"
 { begin_only_namespace_names (); ;
     break;}
 case 38:
-#line 548 "parse.y"
+#line 549 "parse.y"
 {
                  end_only_namespace_names ();
                  /* If no declaration was found, the using-directive is
@@ -4722,7 +4722,7 @@ case 38:
                ;
     break;}
 case 39:
-#line 561 "parse.y"
+#line 562 "parse.y"
 {
                  if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
                    yyval.ttype = lastiddecl;
@@ -4730,7 +4730,7 @@ case 39:
                ;
     break;}
 case 40:
-#line 567 "parse.y"
+#line 568 "parse.y"
 {
                  yyval.ttype = yyvsp[-1].ttype;
                  if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
@@ -4739,86 +4739,86 @@ case 40:
                ;
     break;}
 case 43:
-#line 578 "parse.y"
+#line 579 "parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 44:
-#line 580 "parse.y"
+#line 581 "parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 45:
-#line 585 "parse.y"
+#line 586 "parse.y"
 { push_lang_context (yyvsp[0].ttype); ;
     break;}
 case 46:
-#line 587 "parse.y"
+#line 588 "parse.y"
 { if (current_lang_name != yyvsp[0].ttype)
                    cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name);
                  pop_lang_context (); push_lang_context (yyvsp[0].ttype); ;
     break;}
 case 47:
-#line 594 "parse.y"
+#line 595 "parse.y"
 { begin_template_parm_list (); ;
     break;}
 case 48:
-#line 596 "parse.y"
+#line 597 "parse.y"
 { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
     break;}
 case 49:
-#line 598 "parse.y"
+#line 599 "parse.y"
 { begin_specialization(); 
                  yyval.ttype = NULL_TREE; ;
     break;}
 case 50:
-#line 604 "parse.y"
+#line 605 "parse.y"
 { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 51:
-#line 606 "parse.y"
+#line 607 "parse.y"
 { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 52:
-#line 611 "parse.y"
+#line 612 "parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 53:
-#line 613 "parse.y"
+#line 614 "parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 54:
-#line 617 "parse.y"
+#line 618 "parse.y"
 { yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 55:
-#line 619 "parse.y"
+#line 620 "parse.y"
 { yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ;
     break;}
 case 56:
-#line 624 "parse.y"
+#line 625 "parse.y"
 { yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 57:
-#line 636 "parse.y"
+#line 637 "parse.y"
 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 58:
-#line 638 "parse.y"
+#line 639 "parse.y"
 { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
     break;}
 case 59:
-#line 640 "parse.y"
+#line 641 "parse.y"
 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
     break;}
 case 60:
-#line 642 "parse.y"
+#line 643 "parse.y"
 { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
     break;}
 case 61:
-#line 644 "parse.y"
+#line 645 "parse.y"
 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 62:
-#line 646 "parse.y"
+#line 647 "parse.y"
 {
                  if (TREE_CODE (yyvsp[0].ttype) != TEMPLATE_DECL
                      && TREE_CODE (yyvsp[0].ttype) != TEMPLATE_TEMPLATE_PARM
@@ -4831,66 +4831,66 @@ case 62:
                ;
     break;}
 case 63:
-#line 660 "parse.y"
+#line 661 "parse.y"
 { finish_template_decl (yyvsp[-1].ttype); ;
     break;}
 case 64:
-#line 662 "parse.y"
+#line 663 "parse.y"
 { finish_template_decl (yyvsp[-1].ttype); ;
     break;}
 case 65:
-#line 667 "parse.y"
+#line 668 "parse.y"
 { if (pending_inlines) do_pending_inlines (); ;
     break;}
 case 66:
-#line 669 "parse.y"
+#line 670 "parse.y"
 { if (pending_inlines) do_pending_inlines (); ;
     break;}
 case 67:
-#line 671 "parse.y"
+#line 672 "parse.y"
 { if (pending_inlines) do_pending_inlines (); ;
     break;}
 case 68:
-#line 673 "parse.y"
+#line 674 "parse.y"
 { if (pending_inlines) do_pending_inlines ();
                  pop_lang_context (); ;
     break;}
 case 69:
-#line 676 "parse.y"
+#line 677 "parse.y"
 { if (pending_inlines) do_pending_inlines ();
                  pop_lang_context (); ;
     break;}
 case 70:
-#line 679 "parse.y"
+#line 680 "parse.y"
 { pedantic = yyvsp[-1].itype; ;
     break;}
 case 72:
-#line 685 "parse.y"
+#line 686 "parse.y"
 {;
     break;}
 case 73:
-#line 687 "parse.y"
+#line 688 "parse.y"
 { note_list_got_semicolon (yyvsp[-2].ftype.t); ;
     break;}
 case 74:
-#line 689 "parse.y"
+#line 690 "parse.y"
 { maybe_process_partial_specialization (yyvsp[-1].ftype.t);
                  note_got_semicolon (yyvsp[-1].ftype.t); ;
     break;}
 case 76:
-#line 696 "parse.y"
+#line 697 "parse.y"
 {;
     break;}
 case 77:
-#line 698 "parse.y"
+#line 699 "parse.y"
 { note_list_got_semicolon (yyvsp[-2].ftype.t); ;
     break;}
 case 78:
-#line 700 "parse.y"
+#line 701 "parse.y"
 { pedwarn ("empty declaration"); ;
     break;}
 case 80:
-#line 703 "parse.y"
+#line 704 "parse.y"
 {
                  tree t, attrs;
                  split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs);
@@ -4899,124 +4899,124 @@ case 80:
                ;
     break;}
 case 84:
-#line 716 "parse.y"
+#line 717 "parse.y"
 { yyval.itype = 0; ;
     break;}
 case 85:
-#line 718 "parse.y"
+#line 719 "parse.y"
 { yyval.itype = 1; ;
     break;}
 case 91:
-#line 734 "parse.y"
+#line 735 "parse.y"
 { expand_body (finish_function (lineno, (int)yyvsp[-1].itype)); ;
     break;}
 case 92:
-#line 736 "parse.y"
+#line 737 "parse.y"
 { expand_body (finish_function (lineno, (int)yyvsp[0].itype)); ;
     break;}
 case 93:
-#line 738 "parse.y"
+#line 739 "parse.y"
 { ;
     break;}
 case 94:
-#line 743 "parse.y"
+#line 744 "parse.y"
 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
     break;}
 case 95:
-#line 745 "parse.y"
+#line 746 "parse.y"
 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 96:
-#line 747 "parse.y"
+#line 748 "parse.y"
 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype); 
                  yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
                ;
     break;}
 case 97:
-#line 751 "parse.y"
+#line 752 "parse.y"
 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
     break;}
 case 98:
-#line 753 "parse.y"
+#line 754 "parse.y"
 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 99:
-#line 755 "parse.y"
+#line 756 "parse.y"
 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
                  yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
                ;
     break;}
 case 100:
-#line 759 "parse.y"
+#line 760 "parse.y"
 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
     break;}
 case 101:
-#line 761 "parse.y"
+#line 762 "parse.y"
 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 102:
-#line 763 "parse.y"
+#line 764 "parse.y"
 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
                  yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
                ;
     break;}
 case 103:
-#line 767 "parse.y"
+#line 768 "parse.y"
 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
     break;}
 case 104:
-#line 769 "parse.y"
+#line 770 "parse.y"
 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 105:
-#line 771 "parse.y"
+#line 772 "parse.y"
 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype); 
                  yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
                ;
     break;}
 case 106:
-#line 778 "parse.y"
+#line 779 "parse.y"
 { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
                    YYERROR1; ;
     break;}
 case 107:
-#line 781 "parse.y"
+#line 782 "parse.y"
 { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
                    YYERROR1; ;
     break;}
 case 108:
-#line 784 "parse.y"
+#line 785 "parse.y"
 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
                    YYERROR1; ;
     break;}
 case 109:
-#line 787 "parse.y"
+#line 788 "parse.y"
 { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
                    YYERROR1; ;
     break;}
 case 110:
-#line 790 "parse.y"
+#line 791 "parse.y"
 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
                    YYERROR1; ;
     break;}
 case 111:
-#line 796 "parse.y"
+#line 797 "parse.y"
 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 112:
-#line 798 "parse.y"
+#line 799 "parse.y"
 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 113:
-#line 800 "parse.y"
+#line 801 "parse.y"
 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 114:
-#line 802 "parse.y"
+#line 803 "parse.y"
 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 115:
-#line 809 "parse.y"
+#line 810 "parse.y"
 { yyval.ttype = parse_method (yyvsp[0].ttype, yyvsp[-1].ftype.t, yyvsp[-1].ftype.lookups);
                 rest_of_mdef:
                  if (! yyval.ttype)
@@ -5026,34 +5026,34 @@ case 115:
                  reinit_parse_for_method (yychar, yyval.ttype); ;
     break;}
 case 116:
-#line 817 "parse.y"
+#line 818 "parse.y"
 { yyval.ttype = parse_method (yyvsp[0].ttype, NULL_TREE, NULL_TREE); 
                  goto rest_of_mdef; ;
     break;}
 case 117:
-#line 820 "parse.y"
+#line 821 "parse.y"
 { yyval.ttype = parse_method (yyvsp[0].ttype, yyvsp[-1].ftype.t, yyvsp[-1].ftype.lookups); goto rest_of_mdef;;
     break;}
 case 118:
-#line 822 "parse.y"
+#line 823 "parse.y"
 { yyval.ttype = parse_method (yyvsp[0].ttype, yyvsp[-1].ftype.t, yyvsp[-1].ftype.lookups); goto rest_of_mdef;;
     break;}
 case 119:
-#line 824 "parse.y"
+#line 825 "parse.y"
 { yyval.ttype = parse_method (yyvsp[0].ttype, NULL_TREE, NULL_TREE); 
                  goto rest_of_mdef; ;
     break;}
 case 120:
-#line 827 "parse.y"
+#line 828 "parse.y"
 { yyval.ttype = parse_method (yyvsp[0].ttype, yyvsp[-1].ftype.t, yyvsp[-1].ftype.lookups); goto rest_of_mdef;;
     break;}
 case 121:
-#line 829 "parse.y"
+#line 830 "parse.y"
 { yyval.ttype = parse_method (yyvsp[0].ttype, NULL_TREE, NULL_TREE); 
                  goto rest_of_mdef; ;
     break;}
 case 122:
-#line 835 "parse.y"
+#line 836 "parse.y"
 {
                  if (! current_function_parms_stored)
                    store_parm_decls ();
@@ -5061,19 +5061,19 @@ case 122:
                ;
     break;}
 case 123:
-#line 844 "parse.y"
+#line 845 "parse.y"
 { finish_named_return_value (yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 124:
-#line 846 "parse.y"
+#line 847 "parse.y"
 { finish_named_return_value (yyval.ttype, yyvsp[-1].ttype); ;
     break;}
 case 125:
-#line 848 "parse.y"
+#line 849 "parse.y"
 { finish_named_return_value (yyval.ttype, NULL_TREE); ;
     break;}
 case 126:
-#line 853 "parse.y"
+#line 854 "parse.y"
 {
                  if (yyvsp[0].itype == 0)
                    error ("no base initializers given following ':'");
@@ -5081,7 +5081,7 @@ case 126:
                ;
     break;}
 case 127:
-#line 862 "parse.y"
+#line 863 "parse.y"
 {
                  if (! current_function_parms_stored)
                    store_parm_decls ();
@@ -5096,15 +5096,15 @@ case 127:
                ;
     break;}
 case 128:
-#line 878 "parse.y"
+#line 879 "parse.y"
 { yyval.itype = 0; ;
     break;}
 case 129:
-#line 880 "parse.y"
+#line 881 "parse.y"
 { yyval.itype = 1; ;
     break;}
 case 132:
-#line 887 "parse.y"
+#line 888 "parse.y"
 {
                  if (current_class_name)
                    pedwarn ("anachronistic old style base class initializer");
@@ -5112,7 +5112,7 @@ case 132:
                ;
     break;}
 case 133:
-#line 893 "parse.y"
+#line 894 "parse.y"
 {
                  if (current_class_name)
                    pedwarn ("anachronistic old style base class initializer");
@@ -5120,93 +5120,93 @@ case 133:
                ;
     break;}
 case 134:
-#line 899 "parse.y"
+#line 900 "parse.y"
 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 135:
-#line 901 "parse.y"
+#line 902 "parse.y"
 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
     break;}
 case 136:
-#line 903 "parse.y"
+#line 904 "parse.y"
 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 137:
-#line 905 "parse.y"
+#line 906 "parse.y"
 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
     break;}
 case 138:
-#line 907 "parse.y"
+#line 908 "parse.y"
 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype),
                                      yyvsp[-1].ttype); ;
     break;}
 case 139:
-#line 910 "parse.y"
+#line 911 "parse.y"
 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype),
                                      void_type_node); ;
     break;}
 case 152:
-#line 937 "parse.y"
+#line 938 "parse.y"
 { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
                  yyungetc (';', 1); ;
     break;}
 case 154:
-#line 941 "parse.y"
+#line 942 "parse.y"
 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
                  do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 156:
-#line 945 "parse.y"
+#line 946 "parse.y"
 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 158:
-#line 948 "parse.y"
+#line 949 "parse.y"
 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 160:
-#line 951 "parse.y"
+#line 952 "parse.y"
 { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype);
                  yyungetc (';', 1); ;
     break;}
 case 162:
-#line 956 "parse.y"
+#line 957 "parse.y"
 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
                  do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ;
     break;}
 case 164:
-#line 960 "parse.y"
+#line 961 "parse.y"
 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
     break;}
 case 166:
-#line 963 "parse.y"
+#line 964 "parse.y"
 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
     break;}
 case 168:
-#line 968 "parse.y"
+#line 969 "parse.y"
 { begin_explicit_instantiation(); ;
     break;}
 case 169:
-#line 971 "parse.y"
+#line 972 "parse.y"
 { end_explicit_instantiation(); ;
     break;}
 case 170:
-#line 980 "parse.y"
+#line 981 "parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 171:
-#line 983 "parse.y"
+#line 984 "parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 174:
-#line 991 "parse.y"
+#line 992 "parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 175:
-#line 996 "parse.y"
+#line 997 "parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 176:
-#line 1000 "parse.y"
+#line 1001 "parse.y"
 { 
                  if (yychar == YYEMPTY)
                    yychar = YYLEX;
@@ -5216,7 +5216,7 @@ case 176:
                ;
     break;}
 case 178:
-#line 1011 "parse.y"
+#line 1012 "parse.y"
 {
                  /* Handle `Class<Class<Type>>' without space in the `>>' */
                  pedwarn ("`>>' should be `> >' in template class name");
@@ -5224,79 +5224,79 @@ case 178:
                ;
     break;}
 case 179:
-#line 1020 "parse.y"
+#line 1021 "parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 181:
-#line 1026 "parse.y"
+#line 1027 "parse.y"
 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
     break;}
 case 182:
-#line 1028 "parse.y"
+#line 1029 "parse.y"
 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
     break;}
 case 183:
-#line 1033 "parse.y"
+#line 1034 "parse.y"
 { yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
     break;}
 case 184:
-#line 1035 "parse.y"
+#line 1036 "parse.y"
 { yyval.ttype = lastiddecl; ;
     break;}
 case 186:
-#line 1041 "parse.y"
+#line 1042 "parse.y"
 { yyval.code = NEGATE_EXPR; ;
     break;}
 case 187:
-#line 1043 "parse.y"
+#line 1044 "parse.y"
 { yyval.code = CONVERT_EXPR; ;
     break;}
 case 188:
-#line 1045 "parse.y"
+#line 1046 "parse.y"
 { yyval.code = PREINCREMENT_EXPR; ;
     break;}
 case 189:
-#line 1047 "parse.y"
+#line 1048 "parse.y"
 { yyval.code = PREDECREMENT_EXPR; ;
     break;}
 case 190:
-#line 1049 "parse.y"
+#line 1050 "parse.y"
 { yyval.code = TRUTH_NOT_EXPR; ;
     break;}
 case 191:
-#line 1054 "parse.y"
+#line 1055 "parse.y"
 { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
     break;}
 case 193:
-#line 1060 "parse.y"
+#line 1061 "parse.y"
 { error ("ISO C++ forbids an empty condition for `%s'",
                         cond_stmt_keyword);
                  yyval.ttype = integer_zero_node; ;
     break;}
 case 194:
-#line 1064 "parse.y"
+#line 1065 "parse.y"
 { yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 195:
-#line 1069 "parse.y"
+#line 1070 "parse.y"
 { error ("ISO C++ forbids an empty condition for `%s'",
                         cond_stmt_keyword);
                  yyval.ttype = integer_zero_node; ;
     break;}
 case 196:
-#line 1073 "parse.y"
+#line 1074 "parse.y"
 { yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 197:
-#line 1078 "parse.y"
+#line 1079 "parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 199:
-#line 1081 "parse.y"
+#line 1082 "parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 200:
-#line 1086 "parse.y"
+#line 1087 "parse.y"
 { {
                  tree d;
                  for (d = getdecls (); d; d = TREE_CHAIN (d))
@@ -5313,7 +5313,7 @@ case 200:
                ;
     break;}
 case 201:
-#line 1101 "parse.y"
+#line 1102 "parse.y"
 { 
                  parse_end_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
                  yyval.ttype = convert_from_reference (yyvsp[-1].ttype); 
@@ -5322,180 +5322,180 @@ case 201:
                ;
     break;}
 case 207:
-#line 1119 "parse.y"
+#line 1120 "parse.y"
 { yyval.ttype = begin_compound_stmt (1); ;
     break;}
 case 208:
-#line 1121 "parse.y"
+#line 1122 "parse.y"
 { finish_compound_stmt (1, yyvsp[-1].ttype); ;
     break;}
 case 210:
-#line 1128 "parse.y"
+#line 1129 "parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, 
                                  build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
     break;}
 case 211:
-#line 1131 "parse.y"
+#line 1132 "parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, 
                                  build_tree_list (NULL_TREE, error_mark_node)); ;
     break;}
 case 212:
-#line 1134 "parse.y"
+#line 1135 "parse.y"
 { chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
     break;}
 case 213:
-#line 1136 "parse.y"
+#line 1137 "parse.y"
 { chainon (yyval.ttype, build_tree_list (NULL_TREE, error_mark_node)); ;
     break;}
 case 214:
-#line 1141 "parse.y"
+#line 1142 "parse.y"
 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
     break;}
 case 216:
-#line 1147 "parse.y"
+#line 1148 "parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 217:
-#line 1150 "parse.y"
+#line 1151 "parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  pedantic = yyvsp[-1].itype; ;
     break;}
 case 218:
-#line 1153 "parse.y"
+#line 1154 "parse.y"
 { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
     break;}
 case 219:
-#line 1155 "parse.y"
+#line 1156 "parse.y"
 { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
     break;}
 case 220:
-#line 1157 "parse.y"
+#line 1158 "parse.y"
 { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
     break;}
 case 221:
-#line 1159 "parse.y"
+#line 1160 "parse.y"
 { yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ;
     break;}
 case 222:
-#line 1162 "parse.y"
+#line 1163 "parse.y"
 { if (pedantic)
                    pedwarn ("ISO C++ forbids `&&'");
                  yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ;
     break;}
 case 223:
-#line 1166 "parse.y"
+#line 1167 "parse.y"
 { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
     break;}
 case 224:
-#line 1168 "parse.y"
+#line 1169 "parse.y"
 { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t));
                  check_for_new_type ("sizeof", yyvsp[-1].ftype); ;
     break;}
 case 225:
-#line 1171 "parse.y"
+#line 1172 "parse.y"
 { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
     break;}
 case 226:
-#line 1173 "parse.y"
+#line 1174 "parse.y"
 { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t)); 
                  check_for_new_type ("alignof", yyvsp[-1].ftype); ;
     break;}
 case 227:
-#line 1179 "parse.y"
+#line 1180 "parse.y"
 { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype); 
                  check_for_new_type ("new", yyvsp[0].ftype); ;
     break;}
 case 228:
-#line 1182 "parse.y"
+#line 1183 "parse.y"
 { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype); 
                  check_for_new_type ("new", yyvsp[-1].ftype); ;
     break;}
 case 229:
-#line 1185 "parse.y"
+#line 1186 "parse.y"
 { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype); 
                  check_for_new_type ("new", yyvsp[0].ftype); ;
     break;}
 case 230:
-#line 1188 "parse.y"
+#line 1189 "parse.y"
 { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype); 
                  check_for_new_type ("new", yyvsp[-1].ftype); ;
     break;}
 case 231:
-#line 1192 "parse.y"
+#line 1193 "parse.y"
 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
                                  NULL_TREE, yyvsp[-3].itype); 
                  check_for_new_type ("new", yyvsp[-1].ftype); ;
     break;}
 case 232:
-#line 1196 "parse.y"
+#line 1197 "parse.y"
 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-4].itype); 
                  check_for_new_type ("new", yyvsp[-2].ftype); ;
     break;}
 case 233:
-#line 1199 "parse.y"
+#line 1200 "parse.y"
 { yyval.ttype = build_new (yyvsp[-3].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-4].itype); 
                  check_for_new_type ("new", yyvsp[-1].ftype); ;
     break;}
 case 234:
-#line 1202 "parse.y"
+#line 1203 "parse.y"
 { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype); 
                  check_for_new_type ("new", yyvsp[-2].ftype); ;
     break;}
 case 235:
-#line 1206 "parse.y"
+#line 1207 "parse.y"
 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
     break;}
 case 236:
-#line 1208 "parse.y"
+#line 1209 "parse.y"
 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
                  if (yychar == YYEMPTY)
                    yychar = YYLEX; ;
     break;}
 case 237:
-#line 1212 "parse.y"
+#line 1213 "parse.y"
 { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
                  if (yychar == YYEMPTY)
                    yychar = YYLEX; ;
     break;}
 case 238:
-#line 1216 "parse.y"
+#line 1217 "parse.y"
 { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
     break;}
 case 239:
-#line 1218 "parse.y"
+#line 1219 "parse.y"
 { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
     break;}
 case 240:
-#line 1220 "parse.y"
+#line 1221 "parse.y"
 { yyval.ttype = build_x_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ftype.t));
                  check_for_new_type ("__builtin_va_arg", yyvsp[-1].ftype); ;
     break;}
 case 241:
-#line 1226 "parse.y"
+#line 1227 "parse.y"
 { yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 242:
-#line 1228 "parse.y"
+#line 1229 "parse.y"
 { cp_pedwarn ("old style placement syntax, use () instead");
                  yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 243:
-#line 1234 "parse.y"
+#line 1235 "parse.y"
 { yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 244:
-#line 1236 "parse.y"
+#line 1237 "parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 245:
-#line 1238 "parse.y"
+#line 1239 "parse.y"
 {
                  cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
                  yyval.ttype = error_mark_node;
                ;
     break;}
 case 246:
-#line 1246 "parse.y"
+#line 1247 "parse.y"
 {
                  if (pedantic)
                    pedwarn ("ISO C++ forbids initialization of new expression with `='");
@@ -5507,23 +5507,23 @@ case 246:
                ;
     break;}
 case 247:
-#line 1260 "parse.y"
+#line 1261 "parse.y"
 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
                  yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
                  check_for_new_type ("cast", yyvsp[-1].ftype); ;
     break;}
 case 248:
-#line 1264 "parse.y"
+#line 1265 "parse.y"
 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0); 
                  yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
                  check_for_new_type ("cast", yyvsp[-1].ftype); ;
     break;}
 case 250:
-#line 1272 "parse.y"
+#line 1273 "parse.y"
 { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 251:
-#line 1274 "parse.y"
+#line 1275 "parse.y"
 { 
                  tree init = build_nt (CONSTRUCTOR, NULL_TREE,
                                        nreverse (yyvsp[-2].ttype)); 
@@ -5536,113 +5536,113 @@ case 251:
                ;
     break;}
 case 253:
-#line 1290 "parse.y"
+#line 1291 "parse.y"
 { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 254:
-#line 1292 "parse.y"
+#line 1293 "parse.y"
 { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 255:
-#line 1294 "parse.y"
+#line 1295 "parse.y"
 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 256:
-#line 1296 "parse.y"
+#line 1297 "parse.y"
 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 257:
-#line 1298 "parse.y"
+#line 1299 "parse.y"
 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 258:
-#line 1300 "parse.y"
+#line 1301 "parse.y"
 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 259:
-#line 1302 "parse.y"
+#line 1303 "parse.y"
 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 260:
-#line 1304 "parse.y"
+#line 1305 "parse.y"
 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 261:
-#line 1306 "parse.y"
+#line 1307 "parse.y"
 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 262:
-#line 1308 "parse.y"
+#line 1309 "parse.y"
 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 263:
-#line 1310 "parse.y"
+#line 1311 "parse.y"
 { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 264:
-#line 1312 "parse.y"
+#line 1313 "parse.y"
 { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 265:
-#line 1314 "parse.y"
+#line 1315 "parse.y"
 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 266:
-#line 1316 "parse.y"
+#line 1317 "parse.y"
 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 267:
-#line 1318 "parse.y"
+#line 1319 "parse.y"
 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 268:
-#line 1320 "parse.y"
+#line 1321 "parse.y"
 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 269:
-#line 1322 "parse.y"
+#line 1323 "parse.y"
 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 270:
-#line 1324 "parse.y"
+#line 1325 "parse.y"
 { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 271:
-#line 1326 "parse.y"
+#line 1327 "parse.y"
 { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 272:
-#line 1328 "parse.y"
+#line 1329 "parse.y"
 { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 273:
-#line 1330 "parse.y"
+#line 1331 "parse.y"
 { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
                  if (yyval.ttype != error_mark_node)
                     C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
     break;}
 case 274:
-#line 1334 "parse.y"
+#line 1335 "parse.y"
 { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
     break;}
 case 275:
-#line 1336 "parse.y"
+#line 1337 "parse.y"
 { yyval.ttype = build_throw (NULL_TREE); ;
     break;}
 case 276:
-#line 1338 "parse.y"
+#line 1339 "parse.y"
 { yyval.ttype = build_throw (yyvsp[0].ttype); ;
     break;}
 case 277:
-#line 1356 "parse.y"
+#line 1357 "parse.y"
 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
     break;}
 case 278:
-#line 1358 "parse.y"
+#line 1359 "parse.y"
 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
     break;}
 case 284:
-#line 1367 "parse.y"
+#line 1368 "parse.y"
 {
                  /* If lastiddecl is a TREE_LIST, it's a baselink, which
                     means that we're in an expression like S::f<int>, so
@@ -5655,27 +5655,27 @@ case 284:
                ;
     break;}
 case 285:
-#line 1380 "parse.y"
+#line 1381 "parse.y"
 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
     break;}
 case 286:
-#line 1382 "parse.y"
+#line 1383 "parse.y"
 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
     break;}
 case 287:
-#line 1387 "parse.y"
+#line 1388 "parse.y"
 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 288:
-#line 1389 "parse.y"
+#line 1390 "parse.y"
 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 289:
-#line 1392 "parse.y"
+#line 1393 "parse.y"
 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 294:
-#line 1404 "parse.y"
+#line 1405 "parse.y"
 {
                  /* Provide support for '(' attributes '*' declarator ')'
                     etc */
@@ -5683,31 +5683,31 @@ case 294:
                ;
     break;}
 case 296:
-#line 1414 "parse.y"
+#line 1415 "parse.y"
 { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
     break;}
 case 297:
-#line 1416 "parse.y"
+#line 1417 "parse.y"
 { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
     break;}
 case 298:
-#line 1418 "parse.y"
+#line 1419 "parse.y"
 { yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 299:
-#line 1423 "parse.y"
+#line 1424 "parse.y"
 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 300:
-#line 1425 "parse.y"
+#line 1426 "parse.y"
 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 304:
-#line 1435 "parse.y"
+#line 1436 "parse.y"
 { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
     break;}
 case 305:
-#line 1440 "parse.y"
+#line 1441 "parse.y"
 {
                  if (TREE_CODE (yyvsp[0].ttype) == BIT_NOT_EXPR)
                    yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyvsp[0].ttype, 0));
@@ -5716,7 +5716,7 @@ case 305:
                ;
     break;}
 case 308:
-#line 1449 "parse.y"
+#line 1450 "parse.y"
 {
                  yyval.ttype = combine_strings (yyval.ttype);
                  /* combine_strings doesn't set up TYPE_MAIN_VARIANT of
@@ -5728,20 +5728,20 @@ case 308:
                ;
     break;}
 case 309:
-#line 1459 "parse.y"
+#line 1460 "parse.y"
 { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
     break;}
 case 310:
-#line 1461 "parse.y"
+#line 1462 "parse.y"
 { yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
                  yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
     break;}
 case 311:
-#line 1464 "parse.y"
+#line 1465 "parse.y"
 { yyval.ttype = error_mark_node; ;
     break;}
 case 312:
-#line 1466 "parse.y"
+#line 1467 "parse.y"
 { tree scope = current_scope ();
                  if (!scope || TREE_CODE (scope) != FUNCTION_DECL)
                    {
@@ -5754,43 +5754,43 @@ case 312:
                ;
     break;}
 case 313:
-#line 1477 "parse.y"
+#line 1478 "parse.y"
 { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype); ;
     break;}
 case 314:
-#line 1482 "parse.y"
+#line 1483 "parse.y"
 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ;
     break;}
 case 315:
-#line 1484 "parse.y"
+#line 1485 "parse.y"
 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 1); ;
     break;}
 case 316:
-#line 1486 "parse.y"
+#line 1487 "parse.y"
 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 0); ;
     break;}
 case 317:
-#line 1488 "parse.y"
+#line 1489 "parse.y"
 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 0); ;
     break;}
 case 318:
-#line 1490 "parse.y"
+#line 1491 "parse.y"
 { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
     break;}
 case 319:
-#line 1492 "parse.y"
+#line 1493 "parse.y"
 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ;
     break;}
 case 320:
-#line 1494 "parse.y"
+#line 1495 "parse.y"
 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ;
     break;}
 case 321:
-#line 1497 "parse.y"
+#line 1498 "parse.y"
 { yyval.ttype = finish_this_expr (); ;
     break;}
 case 322:
-#line 1499 "parse.y"
+#line 1500 "parse.y"
 {
                  /* This is a C cast in C++'s `functional' notation
                     using the "implicit int" extension so that:
@@ -5803,49 +5803,49 @@ case 322:
                ;
     break;}
 case 324:
-#line 1511 "parse.y"
+#line 1512 "parse.y"
 { tree type = groktypename (yyvsp[-4].ftype.t);
                  check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
                  yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
     break;}
 case 325:
-#line 1515 "parse.y"
+#line 1516 "parse.y"
 { tree type = groktypename (yyvsp[-4].ftype.t);
                  check_for_new_type ("static_cast", yyvsp[-4].ftype);
                  yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
     break;}
 case 326:
-#line 1519 "parse.y"
+#line 1520 "parse.y"
 { tree type = groktypename (yyvsp[-4].ftype.t);
                  check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
                  yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
     break;}
 case 327:
-#line 1523 "parse.y"
+#line 1524 "parse.y"
 { tree type = groktypename (yyvsp[-4].ftype.t);
                  check_for_new_type ("const_cast", yyvsp[-4].ftype);
                  yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
     break;}
 case 328:
-#line 1527 "parse.y"
+#line 1528 "parse.y"
 { yyval.ttype = build_typeid (yyvsp[-1].ttype); ;
     break;}
 case 329:
-#line 1529 "parse.y"
+#line 1530 "parse.y"
 { tree type = groktypename (yyvsp[-1].ftype.t);
                  check_for_new_type ("typeid", yyvsp[-1].ftype);
                  yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
     break;}
 case 330:
-#line 1533 "parse.y"
+#line 1534 "parse.y"
 { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
     break;}
 case 331:
-#line 1535 "parse.y"
+#line 1536 "parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 332:
-#line 1537 "parse.y"
+#line 1538 "parse.y"
 {
                  got_scope = NULL_TREE;
                  if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
@@ -5855,102 +5855,102 @@ case 332:
                ;
     break;}
 case 333:
-#line 1545 "parse.y"
+#line 1546 "parse.y"
 { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
     break;}
 case 334:
-#line 1547 "parse.y"
+#line 1548 "parse.y"
 { yyval.ttype = finish_qualified_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 335:
-#line 1549 "parse.y"
+#line 1550 "parse.y"
 { yyval.ttype = finish_qualified_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
     break;}
 case 336:
-#line 1551 "parse.y"
+#line 1552 "parse.y"
 { 
                  yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); 
                ;
     break;}
 case 337:
-#line 1555 "parse.y"
+#line 1556 "parse.y"
 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
     break;}
 case 338:
-#line 1557 "parse.y"
+#line 1558 "parse.y"
 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
     break;}
 case 339:
-#line 1559 "parse.y"
+#line 1560 "parse.y"
 { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
     break;}
 case 340:
-#line 1561 "parse.y"
+#line 1562 "parse.y"
 { if (processing_template_decl)
                    yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
                  else
                    yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
     break;}
 case 341:
-#line 1566 "parse.y"
+#line 1567 "parse.y"
 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
     break;}
 case 342:
-#line 1568 "parse.y"
+#line 1569 "parse.y"
 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
     break;}
 case 343:
-#line 1570 "parse.y"
+#line 1571 "parse.y"
 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
     break;}
 case 344:
-#line 1572 "parse.y"
+#line 1573 "parse.y"
 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
     break;}
 case 345:
-#line 1575 "parse.y"
+#line 1576 "parse.y"
 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
     break;}
 case 346:
-#line 1577 "parse.y"
+#line 1578 "parse.y"
 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
     break;}
 case 347:
-#line 1579 "parse.y"
+#line 1580 "parse.y"
 {
                  yyval.ttype = error_mark_node;
                ;
     break;}
 case 348:
-#line 1624 "parse.y"
+#line 1625 "parse.y"
 { yyval.itype = 0; ;
     break;}
 case 349:
-#line 1626 "parse.y"
+#line 1627 "parse.y"
 { got_scope = NULL_TREE; yyval.itype = 1; ;
     break;}
 case 350:
-#line 1631 "parse.y"
+#line 1632 "parse.y"
 { yyval.itype = 0; ;
     break;}
 case 351:
-#line 1633 "parse.y"
+#line 1634 "parse.y"
 { got_scope = NULL_TREE; yyval.itype = 1; ;
     break;}
 case 352:
-#line 1638 "parse.y"
+#line 1639 "parse.y"
 { yyval.ttype = boolean_true_node; ;
     break;}
 case 353:
-#line 1640 "parse.y"
+#line 1641 "parse.y"
 { yyval.ttype = boolean_false_node; ;
     break;}
 case 355:
-#line 1647 "parse.y"
+#line 1648 "parse.y"
 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 356:
-#line 1652 "parse.y"
+#line 1653 "parse.y"
 {
                  if (! current_function_parms_stored)
                    store_parm_decls ();
@@ -5958,169 +5958,169 @@ case 356:
                ;
     break;}
 case 357:
-#line 1661 "parse.y"
+#line 1662 "parse.y"
 { got_object = TREE_TYPE (yyval.ttype); ;
     break;}
 case 358:
-#line 1663 "parse.y"
+#line 1664 "parse.y"
 {
                  yyval.ttype = build_x_arrow (yyval.ttype); 
                  got_object = TREE_TYPE (yyval.ttype);
                ;
     break;}
 case 359:
-#line 1671 "parse.y"
+#line 1672 "parse.y"
 {
                  if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
                    note_got_semicolon (yyvsp[-2].ftype.t);
                ;
     break;}
 case 360:
-#line 1676 "parse.y"
+#line 1677 "parse.y"
 {
                  note_list_got_semicolon (yyvsp[-2].ftype.t);
                ;
     break;}
 case 361:
-#line 1680 "parse.y"
+#line 1681 "parse.y"
 {;
     break;}
 case 362:
-#line 1682 "parse.y"
+#line 1683 "parse.y"
 {
                  shadow_tag (yyvsp[-1].ftype.t);
                  note_list_got_semicolon (yyvsp[-1].ftype.t);
                ;
     break;}
 case 363:
-#line 1687 "parse.y"
+#line 1688 "parse.y"
 { warning ("empty declaration"); ;
     break;}
 case 364:
-#line 1689 "parse.y"
+#line 1690 "parse.y"
 { pedantic = yyvsp[-1].itype; ;
     break;}
 case 367:
-#line 1703 "parse.y"
+#line 1704 "parse.y"
 { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
                                             NULL_TREE, NULL_TREE); ;
     break;}
 case 368:
-#line 1706 "parse.y"
+#line 1707 "parse.y"
 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
                                             NULL_TREE); ;
     break;}
 case 369:
-#line 1713 "parse.y"
+#line 1714 "parse.y"
 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); 
                  yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
     break;}
 case 370:
-#line 1716 "parse.y"
+#line 1717 "parse.y"
 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); 
                  yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
     break;}
 case 371:
-#line 1719 "parse.y"
+#line 1720 "parse.y"
 { yyval.ftype.t = build_decl_list (build_decl_list (NULL_TREE, yyvsp[-1].ftype.t),
                                          yyvsp[0].ttype); 
                  yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
     break;}
 case 372:
-#line 1723 "parse.y"
+#line 1724 "parse.y"
 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
                  yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag;  ;
     break;}
 case 373:
-#line 1726 "parse.y"
+#line 1727 "parse.y"
 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE); 
                  yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
     break;}
 case 374:
-#line 1737 "parse.y"
+#line 1738 "parse.y"
 { yyval.ftype.lookups = type_lookups; ;
     break;}
 case 375:
-#line 1739 "parse.y"
+#line 1740 "parse.y"
 { yyval.ftype.lookups = type_lookups; ;
     break;}
 case 376:
-#line 1744 "parse.y"
+#line 1745 "parse.y"
 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t); 
                  yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
     break;}
 case 377:
-#line 1747 "parse.y"
+#line 1748 "parse.y"
 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype); 
                  yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
     break;}
 case 378:
-#line 1750 "parse.y"
+#line 1751 "parse.y"
 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype)); 
                  yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
     break;}
 case 379:
-#line 1753 "parse.y"
+#line 1754 "parse.y"
 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t)); 
                  yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
     break;}
 case 380:
-#line 1756 "parse.y"
+#line 1757 "parse.y"
 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t)); 
                  yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
     break;}
 case 381:
-#line 1759 "parse.y"
+#line 1760 "parse.y"
 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
                                         chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ftype.t))); 
                  yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
     break;}
 case 382:
-#line 1766 "parse.y"
+#line 1767 "parse.y"
 { if (extra_warnings)
                    warning ("`%s' is not at beginning of declaration",
                             IDENTIFIER_POINTER (yyval.ttype));
                  yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
     break;}
 case 383:
-#line 1771 "parse.y"
+#line 1772 "parse.y"
 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
     break;}
 case 384:
-#line 1773 "parse.y"
+#line 1774 "parse.y"
 { if (extra_warnings)
                    warning ("`%s' is not at beginning of declaration",
                             IDENTIFIER_POINTER (yyvsp[0].ttype));
                  yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
     break;}
 case 385:
-#line 1778 "parse.y"
+#line 1779 "parse.y"
 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
     break;}
 case 386:
-#line 1780 "parse.y"
+#line 1781 "parse.y"
 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
     break;}
 case 387:
-#line 1799 "parse.y"
+#line 1800 "parse.y"
 { yyval.ftype.lookups = NULL_TREE; TREE_STATIC (yyval.ftype.t) = 1; ;
     break;}
 case 388:
-#line 1801 "parse.y"
+#line 1802 "parse.y"
 {
                  yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
                  yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE;
                ;
     break;}
 case 389:
-#line 1806 "parse.y"
+#line 1807 "parse.y"
 {
                  yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
                  TREE_STATIC (yyval.ftype.t) = 1;
                ;
     break;}
 case 390:
-#line 1811 "parse.y"
+#line 1812 "parse.y"
 {
                  if (extra_warnings && TREE_STATIC (yyval.ftype.t))
                    warning ("`%s' is not at beginning of declaration",
@@ -6130,68 +6130,68 @@ case 390:
                ;
     break;}
 case 391:
-#line 1819 "parse.y"
+#line 1820 "parse.y"
 { yyval.ftype.t = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ftype.t); ;
     break;}
 case 392:
-#line 1821 "parse.y"
+#line 1822 "parse.y"
 {
                  yyval.ftype.t = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE);
                  yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE;
                ;
     break;}
 case 393:
-#line 1835 "parse.y"
+#line 1836 "parse.y"
 { yyval.ftype.t = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); 
                  yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
     break;}
 case 394:
-#line 1838 "parse.y"
+#line 1839 "parse.y"
 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t); 
                  yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
     break;}
 case 395:
-#line 1841 "parse.y"
+#line 1842 "parse.y"
 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype); 
                  yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
     break;}
 case 396:
-#line 1844 "parse.y"
+#line 1845 "parse.y"
 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t)); 
                  yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
     break;}
 case 397:
-#line 1850 "parse.y"
+#line 1851 "parse.y"
 { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
     break;}
 case 398:
-#line 1852 "parse.y"
+#line 1853 "parse.y"
 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
     break;}
 case 399:
-#line 1861 "parse.y"
+#line 1862 "parse.y"
 { yyval.ftype.lookups = NULL_TREE; ;
     break;}
 case 400:
-#line 1863 "parse.y"
+#line 1864 "parse.y"
 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ;
     break;}
 case 401:
-#line 1865 "parse.y"
+#line 1866 "parse.y"
 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ;
     break;}
 case 402:
-#line 1867 "parse.y"
+#line 1868 "parse.y"
 { yyval.ftype.t = finish_typeof (yyvsp[-1].ttype);
                  yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ;
     break;}
 case 403:
-#line 1870 "parse.y"
+#line 1871 "parse.y"
 { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
                  yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ;
     break;}
 case 404:
-#line 1873 "parse.y"
+#line 1874 "parse.y"
 { tree type = TREE_TYPE (yyvsp[-1].ttype);
 
                   yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE;
@@ -6208,7 +6208,7 @@ case 404:
                ;
     break;}
 case 405:
-#line 1888 "parse.y"
+#line 1889 "parse.y"
 { tree type = groktypename (yyvsp[-1].ftype.t);
 
                   yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE;
@@ -6225,279 +6225,279 @@ case 405:
                ;
     break;}
 case 406:
-#line 1908 "parse.y"
+#line 1909 "parse.y"
 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
     break;}
 case 407:
-#line 1910 "parse.y"
+#line 1911 "parse.y"
 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
     break;}
 case 410:
-#line 1917 "parse.y"
+#line 1918 "parse.y"
 { check_multiple_declarators (); ;
     break;}
 case 412:
-#line 1923 "parse.y"
+#line 1924 "parse.y"
 { check_multiple_declarators (); ;
     break;}
 case 414:
-#line 1929 "parse.y"
+#line 1930 "parse.y"
 { check_multiple_declarators (); ;
     break;}
 case 415:
-#line 1934 "parse.y"
+#line 1935 "parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 416:
-#line 1936 "parse.y"
+#line 1937 "parse.y"
 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 417:
-#line 1941 "parse.y"
+#line 1942 "parse.y"
 { yyval.ttype = parse_decl (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ;
     break;}
 case 418:
-#line 1944 "parse.y"
+#line 1945 "parse.y"
 { parse_end_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
     break;}
 case 419:
-#line 1946 "parse.y"
+#line 1947 "parse.y"
 {
                  yyval.ttype = parse_decl (yyvsp[-2].ttype, yyvsp[0].ttype, 0);
                  parse_end_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype);
                ;
     break;}
 case 420:
-#line 1960 "parse.y"
+#line 1961 "parse.y"
 { yyval.ttype = parse_decl0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t,
                                           yyvsp[-4].ftype.lookups, yyvsp[-1].ttype, 1); ;
     break;}
 case 421:
-#line 1965 "parse.y"
+#line 1966 "parse.y"
 { parse_end_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
     break;}
 case 422:
-#line 1967 "parse.y"
+#line 1968 "parse.y"
 { tree d = parse_decl0 (yyvsp[-2].ttype, yyvsp[-3].ftype.t,
                                        yyvsp[-3].ftype.lookups, yyvsp[0].ttype, 0);
                  parse_end_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
     break;}
 case 423:
-#line 1974 "parse.y"
+#line 1975 "parse.y"
 {;
     break;}
 case 424:
-#line 1979 "parse.y"
+#line 1980 "parse.y"
 {;
     break;}
 case 425:
-#line 1984 "parse.y"
+#line 1985 "parse.y"
 { /* Set things up as initdcl0_innards expects.  */
              yyvsp[0].ttype = yyvsp[-1].ttype; 
               yyvsp[-1].ttype = NULL_TREE; ;
     break;}
 case 426:
-#line 1988 "parse.y"
+#line 1989 "parse.y"
 {;
     break;}
 case 427:
-#line 1990 "parse.y"
+#line 1991 "parse.y"
 { tree d = parse_decl0 (yyvsp[-2].ttype, NULL_TREE, NULL_TREE, yyvsp[0].ttype, 0);
                  parse_end_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
     break;}
 case 428:
-#line 1998 "parse.y"
+#line 1999 "parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 429:
-#line 2000 "parse.y"
+#line 2001 "parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 430:
-#line 2005 "parse.y"
+#line 2006 "parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 431:
-#line 2007 "parse.y"
+#line 2008 "parse.y"
 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 432:
-#line 2012 "parse.y"
+#line 2013 "parse.y"
 { yyval.ttype = yyvsp[-2].ttype; ;
     break;}
 case 433:
-#line 2017 "parse.y"
+#line 2018 "parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 434:
-#line 2019 "parse.y"
+#line 2020 "parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 435:
-#line 2024 "parse.y"
+#line 2025 "parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 436:
-#line 2026 "parse.y"
+#line 2027 "parse.y"
 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 437:
-#line 2028 "parse.y"
+#line 2029 "parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
     break;}
 case 438:
-#line 2030 "parse.y"
+#line 2031 "parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
     break;}
 case 439:
-#line 2032 "parse.y"
+#line 2033 "parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 444:
-#line 2048 "parse.y"
+#line 2049 "parse.y"
 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 445:
-#line 2050 "parse.y"
+#line 2051 "parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
     break;}
 case 446:
-#line 2055 "parse.y"
+#line 2056 "parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 447:
-#line 2057 "parse.y"
+#line 2058 "parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 449:
-#line 2065 "parse.y"
+#line 2066 "parse.y"
 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
                  TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
     break;}
 case 450:
-#line 2068 "parse.y"
+#line 2069 "parse.y"
 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
                  TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
     break;}
 case 451:
-#line 2071 "parse.y"
+#line 2072 "parse.y"
 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
                  TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
     break;}
 case 452:
-#line 2074 "parse.y"
+#line 2075 "parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 453:
-#line 2081 "parse.y"
+#line 2082 "parse.y"
 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
     break;}
 case 454:
-#line 2083 "parse.y"
+#line 2084 "parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
     break;}
 case 455:
-#line 2086 "parse.y"
+#line 2087 "parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 456:
-#line 2088 "parse.y"
+#line 2089 "parse.y"
 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 457:
-#line 2090 "parse.y"
+#line 2091 "parse.y"
 { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
     break;}
 case 458:
-#line 2095 "parse.y"
+#line 2096 "parse.y"
 { start_function (NULL_TREE, yyvsp[0].pi->fndecl, NULL_TREE, 
                                  (SF_DEFAULT | SF_PRE_PARSED 
                                   | SF_INCLASS_INLINE));
                  reinit_parse_for_function (); ;
     break;}
 case 459:
-#line 2102 "parse.y"
+#line 2103 "parse.y"
 {
                  expand_body (finish_function (lineno, (int)yyvsp[-1].itype | 2));
                  process_next_inline (yyvsp[-3].pi);
                ;
     break;}
 case 460:
-#line 2107 "parse.y"
+#line 2108 "parse.y"
 { 
                  expand_body (finish_function (lineno, (int)yyvsp[0].itype | 2)); 
                   process_next_inline (yyvsp[-2].pi);
                ;
     break;}
 case 461:
-#line 2112 "parse.y"
+#line 2113 "parse.y"
 { 
                  finish_function (lineno, 2); 
                  process_next_inline (yyvsp[-2].pi); ;
     break;}
 case 464:
-#line 2126 "parse.y"
+#line 2127 "parse.y"
 { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
     break;}
 case 465:
-#line 2128 "parse.y"
+#line 2129 "parse.y"
 { replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
     break;}
 case 467:
-#line 2133 "parse.y"
+#line 2134 "parse.y"
 { do_pending_defargs (); ;
     break;}
 case 468:
-#line 2135 "parse.y"
+#line 2136 "parse.y"
 { do_pending_defargs (); ;
     break;}
 case 469:
-#line 2140 "parse.y"
+#line 2141 "parse.y"
 { yyval.ttype = current_enum_type;
                  current_enum_type = start_enum (yyvsp[-1].ttype); ;
     break;}
 case 470:
-#line 2143 "parse.y"
+#line 2144 "parse.y"
 { yyval.ftype.t = finish_enum (current_enum_type);
                  yyval.ftype.new_type_flag = 1;
                  current_enum_type = yyvsp[-2].ttype;
                  check_for_missing_semicolon (yyval.ftype.t); ;
     break;}
 case 471:
-#line 2148 "parse.y"
+#line 2149 "parse.y"
 { yyval.ttype = current_enum_type;
                  current_enum_type = start_enum (make_anon_name ()); ;
     break;}
 case 472:
-#line 2151 "parse.y"
+#line 2152 "parse.y"
 { yyval.ftype.t = finish_enum (current_enum_type);
                  yyval.ftype.new_type_flag = 1;
                  current_enum_type = yyvsp[-2].ttype;
                  check_for_missing_semicolon (yyval.ftype.t); ;
     break;}
 case 473:
-#line 2156 "parse.y"
+#line 2157 "parse.y"
 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1); 
                  yyval.ftype.new_type_flag = 0; ;
     break;}
 case 474:
-#line 2159 "parse.y"
+#line 2160 "parse.y"
 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1); 
                  yyval.ftype.new_type_flag = 0; ;
     break;}
 case 475:
-#line 2162 "parse.y"
+#line 2163 "parse.y"
 { yyval.ftype.t = yyvsp[0].ttype;
                  yyval.ftype.new_type_flag = 0; 
                  if (!processing_template_decl)
                    cp_pedwarn ("using `typename' outside of template"); ;
     break;}
 case 476:
-#line 2168 "parse.y"
+#line 2169 "parse.y"
 { yyvsp[-1].ftype.t = begin_class_definition (yyvsp[-1].ftype.t); ;
     break;}
 case 477:
-#line 2170 "parse.y"
+#line 2171 "parse.y"
 { 
                  int semi;
 
@@ -6510,13 +6510,13 @@ case 477:
                ;
     break;}
 case 478:
-#line 2181 "parse.y"
+#line 2182 "parse.y"
 {
                  begin_inline_definitions ();
                ;
     break;}
 case 479:
-#line 2185 "parse.y"
+#line 2186 "parse.y"
 {
                  finish_inline_definitions ();
                  yyval.ftype.t = yyvsp[-3].ttype;
@@ -6524,7 +6524,7 @@ case 479:
                ;
     break;}
 case 480:
-#line 2191 "parse.y"
+#line 2192 "parse.y"
 {
                  if (yyvsp[0].ftype.new_type_flag && yyvsp[0].ftype.t != error_mark_node)
                    pop_scope (CP_DECL_CONTEXT (TYPE_MAIN_DECL (yyvsp[0].ftype.t)));
@@ -6550,51 +6550,51 @@ case 480:
                ;
     break;}
 case 484:
-#line 2224 "parse.y"
+#line 2225 "parse.y"
 { if (pedantic && !in_system_header)
                    pedwarn ("comma at end of enumerator list"); ;
     break;}
 case 486:
-#line 2231 "parse.y"
+#line 2232 "parse.y"
 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
     break;}
 case 487:
-#line 2233 "parse.y"
+#line 2234 "parse.y"
 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
     break;}
 case 488:
-#line 2235 "parse.y"
+#line 2236 "parse.y"
 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
     break;}
 case 489:
-#line 2237 "parse.y"
+#line 2238 "parse.y"
 { error ("no body nor ';' separates two class, struct or union declarations"); ;
     break;}
 case 490:
-#line 2239 "parse.y"
+#line 2240 "parse.y"
 { yyval.ttype = build_decl_list (yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 491:
-#line 2244 "parse.y"
+#line 2245 "parse.y"
 { 
                  current_aggr = yyvsp[-1].ttype; 
                  yyval.ttype = yyvsp[0].ttype; 
                ;
     break;}
 case 492:
-#line 2252 "parse.y"
+#line 2253 "parse.y"
 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 493:
-#line 2254 "parse.y"
+#line 2255 "parse.y"
 { yyungetc ('{', 1); ;
     break;}
 case 494:
-#line 2256 "parse.y"
+#line 2257 "parse.y"
 { yyungetc (':', 1); ;
     break;}
 case 495:
-#line 2261 "parse.y"
+#line 2262 "parse.y"
 {
                  current_aggr = yyvsp[-2].ttype;
                  yyval.ftype.t = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
@@ -6602,7 +6602,7 @@ case 495:
                ;
     break;}
 case 496:
-#line 2267 "parse.y"
+#line 2268 "parse.y"
 {
                  current_aggr = yyvsp[-3].ttype;
                  yyval.ftype.t = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
@@ -6610,7 +6610,7 @@ case 496:
                ;
     break;}
 case 497:
-#line 2273 "parse.y"
+#line 2274 "parse.y"
 {
                  current_aggr = yyvsp[-2].ttype;
                  yyval.ftype.t = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
@@ -6618,7 +6618,7 @@ case 497:
                ;
     break;}
 case 498:
-#line 2279 "parse.y"
+#line 2280 "parse.y"
 { 
                  current_aggr = yyvsp[-1].ttype; 
                  yyval.ftype.t = yyvsp[0].ttype;
@@ -6626,7 +6626,7 @@ case 498:
                ;
     break;}
 case 499:
-#line 2285 "parse.y"
+#line 2286 "parse.y"
 { 
                  current_aggr = yyvsp[-2].ttype; 
                  yyval.ftype.t = yyvsp[0].ttype;
@@ -6636,18 +6636,18 @@ case 499:
                ;
     break;}
 case 500:
-#line 2296 "parse.y"
+#line 2297 "parse.y"
 { 
                  yyval.ftype.t = xref_tag (current_aggr, yyvsp[0].ttype, 1); 
                  yyval.ftype.new_type_flag = 0;
                ;
     break;}
 case 501:
-#line 2301 "parse.y"
+#line 2302 "parse.y"
 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 0); ;
     break;}
 case 502:
-#line 2305 "parse.y"
+#line 2306 "parse.y"
 { 
                  yyval.ftype.t = yyvsp[-1].ttype;
                  yyval.ftype.new_type_flag = 0;
@@ -6656,7 +6656,7 @@ case 502:
                ;
     break;}
 case 503:
-#line 2313 "parse.y"
+#line 2314 "parse.y"
 { 
                  if (yyvsp[-1].ftype.t != error_mark_node)
                    {
@@ -6683,43 +6683,43 @@ case 503:
                ;
     break;}
 case 504:
-#line 2341 "parse.y"
+#line 2342 "parse.y"
 { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), 0);
                  yyungetc ('{', 1); ;
     break;}
 case 505:
-#line 2351 "parse.y"
+#line 2352 "parse.y"
 {
                  yyval.ftype.t = yyvsp[0].ttype;
                  yyval.ftype.new_type_flag = 0;
                ;
     break;}
 case 507:
-#line 2360 "parse.y"
+#line 2361 "parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 508:
-#line 2362 "parse.y"
+#line 2363 "parse.y"
 { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
     break;}
 case 509:
-#line 2364 "parse.y"
+#line 2365 "parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 511:
-#line 2370 "parse.y"
+#line 2371 "parse.y"
 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 512:
-#line 2375 "parse.y"
+#line 2376 "parse.y"
 { yyval.ttype = finish_base_specifier (access_default_node, yyvsp[0].ttype); ;
     break;}
 case 513:
-#line 2377 "parse.y"
+#line 2378 "parse.y"
 { yyval.ttype = finish_base_specifier (yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 514:
-#line 2382 "parse.y"
+#line 2383 "parse.y"
 { if (yyval.ttype == error_mark_node)
                    ;
                   else if (!TYPE_P (yyval.ttype))
@@ -6728,13 +6728,13 @@ case 514:
                    yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
     break;}
 case 517:
-#line 2394 "parse.y"
+#line 2395 "parse.y"
 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
                    cp_error ("`%D' access", yyvsp[-1].ttype);
                  yyval.ttype = access_default_virtual_node; ;
     break;}
 case 518:
-#line 2398 "parse.y"
+#line 2399 "parse.y"
 {
                  if (yyvsp[-2].ttype != access_default_virtual_node)
                    error ("multiple access specifiers");
@@ -6747,7 +6747,7 @@ case 518:
                ;
     break;}
 case 519:
-#line 2409 "parse.y"
+#line 2410 "parse.y"
 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
                    cp_error ("`%D' access", yyvsp[-1].ttype);
                  else if (yyval.ttype == access_public_node)
@@ -6761,55 +6761,55 @@ case 519:
                ;
     break;}
 case 524:
-#line 2430 "parse.y"
+#line 2431 "parse.y"
 {
                  current_access_specifier = yyvsp[-1].ttype;
                 ;
     break;}
 case 525:
-#line 2439 "parse.y"
+#line 2440 "parse.y"
 { 
                  finish_member_declaration (yyvsp[0].ttype);
                ;
     break;}
 case 526:
-#line 2443 "parse.y"
+#line 2444 "parse.y"
 { 
                  finish_member_declaration (yyvsp[0].ttype);
                ;
     break;}
 case 528:
-#line 2451 "parse.y"
+#line 2452 "parse.y"
 { error ("missing ';' before right brace");
                  yyungetc ('}', 0); ;
     break;}
 case 529:
-#line 2456 "parse.y"
+#line 2457 "parse.y"
 { yyval.ttype = finish_method (yyval.ttype); ;
     break;}
 case 530:
-#line 2458 "parse.y"
+#line 2459 "parse.y"
 { yyval.ttype = finish_method (yyval.ttype); ;
     break;}
 case 531:
-#line 2460 "parse.y"
+#line 2461 "parse.y"
 { yyval.ttype = finish_method (yyval.ttype); ;
     break;}
 case 532:
-#line 2462 "parse.y"
+#line 2463 "parse.y"
 { yyval.ttype = finish_method (yyval.ttype); ;
     break;}
 case 533:
-#line 2464 "parse.y"
+#line 2465 "parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 534:
-#line 2466 "parse.y"
+#line 2467 "parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  pedantic = yyvsp[-1].itype; ;
     break;}
 case 535:
-#line 2469 "parse.y"
+#line 2470 "parse.y"
 {  
                  if (yyvsp[0].ttype)
                    yyval.ttype = finish_member_template_decl (yyvsp[0].ttype);
@@ -6821,14 +6821,14 @@ case 535:
                ;
     break;}
 case 536:
-#line 2479 "parse.y"
+#line 2480 "parse.y"
 { 
                  yyval.ttype = finish_member_class_template (yyvsp[-1].ftype.t); 
                  finish_template_decl (yyvsp[-2].ttype);
                ;
     break;}
 case 537:
-#line 2490 "parse.y"
+#line 2491 "parse.y"
 {
                  /* Most of the productions for component_decl only
                     allow the creation of one new member, so we call
@@ -6851,7 +6851,7 @@ case 537:
                ;
     break;}
 case 538:
-#line 2511 "parse.y"
+#line 2512 "parse.y"
 { 
                  if (!yyvsp[0].itype)
                    grok_x_components (yyvsp[-1].ftype.t);
@@ -6859,45 +6859,45 @@ case 538:
                ;
     break;}
 case 539:
-#line 2517 "parse.y"
+#line 2518 "parse.y"
 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
                                  build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
     break;}
 case 540:
-#line 2520 "parse.y"
+#line 2521 "parse.y"
 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
                                  build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
     break;}
 case 541:
-#line 2523 "parse.y"
+#line 2524 "parse.y"
 { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 542:
-#line 2525 "parse.y"
+#line 2526 "parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 543:
-#line 2536 "parse.y"
+#line 2537 "parse.y"
 { tree specs, attrs;
                  split_specs_attrs (yyvsp[-4].ftype.t, &specs, &attrs);
                  yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
                                  build_tree_list (yyvsp[-1].ttype, attrs)); ;
     break;}
 case 544:
-#line 2541 "parse.y"
+#line 2542 "parse.y"
 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
                                  build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
     break;}
 case 545:
-#line 2544 "parse.y"
+#line 2545 "parse.y"
 { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
     break;}
 case 546:
-#line 2550 "parse.y"
+#line 2551 "parse.y"
 { yyval.itype = 0; ;
     break;}
 case 547:
-#line 2552 "parse.y"
+#line 2553 "parse.y"
 { 
                  if (PROCESSING_REAL_TEMPLATE_DECL_P ())
                    yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
@@ -6906,7 +6906,7 @@ case 547:
                ;
     break;}
 case 548:
-#line 2559 "parse.y"
+#line 2560 "parse.y"
 { 
                  check_multiple_declarators ();
                  if (PROCESSING_REAL_TEMPLATE_DECL_P ())
@@ -6916,11 +6916,11 @@ case 548:
                ;
     break;}
 case 549:
-#line 2570 "parse.y"
+#line 2571 "parse.y"
 { yyval.itype = 0; ;
     break;}
 case 550:
-#line 2572 "parse.y"
+#line 2573 "parse.y"
 { 
                  if (PROCESSING_REAL_TEMPLATE_DECL_P ())
                    yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
@@ -6929,7 +6929,7 @@ case 550:
                ;
     break;}
 case 551:
-#line 2579 "parse.y"
+#line 2580 "parse.y"
 { 
                  check_multiple_declarators ();
                  if (PROCESSING_REAL_TEMPLATE_DECL_P ())
@@ -6939,75 +6939,75 @@ case 551:
                ;
     break;}
 case 556:
-#line 2600 "parse.y"
+#line 2601 "parse.y"
 { yyval.ttype = parse_field0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups,
                                     yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 557:
-#line 2603 "parse.y"
+#line 2604 "parse.y"
 { yyval.ttype = parse_bitfield0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups,
                                        yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 558:
-#line 2609 "parse.y"
+#line 2610 "parse.y"
 { yyval.ttype = parse_field0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups,
                                     yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 559:
-#line 2612 "parse.y"
+#line 2613 "parse.y"
 { yyval.ttype = parse_field0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups,
                                     yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 560:
-#line 2615 "parse.y"
+#line 2616 "parse.y"
 { yyval.ttype = parse_bitfield0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups,
                                        yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 561:
-#line 2618 "parse.y"
+#line 2619 "parse.y"
 { yyval.ttype = parse_bitfield0 (NULL_TREE, yyvsp[-3].ftype.t,
                                        yyvsp[-3].ftype.lookups, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 562:
-#line 2624 "parse.y"
+#line 2625 "parse.y"
 { yyval.ttype = parse_field (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 563:
-#line 2626 "parse.y"
+#line 2627 "parse.y"
 { yyval.ttype = parse_bitfield (yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 564:
-#line 2631 "parse.y"
+#line 2632 "parse.y"
 { yyval.ttype = parse_field (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 565:
-#line 2633 "parse.y"
+#line 2634 "parse.y"
 { yyval.ttype = parse_bitfield (yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 566:
-#line 2635 "parse.y"
+#line 2636 "parse.y"
 { yyval.ttype = parse_bitfield (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 571:
-#line 2654 "parse.y"
+#line 2655 "parse.y"
 { build_enumerator (yyvsp[0].ttype, NULL_TREE, current_enum_type); ;
     break;}
 case 572:
-#line 2656 "parse.y"
+#line 2657 "parse.y"
 { build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype, current_enum_type); ;
     break;}
 case 573:
-#line 2662 "parse.y"
+#line 2663 "parse.y"
 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); 
                  yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
     break;}
 case 574:
-#line 2665 "parse.y"
+#line 2666 "parse.y"
 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE); 
                  yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
     break;}
 case 575:
-#line 2670 "parse.y"
+#line 2671 "parse.y"
 {
                  if (pedantic)
                    pedwarn ("ISO C++ forbids array dimensions with parenthesized type in new");
@@ -7017,41 +7017,41 @@ case 575:
                ;
     break;}
 case 576:
-#line 2681 "parse.y"
+#line 2682 "parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 577:
-#line 2683 "parse.y"
+#line 2684 "parse.y"
 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
     break;}
 case 578:
-#line 2688 "parse.y"
+#line 2689 "parse.y"
 { yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
                  yyval.ftype.new_type_flag = 0; ;
     break;}
 case 579:
-#line 2691 "parse.y"
+#line 2692 "parse.y"
 { yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t); 
                  yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
     break;}
 case 580:
-#line 2701 "parse.y"
+#line 2702 "parse.y"
 { yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 581:
-#line 2703 "parse.y"
+#line 2704 "parse.y"
 { yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 582:
-#line 2705 "parse.y"
+#line 2706 "parse.y"
 { yyval.ttype = empty_parms (); ;
     break;}
 case 583:
-#line 2707 "parse.y"
+#line 2708 "parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 585:
-#line 2715 "parse.y"
+#line 2716 "parse.y"
 {
                  /* Provide support for '(' attributes '*' declarator ')'
                     etc */
@@ -7059,51 +7059,51 @@ case 585:
                ;
     break;}
 case 586:
-#line 2725 "parse.y"
+#line 2726 "parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
     break;}
 case 587:
-#line 2727 "parse.y"
+#line 2728 "parse.y"
 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
     break;}
 case 588:
-#line 2729 "parse.y"
+#line 2730 "parse.y"
 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 589:
-#line 2731 "parse.y"
+#line 2732 "parse.y"
 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 590:
-#line 2733 "parse.y"
+#line 2734 "parse.y"
 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
                  yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
                ;
     break;}
 case 592:
-#line 2741 "parse.y"
+#line 2742 "parse.y"
 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 593:
-#line 2743 "parse.y"
+#line 2744 "parse.y"
 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
     break;}
 case 594:
-#line 2745 "parse.y"
+#line 2746 "parse.y"
 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
     break;}
 case 595:
-#line 2747 "parse.y"
+#line 2748 "parse.y"
 { yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 596:
-#line 2749 "parse.y"
+#line 2750 "parse.y"
 { push_nested_class (yyvsp[-1].ttype, 3);
                  yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
                  TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
     break;}
 case 598:
-#line 2757 "parse.y"
+#line 2758 "parse.y"
 {
                  if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
                    {
@@ -7115,7 +7115,7 @@ case 598:
                ;
     break;}
 case 599:
-#line 2767 "parse.y"
+#line 2768 "parse.y"
 {
                  if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
                    yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
@@ -7125,15 +7125,15 @@ case 599:
                ;
     break;}
 case 602:
-#line 2780 "parse.y"
+#line 2781 "parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 603:
-#line 2785 "parse.y"
+#line 2786 "parse.y"
 { yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
     break;}
 case 605:
-#line 2794 "parse.y"
+#line 2795 "parse.y"
 {
                  /* Provide support for '(' attributes '*' declarator ')'
                     etc */
@@ -7141,123 +7141,123 @@ case 605:
                ;
     break;}
 case 606:
-#line 2803 "parse.y"
+#line 2804 "parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
     break;}
 case 607:
-#line 2805 "parse.y"
+#line 2806 "parse.y"
 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
     break;}
 case 608:
-#line 2807 "parse.y"
+#line 2808 "parse.y"
 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 609:
-#line 2809 "parse.y"
+#line 2810 "parse.y"
 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 610:
-#line 2811 "parse.y"
+#line 2812 "parse.y"
 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
                  yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
                ;
     break;}
 case 612:
-#line 2819 "parse.y"
+#line 2820 "parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
     break;}
 case 613:
-#line 2821 "parse.y"
+#line 2822 "parse.y"
 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
     break;}
 case 614:
-#line 2823 "parse.y"
+#line 2824 "parse.y"
 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 615:
-#line 2825 "parse.y"
+#line 2826 "parse.y"
 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 616:
-#line 2827 "parse.y"
+#line 2828 "parse.y"
 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
                  yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
                ;
     break;}
 case 618:
-#line 2835 "parse.y"
+#line 2836 "parse.y"
 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 619:
-#line 2837 "parse.y"
+#line 2838 "parse.y"
 { yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 620:
-#line 2839 "parse.y"
+#line 2840 "parse.y"
 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
     break;}
 case 621:
-#line 2841 "parse.y"
+#line 2842 "parse.y"
 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
     break;}
 case 622:
-#line 2843 "parse.y"
+#line 2844 "parse.y"
 { enter_scope_of (yyvsp[0].ttype); ;
     break;}
 case 623:
-#line 2845 "parse.y"
+#line 2846 "parse.y"
 { got_scope = NULL_TREE;
                  yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
                  enter_scope_of (yyval.ttype);
                ;
     break;}
 case 624:
-#line 2853 "parse.y"
+#line 2854 "parse.y"
 { got_scope = NULL_TREE;
                  yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 625:
-#line 2856 "parse.y"
+#line 2857 "parse.y"
 { got_scope = NULL_TREE;
                  yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 626:
-#line 2862 "parse.y"
+#line 2863 "parse.y"
 { got_scope = NULL_TREE;
                  yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 627:
-#line 2865 "parse.y"
+#line 2866 "parse.y"
 { got_scope = NULL_TREE;
                  yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 629:
-#line 2872 "parse.y"
+#line 2873 "parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 630:
-#line 2877 "parse.y"
+#line 2878 "parse.y"
 { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
     break;}
 case 631:
-#line 2879 "parse.y"
+#line 2880 "parse.y"
 { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
     break;}
 case 632:
-#line 2881 "parse.y"
+#line 2882 "parse.y"
 { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
     break;}
 case 637:
-#line 2893 "parse.y"
+#line 2894 "parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 638:
-#line 2895 "parse.y"
+#line 2896 "parse.y"
 { got_scope = yyval.ttype 
                    = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype, /*complain=*/1); ;
     break;}
 case 639:
-#line 2903 "parse.y"
+#line 2904 "parse.y"
 {
                  if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
                    {
@@ -7269,7 +7269,7 @@ case 639:
                ;
     break;}
 case 640:
-#line 2913 "parse.y"
+#line 2914 "parse.y"
 {
                  if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
                    yyval.ttype = lastiddecl;
@@ -7277,7 +7277,7 @@ case 640:
                ;
     break;}
 case 641:
-#line 2919 "parse.y"
+#line 2920 "parse.y"
 {
                  if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
                    yyval.ttype = lastiddecl;
@@ -7285,15 +7285,15 @@ case 641:
                ;
     break;}
 case 642:
-#line 2925 "parse.y"
+#line 2926 "parse.y"
 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
     break;}
 case 644:
-#line 2941 "parse.y"
+#line 2942 "parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 645:
-#line 2946 "parse.y"
+#line 2947 "parse.y"
 {
                  if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
                    yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, /*complain=*/1);
@@ -7308,26 +7308,26 @@ case 645:
                ;
     break;}
 case 646:
-#line 2959 "parse.y"
+#line 2960 "parse.y"
 { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
     break;}
 case 647:
-#line 2961 "parse.y"
+#line 2962 "parse.y"
 { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, /*complain=*/1); ;
     break;}
 case 648:
-#line 2963 "parse.y"
+#line 2964 "parse.y"
 { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype, /*complain=*/1); ;
     break;}
 case 649:
-#line 2968 "parse.y"
+#line 2969 "parse.y"
 {
                  if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
                    cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
                ;
     break;}
 case 650:
-#line 2973 "parse.y"
+#line 2974 "parse.y"
 {
                  if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
                    yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, /*complain=*/1);
@@ -7342,17 +7342,17 @@ case 650:
                ;
     break;}
 case 651:
-#line 2986 "parse.y"
+#line 2987 "parse.y"
 { got_scope = yyval.ttype 
                    = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype, /*complain=*/1); ;
     break;}
 case 652:
-#line 2989 "parse.y"
+#line 2990 "parse.y"
 { got_scope = yyval.ttype 
                    = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype, /*complain=*/1); ;
     break;}
 case 653:
-#line 2995 "parse.y"
+#line 2996 "parse.y"
 {
                  if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
                    yyvsp[-1].ttype = lastiddecl;
@@ -7366,7 +7366,7 @@ case 653:
                ;
     break;}
 case 654:
-#line 3007 "parse.y"
+#line 3008 "parse.y"
 {
                  if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
                    yyval.ttype = lastiddecl;
@@ -7374,11 +7374,11 @@ case 654:
                ;
     break;}
 case 655:
-#line 3013 "parse.y"
+#line 3014 "parse.y"
 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
     break;}
 case 658:
-#line 3017 "parse.y"
+#line 3018 "parse.y"
 {
                  if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
                    yyval.ttype = lastiddecl;
@@ -7386,11 +7386,11 @@ case 658:
                ;
     break;}
 case 659:
-#line 3026 "parse.y"
+#line 3027 "parse.y"
 { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 660:
-#line 3031 "parse.y"
+#line 3032 "parse.y"
 {
                  if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
                    yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
@@ -7400,59 +7400,59 @@ case 660:
                ;
     break;}
 case 662:
-#line 3040 "parse.y"
+#line 3041 "parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 663:
-#line 3045 "parse.y"
+#line 3046 "parse.y"
 { got_scope = NULL_TREE; ;
     break;}
 case 664:
-#line 3047 "parse.y"
+#line 3048 "parse.y"
 { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
     break;}
 case 665:
-#line 3054 "parse.y"
+#line 3055 "parse.y"
 { got_scope = void_type_node; ;
     break;}
 case 666:
-#line 3060 "parse.y"
+#line 3061 "parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 667:
-#line 3062 "parse.y"
+#line 3063 "parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 668:
-#line 3064 "parse.y"
+#line 3065 "parse.y"
 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 669:
-#line 3066 "parse.y"
+#line 3067 "parse.y"
 { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 670:
-#line 3068 "parse.y"
+#line 3069 "parse.y"
 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
                  yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
                ;
     break;}
 case 671:
-#line 3072 "parse.y"
+#line 3073 "parse.y"
 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
                  yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
                ;
     break;}
 case 673:
-#line 3081 "parse.y"
+#line 3082 "parse.y"
 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
     break;}
 case 674:
-#line 3083 "parse.y"
+#line 3084 "parse.y"
 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
     break;}
 case 676:
-#line 3089 "parse.y"
+#line 3090 "parse.y"
 {
                  /* Provide support for '(' attributes '*' declarator ')'
                     etc */
@@ -7460,96 +7460,96 @@ case 676:
                ;
     break;}
 case 677:
-#line 3099 "parse.y"
+#line 3100 "parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
     break;}
 case 678:
-#line 3101 "parse.y"
+#line 3102 "parse.y"
 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 679:
-#line 3103 "parse.y"
+#line 3104 "parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
     break;}
 case 680:
-#line 3105 "parse.y"
+#line 3106 "parse.y"
 { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
     break;}
 case 681:
-#line 3107 "parse.y"
+#line 3108 "parse.y"
 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
     break;}
 case 682:
-#line 3109 "parse.y"
+#line 3110 "parse.y"
 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 683:
-#line 3111 "parse.y"
+#line 3112 "parse.y"
 { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
     break;}
 case 684:
-#line 3113 "parse.y"
+#line 3114 "parse.y"
 { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
     break;}
 case 685:
-#line 3115 "parse.y"
+#line 3116 "parse.y"
 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
                  yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
                ;
     break;}
 case 686:
-#line 3119 "parse.y"
+#line 3120 "parse.y"
 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
                  yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
                ;
     break;}
 case 688:
-#line 3128 "parse.y"
+#line 3129 "parse.y"
 { yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 689:
-#line 3131 "parse.y"
+#line 3132 "parse.y"
 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 690:
-#line 3133 "parse.y"
+#line 3134 "parse.y"
 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 691:
-#line 3135 "parse.y"
+#line 3136 "parse.y"
 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
     break;}
 case 692:
-#line 3137 "parse.y"
+#line 3138 "parse.y"
 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
     break;}
 case 693:
-#line 3139 "parse.y"
+#line 3140 "parse.y"
 { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 694:
-#line 3141 "parse.y"
+#line 3142 "parse.y"
 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 695:
-#line 3143 "parse.y"
+#line 3144 "parse.y"
 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 696:
-#line 3145 "parse.y"
+#line 3146 "parse.y"
 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
     break;}
 case 697:
-#line 3147 "parse.y"
+#line 3148 "parse.y"
 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
     break;}
 case 704:
-#line 3170 "parse.y"
+#line 3171 "parse.y"
 { if (pedantic)
                    pedwarn ("ISO C++ forbids label declarations"); ;
     break;}
 case 707:
-#line 3181 "parse.y"
+#line 3182 "parse.y"
 { 
                  while (yyvsp[-1].ttype)
                    {
@@ -7559,193 +7559,193 @@ case 707:
                ;
     break;}
 case 708:
-#line 3194 "parse.y"
+#line 3195 "parse.y"
 {;
     break;}
 case 710:
-#line 3200 "parse.y"
+#line 3201 "parse.y"
 { yyval.ttype = begin_compound_stmt (0); ;
     break;}
 case 711:
-#line 3202 "parse.y"
+#line 3203 "parse.y"
 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
     break;}
 case 712:
-#line 3207 "parse.y"
+#line 3208 "parse.y"
 {
                  yyval.ttype = begin_if_stmt ();
                  cond_stmt_keyword = "if";
                ;
     break;}
 case 713:
-#line 3212 "parse.y"
+#line 3213 "parse.y"
 { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 714:
-#line 3214 "parse.y"
+#line 3215 "parse.y"
 { yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
     break;}
 case 716:
-#line 3219 "parse.y"
+#line 3220 "parse.y"
 { yyval.ttype = begin_compound_stmt (0); ;
     break;}
 case 717:
-#line 3221 "parse.y"
+#line 3222 "parse.y"
 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
     break;}
 case 718:
-#line 3226 "parse.y"
+#line 3227 "parse.y"
 {;
     break;}
 case 720:
-#line 3232 "parse.y"
+#line 3233 "parse.y"
 { finish_stmt (); ;
     break;}
 case 721:
-#line 3234 "parse.y"
+#line 3235 "parse.y"
 { finish_expr_stmt (yyvsp[-1].ttype); ;
     break;}
 case 722:
-#line 3236 "parse.y"
+#line 3237 "parse.y"
 { begin_else_clause (); ;
     break;}
 case 723:
-#line 3238 "parse.y"
+#line 3239 "parse.y"
 { 
                  finish_else_clause (yyvsp[-3].ttype); 
                  finish_if_stmt ();
                ;
     break;}
 case 724:
-#line 3243 "parse.y"
+#line 3244 "parse.y"
 { finish_if_stmt (); ;
     break;}
 case 725:
-#line 3245 "parse.y"
+#line 3246 "parse.y"
 {
                  yyval.ttype = begin_while_stmt ();
                  cond_stmt_keyword = "while";
                ;
     break;}
 case 726:
-#line 3250 "parse.y"
+#line 3251 "parse.y"
 { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 727:
-#line 3252 "parse.y"
+#line 3253 "parse.y"
 { finish_while_stmt (yyvsp[-3].ttype); ;
     break;}
 case 728:
-#line 3254 "parse.y"
+#line 3255 "parse.y"
 { yyval.ttype = begin_do_stmt (); ;
     break;}
 case 729:
-#line 3256 "parse.y"
+#line 3257 "parse.y"
 {
                  finish_do_body (yyvsp[-2].ttype);
                  cond_stmt_keyword = "do";
                ;
     break;}
 case 730:
-#line 3261 "parse.y"
+#line 3262 "parse.y"
 { finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
     break;}
 case 731:
-#line 3263 "parse.y"
+#line 3264 "parse.y"
 { yyval.ttype = begin_for_stmt (); ;
     break;}
 case 732:
-#line 3265 "parse.y"
+#line 3266 "parse.y"
 { finish_for_init_stmt (yyvsp[-2].ttype); ;
     break;}
 case 733:
-#line 3267 "parse.y"
+#line 3268 "parse.y"
 { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
     break;}
 case 734:
-#line 3269 "parse.y"
+#line 3270 "parse.y"
 { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
     break;}
 case 735:
-#line 3271 "parse.y"
+#line 3272 "parse.y"
 { finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ;
     break;}
 case 736:
-#line 3273 "parse.y"
+#line 3274 "parse.y"
 { yyval.ttype = begin_switch_stmt (); ;
     break;}
 case 737:
-#line 3275 "parse.y"
+#line 3276 "parse.y"
 { finish_switch_cond (yyvsp[-1].ttype, yyvsp[-3].ttype); ;
     break;}
 case 738:
-#line 3277 "parse.y"
+#line 3278 "parse.y"
 { finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-5].ttype); ;
     break;}
 case 739:
-#line 3279 "parse.y"
+#line 3280 "parse.y"
 { finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
     break;}
 case 741:
-#line 3282 "parse.y"
+#line 3283 "parse.y"
 { finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 743:
-#line 3285 "parse.y"
+#line 3286 "parse.y"
 { finish_case_label (NULL_TREE, NULL_TREE); ;
     break;}
 case 745:
-#line 3288 "parse.y"
+#line 3289 "parse.y"
 { finish_break_stmt (); ;
     break;}
 case 746:
-#line 3290 "parse.y"
+#line 3291 "parse.y"
 { finish_continue_stmt (); ;
     break;}
 case 747:
-#line 3292 "parse.y"
+#line 3293 "parse.y"
 { finish_return_stmt (NULL_TREE); ;
     break;}
 case 748:
-#line 3294 "parse.y"
+#line 3295 "parse.y"
 { finish_return_stmt (yyvsp[-1].ttype); ;
     break;}
 case 749:
-#line 3296 "parse.y"
+#line 3297 "parse.y"
 { 
                  finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
                                   NULL_TREE); 
                ;
     break;}
 case 750:
-#line 3302 "parse.y"
+#line 3303 "parse.y"
 { 
                  finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
                                   NULL_TREE); 
                ;
     break;}
 case 751:
-#line 3308 "parse.y"
+#line 3309 "parse.y"
 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
     break;}
 case 752:
-#line 3310 "parse.y"
+#line 3311 "parse.y"
 { finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, NULL_TREE, yyvsp[-2].ttype, NULL_TREE); ;
     break;}
 case 753:
-#line 3314 "parse.y"
+#line 3315 "parse.y"
 { finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
     break;}
 case 754:
-#line 3317 "parse.y"
+#line 3318 "parse.y"
 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, NULL_TREE, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
     break;}
 case 755:
-#line 3320 "parse.y"
+#line 3321 "parse.y"
 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, NULL_TREE, yyvsp[-2].ttype); ;
     break;}
 case 756:
-#line 3322 "parse.y"
+#line 3323 "parse.y"
 { 
                  if (pedantic)
                    pedwarn ("ISO C++ forbids computed gotos");
@@ -7753,67 +7753,67 @@ case 756:
                ;
     break;}
 case 757:
-#line 3328 "parse.y"
+#line 3329 "parse.y"
 { finish_goto_stmt (yyvsp[-1].ttype); ;
     break;}
 case 759:
-#line 3331 "parse.y"
+#line 3332 "parse.y"
 { error ("label must be followed by statement");
                  yyungetc ('}', 0); ;
     break;}
 case 760:
-#line 3334 "parse.y"
+#line 3335 "parse.y"
 { finish_stmt (); ;
     break;}
 case 763:
-#line 3338 "parse.y"
+#line 3339 "parse.y"
 { do_local_using_decl (yyvsp[0].ttype); ;
     break;}
 case 765:
-#line 3344 "parse.y"
+#line 3345 "parse.y"
 { yyval.ttype = begin_function_try_block (); ;
     break;}
 case 766:
-#line 3346 "parse.y"
+#line 3347 "parse.y"
 { finish_function_try_block (yyvsp[-2].ttype); ;
     break;}
 case 767:
-#line 3348 "parse.y"
+#line 3349 "parse.y"
 {
                  finish_function_handler_sequence (yyvsp[-4].ttype);
                  yyval.itype = yyvsp[-3].itype;
                ;
     break;}
 case 768:
-#line 3356 "parse.y"
+#line 3357 "parse.y"
 { yyval.ttype = begin_try_block (); ;
     break;}
 case 769:
-#line 3358 "parse.y"
+#line 3359 "parse.y"
 { finish_try_block (yyvsp[-1].ttype); ;
     break;}
 case 770:
-#line 3360 "parse.y"
+#line 3361 "parse.y"
 { finish_handler_sequence (yyvsp[-3].ttype); ;
     break;}
 case 773:
-#line 3370 "parse.y"
+#line 3371 "parse.y"
 { yyval.ttype = begin_handler(); ;
     break;}
 case 774:
-#line 3372 "parse.y"
+#line 3373 "parse.y"
 { yyval.ttype = finish_handler_parms (yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 775:
-#line 3374 "parse.y"
+#line 3375 "parse.y"
 { finish_handler (yyvsp[-1].ttype, yyvsp[-3].ttype); ;
     break;}
 case 778:
-#line 3384 "parse.y"
+#line 3385 "parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 779:
-#line 3400 "parse.y"
+#line 3401 "parse.y"
 { 
                  check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
                  yyval.ttype = start_handler_parms (TREE_PURPOSE (yyvsp[-1].ftype.t),
@@ -7821,97 +7821,97 @@ case 779:
                ;
     break;}
 case 780:
-#line 3409 "parse.y"
+#line 3410 "parse.y"
 { finish_label_stmt (yyvsp[-1].ttype); ;
     break;}
 case 781:
-#line 3411 "parse.y"
+#line 3412 "parse.y"
 { finish_label_stmt (yyvsp[-1].ttype); ;
     break;}
 case 782:
-#line 3413 "parse.y"
+#line 3414 "parse.y"
 { finish_label_stmt (yyvsp[-1].ttype); ;
     break;}
 case 783:
-#line 3415 "parse.y"
+#line 3416 "parse.y"
 { finish_label_stmt (yyvsp[-1].ttype); ;
     break;}
 case 784:
-#line 3420 "parse.y"
+#line 3421 "parse.y"
 { finish_expr_stmt (yyvsp[-1].ttype); ;
     break;}
 case 786:
-#line 3423 "parse.y"
+#line 3424 "parse.y"
 { if (pedantic)
                    pedwarn ("ISO C++ forbids compound statements inside for initializations");
                ;
     break;}
 case 787:
-#line 3432 "parse.y"
+#line 3433 "parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 789:
-#line 3438 "parse.y"
+#line 3439 "parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 791:
-#line 3441 "parse.y"
+#line 3442 "parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 792:
-#line 3448 "parse.y"
+#line 3449 "parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 795:
-#line 3455 "parse.y"
+#line 3456 "parse.y"
 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
     break;}
 case 796:
-#line 3460 "parse.y"
+#line 3461 "parse.y"
 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
     break;}
 case 797:
-#line 3465 "parse.y"
+#line 3466 "parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
     break;}
 case 798:
-#line 3467 "parse.y"
+#line 3468 "parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
     break;}
 case 799:
-#line 3478 "parse.y"
+#line 3479 "parse.y"
 {
                  yyval.ttype = empty_parms();
                ;
     break;}
 case 801:
-#line 3483 "parse.y"
+#line 3484 "parse.y"
 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0);
                  check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
     break;}
 case 802:
-#line 3491 "parse.y"
+#line 3492 "parse.y"
 { yyval.ttype = finish_parmlist (yyval.ttype, 0); ;
     break;}
 case 803:
-#line 3493 "parse.y"
+#line 3494 "parse.y"
 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
     break;}
 case 804:
-#line 3496 "parse.y"
+#line 3497 "parse.y"
 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
     break;}
 case 805:
-#line 3498 "parse.y"
+#line 3499 "parse.y"
 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
                                                         yyvsp[-1].ftype.t), 1); ;
     break;}
 case 806:
-#line 3501 "parse.y"
+#line 3502 "parse.y"
 { yyval.ttype = finish_parmlist (NULL_TREE, 1); ;
     break;}
 case 807:
-#line 3503 "parse.y"
+#line 3504 "parse.y"
 {
                  /* This helps us recover from really nasty
                     parse errors, for example, a missing right
@@ -7923,7 +7923,7 @@ case 807:
                ;
     break;}
 case 808:
-#line 3513 "parse.y"
+#line 3514 "parse.y"
 {
                  /* This helps us recover from really nasty
                     parse errors, for example, a missing right
@@ -7936,99 +7936,99 @@ case 808:
                ;
     break;}
 case 809:
-#line 3528 "parse.y"
+#line 3529 "parse.y"
 { maybe_snarf_defarg (); ;
     break;}
 case 810:
-#line 3530 "parse.y"
+#line 3531 "parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 813:
-#line 3541 "parse.y"
+#line 3542 "parse.y"
 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
                  yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
     break;}
 case 814:
-#line 3544 "parse.y"
+#line 3545 "parse.y"
 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
                  yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
     break;}
 case 815:
-#line 3547 "parse.y"
+#line 3548 "parse.y"
 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
                  yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
     break;}
 case 816:
-#line 3550 "parse.y"
+#line 3551 "parse.y"
 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
     break;}
 case 817:
-#line 3552 "parse.y"
+#line 3553 "parse.y"
 { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
     break;}
 case 819:
-#line 3558 "parse.y"
+#line 3559 "parse.y"
 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
                  yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
     break;}
 case 820:
-#line 3568 "parse.y"
+#line 3569 "parse.y"
 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
                  yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
                  yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
     break;}
 case 821:
-#line 3572 "parse.y"
+#line 3573 "parse.y"
 { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); 
                  yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
     break;}
 case 822:
-#line 3575 "parse.y"
+#line 3576 "parse.y"
 { yyval.ftype.t = build_tree_list (build_decl_list (NULL_TREE, yyvsp[-1].ftype.t),
                                          yyvsp[0].ttype); 
                  yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
     break;}
 case 823:
-#line 3579 "parse.y"
+#line 3580 "parse.y"
 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
                  yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
                  yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
     break;}
 case 824:
-#line 3583 "parse.y"
+#line 3584 "parse.y"
 { tree specs = strip_attrs (yyvsp[0].ftype.t);
                  yyval.ftype.t = build_tree_list (specs, NULL_TREE); 
                  yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
     break;}
 case 825:
-#line 3587 "parse.y"
+#line 3588 "parse.y"
 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
                  yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); 
                  yyval.ftype.new_type_flag = 0; ;
     break;}
 case 826:
-#line 3594 "parse.y"
+#line 3595 "parse.y"
 { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
                  yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag;  ;
     break;}
 case 827:
-#line 3597 "parse.y"
+#line 3598 "parse.y"
 { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
                  yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;  ;
     break;}
 case 830:
-#line 3608 "parse.y"
+#line 3609 "parse.y"
 { see_typename (); ;
     break;}
 case 831:
-#line 3613 "parse.y"
+#line 3614 "parse.y"
 {
                  error ("type specifier omitted for parameter");
                  yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
                ;
     break;}
 case 832:
-#line 3618 "parse.y"
+#line 3619 "parse.y"
 {
                  error ("type specifier omitted for parameter");
                  if (TREE_CODE (yyval.ttype) == SCOPE_REF
@@ -8039,192 +8039,192 @@ case 832:
                ;
     break;}
 case 833:
-#line 3630 "parse.y"
+#line 3631 "parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 834:
-#line 3632 "parse.y"
+#line 3633 "parse.y"
 { yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 835:
-#line 3634 "parse.y"
+#line 3635 "parse.y"
 { yyval.ttype = empty_except_spec; ;
     break;}
 case 836:
-#line 3639 "parse.y"
+#line 3640 "parse.y"
 {
                  check_for_new_type ("exception specifier", yyvsp[0].ftype);
                  yyval.ttype = groktypename (yyvsp[0].ftype.t);
                ;
     break;}
 case 837:
-#line 3647 "parse.y"
+#line 3648 "parse.y"
 { yyval.ttype = add_exception_specifier (NULL_TREE, yyvsp[0].ttype, 1); ;
     break;}
 case 838:
-#line 3649 "parse.y"
+#line 3650 "parse.y"
 { yyval.ttype = add_exception_specifier (yyvsp[-2].ttype, yyvsp[0].ttype, 1); ;
     break;}
 case 839:
-#line 3654 "parse.y"
+#line 3655 "parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 840:
-#line 3656 "parse.y"
+#line 3657 "parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 841:
-#line 3658 "parse.y"
+#line 3659 "parse.y"
 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 842:
-#line 3660 "parse.y"
+#line 3661 "parse.y"
 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
                  yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
                ;
     break;}
 case 843:
-#line 3667 "parse.y"
+#line 3668 "parse.y"
 { got_scope = NULL_TREE; ;
     break;}
 case 844:
-#line 3672 "parse.y"
+#line 3673 "parse.y"
 { yyval.ttype = ansi_opname[MULT_EXPR]; ;
     break;}
 case 845:
-#line 3674 "parse.y"
+#line 3675 "parse.y"
 { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
     break;}
 case 846:
-#line 3676 "parse.y"
+#line 3677 "parse.y"
 { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
     break;}
 case 847:
-#line 3678 "parse.y"
+#line 3679 "parse.y"
 { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
     break;}
 case 848:
-#line 3680 "parse.y"
+#line 3681 "parse.y"
 { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
     break;}
 case 849:
-#line 3682 "parse.y"
+#line 3683 "parse.y"
 { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
     break;}
 case 850:
-#line 3684 "parse.y"
+#line 3685 "parse.y"
 { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
     break;}
 case 851:
-#line 3686 "parse.y"
+#line 3687 "parse.y"
 { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
     break;}
 case 852:
-#line 3688 "parse.y"
+#line 3689 "parse.y"
 { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
     break;}
 case 853:
-#line 3690 "parse.y"
+#line 3691 "parse.y"
 { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
     break;}
 case 854:
-#line 3692 "parse.y"
+#line 3693 "parse.y"
 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
     break;}
 case 855:
-#line 3694 "parse.y"
+#line 3695 "parse.y"
 { yyval.ttype = ansi_opname[LT_EXPR]; ;
     break;}
 case 856:
-#line 3696 "parse.y"
+#line 3697 "parse.y"
 { yyval.ttype = ansi_opname[GT_EXPR]; ;
     break;}
 case 857:
-#line 3698 "parse.y"
+#line 3699 "parse.y"
 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
     break;}
 case 858:
-#line 3700 "parse.y"
+#line 3701 "parse.y"
 { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
     break;}
 case 859:
-#line 3702 "parse.y"
+#line 3703 "parse.y"
 { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
     break;}
 case 860:
-#line 3704 "parse.y"
+#line 3705 "parse.y"
 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
     break;}
 case 861:
-#line 3706 "parse.y"
+#line 3707 "parse.y"
 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
     break;}
 case 862:
-#line 3708 "parse.y"
+#line 3709 "parse.y"
 { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
     break;}
 case 863:
-#line 3710 "parse.y"
+#line 3711 "parse.y"
 { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
     break;}
 case 864:
-#line 3712 "parse.y"
+#line 3713 "parse.y"
 { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
     break;}
 case 865:
-#line 3714 "parse.y"
+#line 3715 "parse.y"
 { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
     break;}
 case 866:
-#line 3716 "parse.y"
+#line 3717 "parse.y"
 { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
     break;}
 case 867:
-#line 3718 "parse.y"
+#line 3719 "parse.y"
 { yyval.ttype = ansi_opname[COND_EXPR]; ;
     break;}
 case 868:
-#line 3720 "parse.y"
+#line 3721 "parse.y"
 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
     break;}
 case 869:
-#line 3722 "parse.y"
+#line 3723 "parse.y"
 { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
     break;}
 case 870:
-#line 3724 "parse.y"
+#line 3725 "parse.y"
 { yyval.ttype = ansi_opname[MEMBER_REF]; ;
     break;}
 case 871:
-#line 3726 "parse.y"
+#line 3727 "parse.y"
 { yyval.ttype = ansi_opname[CALL_EXPR]; ;
     break;}
 case 872:
-#line 3728 "parse.y"
+#line 3729 "parse.y"
 { yyval.ttype = ansi_opname[ARRAY_REF]; ;
     break;}
 case 873:
-#line 3730 "parse.y"
+#line 3731 "parse.y"
 { yyval.ttype = ansi_opname[NEW_EXPR]; ;
     break;}
 case 874:
-#line 3732 "parse.y"
+#line 3733 "parse.y"
 { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
     break;}
 case 875:
-#line 3734 "parse.y"
+#line 3735 "parse.y"
 { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
     break;}
 case 876:
-#line 3736 "parse.y"
+#line 3737 "parse.y"
 { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
     break;}
 case 877:
-#line 3739 "parse.y"
+#line 3740 "parse.y"
 { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
     break;}
 case 878:
-#line 3741 "parse.y"
+#line 3742 "parse.y"
 { yyval.ttype = ansi_opname[ERROR_MARK]; ;
     break;}
 }
@@ -8449,7 +8449,7 @@ yyerrhandle:
     }
   return 1;
 }
-#line 3744 "parse.y"
+#line 3745 "parse.y"
 
 
 #ifdef SPEW_DEBUG
index 7d9ca79668a02b9f9a76809cbd110e79ca4ed702..66886138880f3bb82f297f6d085f075077917745 100644 (file)
@@ -66,7 +66,7 @@
 #define        ALIAS   316
 #define        OBJC_STRING     317
 
-#line 33 "objc-parse.y"
+#line 34 "objc-parse.y"
 
 #include "config.h"
 #include "system.h"
@@ -96,10 +96,10 @@ const char * const language_string = "GNU Obj-C";
 /* Cause the `yydebug' variable to be defined.  */
 #define YYDEBUG 1
 
-#line 65 "objc-parse.y"
+#line 66 "objc-parse.y"
 typedef union {long itype; tree ttype; enum tree_code code;
        char *filename; int lineno; int ends_in_label; } YYSTYPE;
-#line 196 "objc-parse.y"
+#line 197 "objc-parse.y"
 
 /* Number of statements (loosely speaking) and compound statements 
    seen so far.  */
@@ -454,63 +454,63 @@ static const short yyrhs[] = {    -1,
 
 #if YYDEBUG != 0
 static const short yyrline[] = { 0,
-   257,   262,   276,   278,   278,   279,   281,   283,   284,   285,
-   293,   297,   307,   311,   315,   317,   319,   320,   321,   326,
-   333,   335,   339,   343,   349,   351,   355,   359,   365,   367,
-   371,   377,   379,   380,   381,   384,   386,   388,   390,   392,
-   394,   396,   400,   404,   407,   410,   413,   417,   419,   422,
-   425,   429,   457,   463,   466,   469,   472,   474,   476,   480,
-   484,   488,   490,   493,   497,   524,   526,   528,   530,   532,
-   534,   536,   538,   540,   542,   544,   546,   548,   550,   554,
-   556,   560,   562,   565,   569,   571,   578,   581,   589,   600,
-   760,   761,   763,   769,   771,   794,   803,   805,   807,   819,
-   833,   835,   837,   839,   841,   843,   845,   850,   852,   859,
-   861,   865,   867,   868,   878,   883,   885,   886,   887,   894,
-   899,   903,   906,   914,   919,   921,   922,   923,   930,   940,
-   944,   949,   953,   957,   961,   963,   965,   974,   977,   981,
-   983,   985,   990,   994,   997,  1001,  1004,  1006,  1018,  1021,
-  1023,  1025,  1029,  1033,  1035,  1038,  1051,  1054,  1058,  1060,
-  1068,  1069,  1070,  1074,  1076,  1081,  1083,  1085,  1091,  1092,
-  1093,  1096,  1098,  1101,  1103,  1106,  1109,  1115,  1122,  1124,
-  1131,  1138,  1141,  1148,  1151,  1155,  1158,  1162,  1167,  1170,
-  1174,  1177,  1179,  1181,  1183,  1190,  1192,  1193,  1194,  1199,
-  1201,  1203,  1205,  1210,  1214,  1217,  1219,  1224,  1226,  1227,
-  1230,  1230,  1233,  1236,  1238,  1240,  1243,  1245,  1248,  1256,
-  1270,  1278,  1282,  1296,  1304,  1311,  1313,  1318,  1321,  1326,
-  1328,  1330,  1337,  1339,  1340,  1348,  1354,  1356,  1358,  1365,
-  1367,  1373,  1379,  1381,  1383,  1385,  1392,  1394,  1397,  1400,
-  1404,  1407,  1411,  1414,  1418,  1423,  1425,  1429,  1431,  1433,
-  1435,  1439,  1441,  1443,  1446,  1448,  1451,  1455,  1457,  1460,
-  1462,  1467,  1470,  1475,  1477,  1479,  1483,  1507,  1513,  1526,
-  1531,  1536,  1538,  1543,  1545,  1549,  1553,  1557,  1567,  1569,
-  1574,  1579,  1582,  1586,  1589,  1593,  1596,  1599,  1602,  1606,
-  1609,  1613,  1617,  1619,  1621,  1623,  1625,  1627,  1629,  1631,
-  1635,  1643,  1651,  1653,  1655,  1659,  1661,  1664,  1667,  1679,
-  1681,  1686,  1688,  1691,  1705,  1708,  1711,  1713,  1715,  1719,
-  1723,  1729,  1747,  1752,  1757,  1760,  1774,  1783,  1787,  1791,
-  1795,  1801,  1805,  1810,  1813,  1818,  1821,  1822,  1838,  1843,
-  1846,  1858,  1860,  1870,  1880,  1881,  1888,  1890,  1902,  1906,
-  1920,  1926,  1932,  1933,  1938,  1943,  1947,  1951,  1962,  1969,
-  1976,  1983,  1994,  2000,  2003,  2008,  2031,  2061,  2092,  2123,
-  2138,  2152,  2156,  2160,  2163,  2168,  2170,  2173,  2175,  2179,
-  2184,  2187,  2193,  2198,  2203,  2205,  2214,  2215,  2221,  2223,
-  2233,  2235,  2239,  2242,  2248,  2257,  2265,  2273,  2282,  2295,
-  2300,  2305,  2307,  2316,  2319,  2324,  2327,  2331,  2340,  2342,
-  2343,  2344,  2345,  2346,  2360,  2363,  2367,  2373,  2379,  2386,
-  2391,  2397,  2404,  2410,  2416,  2421,  2427,  2434,  2440,  2446,
-  2452,  2460,  2466,  2472,  2480,  2487,  2493,  2502,  2509,  2517,
-  2522,  2525,  2535,  2537,  2540,  2542,  2543,  2546,  2551,  2552,
-  2569,  2575,  2580,  2584,  2587,  2588,  2591,  2599,  2605,  2614,
-  2624,  2631,  2635,  2640,  2649,  2656,  2660,  2670,  2672,  2673,
-  2675,  2677,  2678,  2679,  2680,  2682,  2684,  2687,  2695,  2702,
-  2702,  2709,  2715,  2717,  2723,  2728,  2733,  2742,  2744,  2750,
-  2752,  2755,  2757,  2758,  2759,  2762,  2767,  2769,  2773,  2776,
-  2783,  2789,  2794,  2801,  2806,  2811,  2816,  2823,  2827,  2830,
-  2836,  2838,  2839,  2840,  2843,  2845,  2846,  2847,  2848,  2849,
-  2850,  2851,  2852,  2853,  2854,  2855,  2856,  2857,  2858,  2859,
-  2860,  2861,  2862,  2863,  2863,  2866,  2872,  2877,  2882,  2888,
-  2890,  2893,  2895,  2902,  2914,  2919,  2925,  2927,  2933,  2937,
-  2938,  2944,  2946,  2949,  2951,  2957,  2962,  2968,  2975,  2984
+   258,   263,   277,   279,   279,   280,   282,   284,   285,   286,
+   294,   298,   308,   312,   316,   318,   320,   321,   322,   327,
+   334,   336,   340,   344,   350,   352,   356,   360,   366,   368,
+   372,   378,   380,   381,   382,   385,   387,   389,   391,   393,
+   395,   397,   401,   405,   408,   411,   414,   418,   420,   423,
+   426,   430,   458,   464,   467,   470,   473,   475,   477,   481,
+   485,   489,   491,   494,   498,   525,   527,   529,   531,   533,
+   535,   537,   539,   541,   543,   545,   547,   549,   551,   555,
+   557,   561,   563,   566,   570,   572,   579,   582,   590,   601,
+   761,   762,   764,   770,   772,   795,   804,   806,   808,   820,
+   834,   836,   838,   840,   842,   844,   846,   851,   853,   860,
+   862,   866,   868,   869,   879,   884,   886,   887,   888,   895,
+   900,   904,   907,   915,   920,   922,   923,   924,   931,   941,
+   945,   950,   954,   958,   962,   964,   966,   975,   978,   982,
+   984,   986,   991,   995,   998,  1002,  1005,  1007,  1019,  1022,
+  1024,  1026,  1030,  1034,  1036,  1039,  1052,  1055,  1059,  1061,
+  1069,  1070,  1071,  1075,  1077,  1082,  1084,  1086,  1092,  1093,
+  1094,  1097,  1099,  1102,  1104,  1107,  1110,  1116,  1123,  1125,
+  1132,  1139,  1142,  1149,  1152,  1156,  1159,  1163,  1168,  1171,
+  1175,  1178,  1180,  1182,  1184,  1191,  1193,  1194,  1195,  1200,
+  1202,  1204,  1206,  1211,  1215,  1218,  1220,  1225,  1227,  1228,
+  1231,  1231,  1234,  1237,  1239,  1241,  1244,  1246,  1249,  1257,
+  1271,  1279,  1283,  1297,  1305,  1312,  1314,  1319,  1322,  1327,
+  1329,  1331,  1338,  1340,  1341,  1349,  1355,  1357,  1359,  1366,
+  1368,  1374,  1380,  1382,  1384,  1386,  1393,  1395,  1398,  1401,
+  1405,  1408,  1412,  1415,  1419,  1424,  1426,  1430,  1432,  1434,
+  1436,  1440,  1442,  1444,  1447,  1449,  1452,  1456,  1458,  1461,
+  1463,  1468,  1471,  1476,  1478,  1480,  1484,  1508,  1514,  1527,
+  1532,  1537,  1539,  1544,  1546,  1550,  1554,  1558,  1568,  1570,
+  1575,  1580,  1583,  1587,  1590,  1594,  1597,  1600,  1603,  1607,
+  1610,  1614,  1618,  1620,  1622,  1624,  1626,  1628,  1630,  1632,
+  1636,  1644,  1652,  1654,  1656,  1660,  1662,  1665,  1668,  1680,
+  1682,  1687,  1689,  1692,  1706,  1709,  1712,  1714,  1716,  1720,
+  1724,  1730,  1748,  1753,  1758,  1761,  1775,  1784,  1788,  1792,
+  1796,  1802,  1806,  1811,  1814,  1819,  1822,  1823,  1839,  1844,
+  1847,  1859,  1861,  1871,  1881,  1882,  1889,  1891,  1903,  1907,
+  1921,  1927,  1933,  1934,  1939,  1944,  1948,  1952,  1963,  1970,
+  1977,  1984,  1995,  2001,  2004,  2009,  2032,  2062,  2093,  2124,
+  2139,  2153,  2157,  2161,  2164,  2169,  2171,  2174,  2176,  2180,
+  2185,  2188,  2194,  2199,  2204,  2206,  2215,  2216,  2222,  2224,
+  2234,  2236,  2240,  2243,  2249,  2258,  2266,  2274,  2283,  2296,
+  2301,  2306,  2308,  2317,  2320,  2325,  2328,  2332,  2341,  2343,
+  2344,  2345,  2346,  2347,  2361,  2364,  2368,  2374,  2380,  2387,
+  2392,  2398,  2405,  2411,  2417,  2422,  2428,  2435,  2441,  2447,
+  2453,  2461,  2467,  2473,  2481,  2488,  2494,  2503,  2510,  2518,
+  2523,  2526,  2536,  2538,  2541,  2543,  2544,  2547,  2552,  2553,
+  2570,  2576,  2581,  2585,  2588,  2589,  2592,  2600,  2606,  2615,
+  2625,  2632,  2636,  2641,  2650,  2657,  2661,  2671,  2673,  2674,
+  2676,  2678,  2679,  2680,  2681,  2683,  2685,  2688,  2696,  2703,
+  2703,  2710,  2716,  2718,  2724,  2729,  2734,  2743,  2745,  2751,
+  2753,  2756,  2758,  2759,  2760,  2763,  2768,  2770,  2774,  2777,
+  2784,  2790,  2795,  2802,  2807,  2812,  2817,  2824,  2828,  2831,
+  2837,  2839,  2840,  2841,  2844,  2846,  2847,  2848,  2849,  2850,
+  2851,  2852,  2853,  2854,  2855,  2856,  2857,  2858,  2859,  2860,
+  2861,  2862,  2863,  2864,  2864,  2867,  2873,  2878,  2883,  2889,
+  2891,  2894,  2896,  2903,  2915,  2920,  2926,  2928,  2934,  2938,
+  2939,  2945,  2947,  2950,  2952,  2958,  2963,  2969,  2976,  2985
 };
 #endif
 
@@ -1748,7 +1748,7 @@ static const short yycheck[] = {    56,
     46,    47,    48,    49,    50,    51,    52,    53,    54
 };
 /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/usr/share/misc/bison.simple"
+#line 3 "/usr/lib/bison.simple"
 /* This file comes from bison-1.28.  */
 
 /* Skeleton output parser for bison,
@@ -1962,7 +1962,7 @@ __yy_memcpy (char *to, char *from, unsigned int count)
 #endif
 #endif
 \f
-#line 217 "/usr/share/misc/bison.simple"
+#line 217 "/usr/lib/bison.simple"
 
 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
    into yyparse.  The argument should have type void *.
@@ -2291,14 +2291,14 @@ yyreduce:
   switch (yyn) {
 
 case 1:
-#line 258 "objc-parse.y"
+#line 259 "objc-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids an empty source file");
                  finish_file ();
                ;
     break;}
 case 2:
-#line 263 "objc-parse.y"
+#line 264 "objc-parse.y"
 {
                  /* In case there were missing closebraces,
                     get us back to the global binding level.  */
@@ -2308,15 +2308,15 @@ case 2:
                ;
     break;}
 case 3:
-#line 277 "objc-parse.y"
+#line 278 "objc-parse.y"
 {yyval.ttype = NULL_TREE; ;
     break;}
 case 5:
-#line 278 "objc-parse.y"
+#line 279 "objc-parse.y"
 {yyval.ttype = NULL_TREE; ;
     break;}
 case 10:
-#line 286 "objc-parse.y"
+#line 287 "objc-parse.y"
 { STRIP_NOPS (yyvsp[-2].ttype);
                  if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR
                       && TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST)
@@ -2326,11 +2326,11 @@ case 10:
                    error ("argument of `asm' is not a constant string"); ;
     break;}
 case 11:
-#line 294 "objc-parse.y"
+#line 295 "objc-parse.y"
 { RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
     break;}
 case 12:
-#line 299 "objc-parse.y"
+#line 300 "objc-parse.y"
 { if (pedantic)
                    error ("ANSI C forbids data definition with no type or storage class");
                  else if (!flag_traditional)
@@ -2341,162 +2341,162 @@ case 12:
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 13:
-#line 308 "objc-parse.y"
+#line 309 "objc-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 14:
-#line 312 "objc-parse.y"
+#line 313 "objc-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 15:
-#line 316 "objc-parse.y"
+#line 317 "objc-parse.y"
 { pedwarn ("empty declaration"); ;
     break;}
 case 16:
-#line 318 "objc-parse.y"
+#line 319 "objc-parse.y"
 { shadow_tag (yyvsp[-1].ttype); ;
     break;}
 case 19:
-#line 322 "objc-parse.y"
+#line 323 "objc-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C does not allow extra `;' outside of a function"); ;
     break;}
 case 20:
-#line 328 "objc-parse.y"
+#line 329 "objc-parse.y"
 { if (! start_function (current_declspecs, yyvsp[0].ttype,
                                        prefix_attributes, NULL_TREE))
                    YYERROR1;
                  reinit_parse_for_function (); ;
     break;}
 case 21:
-#line 333 "objc-parse.y"
+#line 334 "objc-parse.y"
 { store_parm_decls (); ;
     break;}
 case 22:
-#line 335 "objc-parse.y"
+#line 336 "objc-parse.y"
 { finish_function (0); 
                  current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 23:
-#line 340 "objc-parse.y"
+#line 341 "objc-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 24:
-#line 344 "objc-parse.y"
+#line 345 "objc-parse.y"
 { if (! start_function (current_declspecs, yyvsp[0].ttype,
                                        prefix_attributes, NULL_TREE))
                    YYERROR1;
                  reinit_parse_for_function (); ;
     break;}
 case 25:
-#line 349 "objc-parse.y"
+#line 350 "objc-parse.y"
 { store_parm_decls (); ;
     break;}
 case 26:
-#line 351 "objc-parse.y"
+#line 352 "objc-parse.y"
 { finish_function (0); 
                  current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 27:
-#line 356 "objc-parse.y"
+#line 357 "objc-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 28:
-#line 360 "objc-parse.y"
+#line 361 "objc-parse.y"
 { if (! start_function (NULL_TREE, yyvsp[0].ttype,
                                        prefix_attributes, NULL_TREE))
                    YYERROR1;
                  reinit_parse_for_function (); ;
     break;}
 case 29:
-#line 365 "objc-parse.y"
+#line 366 "objc-parse.y"
 { store_parm_decls (); ;
     break;}
 case 30:
-#line 367 "objc-parse.y"
+#line 368 "objc-parse.y"
 { finish_function (0); 
                  current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 31:
-#line 372 "objc-parse.y"
+#line 373 "objc-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 36:
-#line 385 "objc-parse.y"
+#line 386 "objc-parse.y"
 { yyval.code = ADDR_EXPR; ;
     break;}
 case 37:
-#line 387 "objc-parse.y"
+#line 388 "objc-parse.y"
 { yyval.code = NEGATE_EXPR; ;
     break;}
 case 38:
-#line 389 "objc-parse.y"
+#line 390 "objc-parse.y"
 { yyval.code = CONVERT_EXPR; ;
     break;}
 case 39:
-#line 391 "objc-parse.y"
+#line 392 "objc-parse.y"
 { yyval.code = PREINCREMENT_EXPR; ;
     break;}
 case 40:
-#line 393 "objc-parse.y"
+#line 394 "objc-parse.y"
 { yyval.code = PREDECREMENT_EXPR; ;
     break;}
 case 41:
-#line 395 "objc-parse.y"
+#line 396 "objc-parse.y"
 { yyval.code = BIT_NOT_EXPR; ;
     break;}
 case 42:
-#line 397 "objc-parse.y"
+#line 398 "objc-parse.y"
 { yyval.code = TRUTH_NOT_EXPR; ;
     break;}
 case 43:
-#line 401 "objc-parse.y"
+#line 402 "objc-parse.y"
 { yyval.ttype = build_compound_expr (yyvsp[0].ttype); ;
     break;}
 case 44:
-#line 406 "objc-parse.y"
+#line 407 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 46:
-#line 412 "objc-parse.y"
+#line 413 "objc-parse.y"
 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 47:
-#line 414 "objc-parse.y"
+#line 415 "objc-parse.y"
 { chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
     break;}
 case 49:
-#line 420 "objc-parse.y"
+#line 421 "objc-parse.y"
 { yyval.ttype = build_indirect_ref (yyvsp[0].ttype, "unary *"); ;
     break;}
 case 50:
-#line 423 "objc-parse.y"
+#line 424 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
     break;}
 case 51:
-#line 426 "objc-parse.y"
+#line 427 "objc-parse.y"
 { yyval.ttype = build_unary_op (yyvsp[-1].code, yyvsp[0].ttype, 0);
                  overflow_warning (yyval.ttype); ;
     break;}
 case 52:
-#line 430 "objc-parse.y"
+#line 431 "objc-parse.y"
 { tree label = lookup_label (yyvsp[0].ttype);
                  if (pedantic)
                    pedwarn ("ANSI C forbids `&&'");
@@ -2511,7 +2511,7 @@ case 52:
                ;
     break;}
 case 53:
-#line 458 "objc-parse.y"
+#line 459 "objc-parse.y"
 { skip_evaluation--;
                  if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
                      && DECL_C_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
@@ -2519,53 +2519,53 @@ case 53:
                  yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
     break;}
 case 54:
-#line 464 "objc-parse.y"
+#line 465 "objc-parse.y"
 { skip_evaluation--;
                  yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
     break;}
 case 55:
-#line 467 "objc-parse.y"
+#line 468 "objc-parse.y"
 { skip_evaluation--;
                  yyval.ttype = c_alignof_expr (yyvsp[0].ttype); ;
     break;}
 case 56:
-#line 470 "objc-parse.y"
+#line 471 "objc-parse.y"
 { skip_evaluation--;
                  yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
     break;}
 case 57:
-#line 473 "objc-parse.y"
+#line 474 "objc-parse.y"
 { yyval.ttype = build_unary_op (REALPART_EXPR, yyvsp[0].ttype, 0); ;
     break;}
 case 58:
-#line 475 "objc-parse.y"
+#line 476 "objc-parse.y"
 { yyval.ttype = build_unary_op (IMAGPART_EXPR, yyvsp[0].ttype, 0); ;
     break;}
 case 59:
-#line 477 "objc-parse.y"
+#line 478 "objc-parse.y"
 { yyval.ttype = build_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ttype)); ;
     break;}
 case 60:
-#line 481 "objc-parse.y"
+#line 482 "objc-parse.y"
 { skip_evaluation++; ;
     break;}
 case 61:
-#line 485 "objc-parse.y"
+#line 486 "objc-parse.y"
 { skip_evaluation++; ;
     break;}
 case 63:
-#line 491 "objc-parse.y"
+#line 492 "objc-parse.y"
 { tree type = groktypename (yyvsp[-2].ttype);
                  yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
     break;}
 case 64:
-#line 494 "objc-parse.y"
+#line 495 "objc-parse.y"
 { start_init (NULL_TREE, NULL, 0);
                  yyvsp[-2].ttype = groktypename (yyvsp[-2].ttype);
                  really_start_incremental_init (yyvsp[-2].ttype); ;
     break;}
 case 65:
-#line 498 "objc-parse.y"
+#line 499 "objc-parse.y"
 { const char *name;
                  tree result = pop_init_level (0);
                  tree type = yyvsp[-5].ttype;
@@ -2592,90 +2592,90 @@ case 65:
                ;
     break;}
 case 67:
-#line 527 "objc-parse.y"
+#line 528 "objc-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 68:
-#line 529 "objc-parse.y"
+#line 530 "objc-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 69:
-#line 531 "objc-parse.y"
+#line 532 "objc-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 70:
-#line 533 "objc-parse.y"
+#line 534 "objc-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 71:
-#line 535 "objc-parse.y"
+#line 536 "objc-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 72:
-#line 537 "objc-parse.y"
+#line 538 "objc-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 73:
-#line 539 "objc-parse.y"
+#line 540 "objc-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 74:
-#line 541 "objc-parse.y"
+#line 542 "objc-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 75:
-#line 543 "objc-parse.y"
+#line 544 "objc-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 76:
-#line 545 "objc-parse.y"
+#line 546 "objc-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 77:
-#line 547 "objc-parse.y"
+#line 548 "objc-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 78:
-#line 549 "objc-parse.y"
+#line 550 "objc-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 79:
-#line 551 "objc-parse.y"
+#line 552 "objc-parse.y"
 { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
                  skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
     break;}
 case 80:
-#line 554 "objc-parse.y"
+#line 555 "objc-parse.y"
 { skip_evaluation -= yyvsp[-3].ttype == boolean_false_node;
                  yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
     break;}
 case 81:
-#line 557 "objc-parse.y"
+#line 558 "objc-parse.y"
 { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
                  skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
     break;}
 case 82:
-#line 560 "objc-parse.y"
+#line 561 "objc-parse.y"
 { skip_evaluation -= yyvsp[-3].ttype == boolean_true_node;
                  yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
     break;}
 case 83:
-#line 563 "objc-parse.y"
+#line 564 "objc-parse.y"
 { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
                  skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
     break;}
 case 84:
-#line 566 "objc-parse.y"
+#line 567 "objc-parse.y"
 { skip_evaluation += ((yyvsp[-4].ttype == boolean_true_node)
                                      - (yyvsp[-4].ttype == boolean_false_node)); ;
     break;}
 case 85:
-#line 569 "objc-parse.y"
+#line 570 "objc-parse.y"
 { skip_evaluation -= yyvsp[-6].ttype == boolean_true_node;
                  yyval.ttype = build_conditional_expr (yyvsp[-6].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
     break;}
 case 86:
-#line 572 "objc-parse.y"
+#line 573 "objc-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids omitting the middle term of a ?: expression");
                  /* Make sure first operand is calculated only once.  */
@@ -2684,12 +2684,12 @@ case 86:
                  skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
     break;}
 case 87:
-#line 579 "objc-parse.y"
+#line 580 "objc-parse.y"
 { skip_evaluation -= yyvsp[-4].ttype == boolean_true_node;
                  yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
     break;}
 case 88:
-#line 582 "objc-parse.y"
+#line 583 "objc-parse.y"
 { char class;
                  yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype);
                  class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
@@ -2699,7 +2699,7 @@ case 88:
                ;
     break;}
 case 89:
-#line 590 "objc-parse.y"
+#line 591 "objc-parse.y"
 { char class;
                  yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype);
                  /* This inhibits warnings in truthvalue_conversion.  */
@@ -2710,7 +2710,7 @@ case 89:
                ;
     break;}
 case 90:
-#line 602 "objc-parse.y"
+#line 603 "objc-parse.y"
 {
                  yyval.ttype = lastiddecl;
                  if (!yyval.ttype || yyval.ttype == error_mark_node)
@@ -2871,11 +2871,11 @@ case 90:
                ;
     break;}
 case 92:
-#line 762 "objc-parse.y"
+#line 763 "objc-parse.y"
 { yyval.ttype = combine_strings (yyvsp[0].ttype); ;
     break;}
 case 93:
-#line 764 "objc-parse.y"
+#line 765 "objc-parse.y"
 { char class = TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype));
                  if (class == 'e' || class == '1'
                      || class == '2' || class == '<')
@@ -2883,11 +2883,11 @@ case 93:
                  yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 94:
-#line 770 "objc-parse.y"
+#line 771 "objc-parse.y"
 { yyval.ttype = error_mark_node; ;
     break;}
 case 95:
-#line 772 "objc-parse.y"
+#line 773 "objc-parse.y"
 { tree rtl_exp;
                  if (pedantic)
                    pedwarn ("ANSI C forbids braced-groups within expressions");
@@ -2912,7 +2912,7 @@ case 95:
                ;
     break;}
 case 96:
-#line 795 "objc-parse.y"
+#line 796 "objc-parse.y"
 {
                  /* Make sure we call expand_end_stmt_expr.  Otherwise
                     we are likely to lose sequences and crash later.  */
@@ -2923,15 +2923,15 @@ case 96:
                ;
     break;}
 case 97:
-#line 804 "objc-parse.y"
+#line 805 "objc-parse.y"
 { yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 98:
-#line 806 "objc-parse.y"
+#line 807 "objc-parse.y"
 { yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 99:
-#line 808 "objc-parse.y"
+#line 809 "objc-parse.y"
 {
                   if (doing_objc_thang)
                     {
@@ -2945,7 +2945,7 @@ case 99:
                ;
     break;}
 case 100:
-#line 820 "objc-parse.y"
+#line 821 "objc-parse.y"
 {
                   tree expr = build_indirect_ref (yyvsp[-2].ttype, "->");
 
@@ -2961,79 +2961,79 @@ case 100:
                ;
     break;}
 case 101:
-#line 834 "objc-parse.y"
+#line 835 "objc-parse.y"
 { yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ;
     break;}
 case 102:
-#line 836 "objc-parse.y"
+#line 837 "objc-parse.y"
 { yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ;
     break;}
 case 103:
-#line 838 "objc-parse.y"
+#line 839 "objc-parse.y"
 { yyval.ttype = build_message_expr (yyvsp[0].ttype); ;
     break;}
 case 104:
-#line 840 "objc-parse.y"
+#line 841 "objc-parse.y"
 { yyval.ttype = build_selector_expr (yyvsp[0].ttype); ;
     break;}
 case 105:
-#line 842 "objc-parse.y"
+#line 843 "objc-parse.y"
 { yyval.ttype = build_protocol_expr (yyvsp[0].ttype); ;
     break;}
 case 106:
-#line 844 "objc-parse.y"
+#line 845 "objc-parse.y"
 { yyval.ttype = build_encode_expr (yyvsp[0].ttype); ;
     break;}
 case 107:
-#line 846 "objc-parse.y"
+#line 847 "objc-parse.y"
 { yyval.ttype = build_objc_string_object (yyvsp[0].ttype); ;
     break;}
 case 109:
-#line 853 "objc-parse.y"
+#line 854 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
                ;
     break;}
 case 111:
-#line 862 "objc-parse.y"
+#line 863 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 114:
-#line 870 "objc-parse.y"
+#line 871 "objc-parse.y"
 { c_mark_varargs ();
                  if (pedantic)
                    pedwarn ("ANSI C does not permit use of `varargs.h'"); ;
     break;}
 case 115:
-#line 880 "objc-parse.y"
+#line 881 "objc-parse.y"
 { ;
     break;}
 case 120:
-#line 896 "objc-parse.y"
+#line 897 "objc-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 121:
-#line 900 "objc-parse.y"
+#line 901 "objc-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);     
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 122:
-#line 904 "objc-parse.y"
+#line 905 "objc-parse.y"
 { shadow_tag_warned (yyvsp[-1].ttype, 1);
                  pedwarn ("empty declaration"); ;
     break;}
 case 123:
-#line 907 "objc-parse.y"
+#line 908 "objc-parse.y"
 { pedwarn ("empty declaration"); ;
     break;}
 case 124:
-#line 916 "objc-parse.y"
+#line 917 "objc-parse.y"
 { ;
     break;}
 case 129:
-#line 931 "objc-parse.y"
+#line 932 "objc-parse.y"
 { pending_xref_error ();
                  declspec_stack = tree_cons (prefix_attributes,
                                              current_declspecs,
@@ -3042,127 +3042,127 @@ case 129:
                                     &current_declspecs, &prefix_attributes); ;
     break;}
 case 130:
-#line 941 "objc-parse.y"
+#line 942 "objc-parse.y"
 { prefix_attributes = chainon (prefix_attributes, yyvsp[0].ttype); ;
     break;}
 case 131:
-#line 946 "objc-parse.y"
+#line 947 "objc-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 132:
-#line 950 "objc-parse.y"
+#line 951 "objc-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 133:
-#line 954 "objc-parse.y"
+#line 955 "objc-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 134:
-#line 958 "objc-parse.y"
+#line 959 "objc-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 135:
-#line 962 "objc-parse.y"
+#line 963 "objc-parse.y"
 { shadow_tag (yyvsp[-1].ttype); ;
     break;}
 case 136:
-#line 964 "objc-parse.y"
+#line 965 "objc-parse.y"
 { pedwarn ("empty declaration"); ;
     break;}
 case 137:
-#line 966 "objc-parse.y"
+#line 967 "objc-parse.y"
 { RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
     break;}
 case 138:
-#line 976 "objc-parse.y"
+#line 977 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 139:
-#line 978 "objc-parse.y"
+#line 979 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
     break;}
 case 140:
-#line 982 "objc-parse.y"
+#line 983 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 141:
-#line 984 "objc-parse.y"
+#line 985 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 142:
-#line 986 "objc-parse.y"
+#line 987 "objc-parse.y"
 { if (extra_warnings)
                    warning ("`%s' is not at beginning of declaration",
                             IDENTIFIER_POINTER (yyvsp[0].ttype));
                  yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 143:
-#line 991 "objc-parse.y"
+#line 992 "objc-parse.y"
 { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
     break;}
 case 144:
-#line 996 "objc-parse.y"
+#line 997 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 145:
-#line 998 "objc-parse.y"
+#line 999 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
     break;}
 case 146:
-#line 1003 "objc-parse.y"
+#line 1004 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 147:
-#line 1005 "objc-parse.y"
+#line 1006 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 148:
-#line 1007 "objc-parse.y"
+#line 1008 "objc-parse.y"
 { if (extra_warnings)
                    warning ("`%s' is not at beginning of declaration",
                             IDENTIFIER_POINTER (yyvsp[0].ttype));
                  yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 149:
-#line 1020 "objc-parse.y"
+#line 1021 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 150:
-#line 1022 "objc-parse.y"
+#line 1023 "objc-parse.y"
 { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
     break;}
 case 151:
-#line 1024 "objc-parse.y"
+#line 1025 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 152:
-#line 1026 "objc-parse.y"
+#line 1027 "objc-parse.y"
 { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
     break;}
 case 153:
-#line 1031 "objc-parse.y"
+#line 1032 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
                  TREE_STATIC (yyval.ttype) = 1; ;
     break;}
 case 154:
-#line 1034 "objc-parse.y"
+#line 1035 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 155:
-#line 1036 "objc-parse.y"
+#line 1037 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
                  TREE_STATIC (yyval.ttype) = 1; ;
     break;}
 case 156:
-#line 1039 "objc-parse.y"
+#line 1040 "objc-parse.y"
 { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
                    warning ("`%s' is not at beginning of declaration",
                             IDENTIFIER_POINTER (yyvsp[0].ttype));
@@ -3170,180 +3170,180 @@ case 156:
                  TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
     break;}
 case 157:
-#line 1053 "objc-parse.y"
+#line 1054 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 158:
-#line 1055 "objc-parse.y"
+#line 1056 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
     break;}
 case 159:
-#line 1059 "objc-parse.y"
+#line 1060 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 160:
-#line 1061 "objc-parse.y"
+#line 1062 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 163:
-#line 1071 "objc-parse.y"
+#line 1072 "objc-parse.y"
 { /* For a typedef name, record the meaning, not the name.
                     In case of `foo foo, bar;'.  */
                  yyval.ttype = lookup_name (yyvsp[0].ttype); ;
     break;}
 case 164:
-#line 1075 "objc-parse.y"
+#line 1076 "objc-parse.y"
 { yyval.ttype = get_static_reference (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 165:
-#line 1077 "objc-parse.y"
+#line 1078 "objc-parse.y"
 { yyval.ttype = get_object_reference (yyvsp[0].ttype); ;
     break;}
 case 166:
-#line 1082 "objc-parse.y"
+#line 1083 "objc-parse.y"
 { yyval.ttype = get_object_reference (yyvsp[0].ttype); ;
     break;}
 case 167:
-#line 1084 "objc-parse.y"
+#line 1085 "objc-parse.y"
 { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); ;
     break;}
 case 168:
-#line 1086 "objc-parse.y"
+#line 1087 "objc-parse.y"
 { yyval.ttype = groktypename (yyvsp[-1].ttype); ;
     break;}
 case 176:
-#line 1108 "objc-parse.y"
+#line 1109 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 177:
-#line 1110 "objc-parse.y"
+#line 1111 "objc-parse.y"
 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype);
                  yyval.ttype = yyvsp[-1].ttype;
                ;
     break;}
 case 178:
-#line 1117 "objc-parse.y"
+#line 1118 "objc-parse.y"
 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
                                          yyvsp[-1].ttype, prefix_attributes);
                  start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
     break;}
 case 179:
-#line 1122 "objc-parse.y"
+#line 1123 "objc-parse.y"
 { finish_init ();
                  finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
     break;}
 case 180:
-#line 1125 "objc-parse.y"
+#line 1126 "objc-parse.y"
 { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
                                       yyvsp[0].ttype, prefix_attributes);
                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype); 
                 ;
     break;}
 case 181:
-#line 1133 "objc-parse.y"
+#line 1134 "objc-parse.y"
 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
                                          yyvsp[-1].ttype, prefix_attributes);
                  start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
     break;}
 case 182:
-#line 1138 "objc-parse.y"
+#line 1139 "objc-parse.y"
 { finish_init ();
                  decl_attributes (yyvsp[-1].ttype, yyvsp[-3].ttype, prefix_attributes);
                  finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
     break;}
 case 183:
-#line 1142 "objc-parse.y"
+#line 1143 "objc-parse.y"
 { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
                                       yyvsp[0].ttype, prefix_attributes);
                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
     break;}
 case 184:
-#line 1150 "objc-parse.y"
+#line 1151 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 185:
-#line 1152 "objc-parse.y"
+#line 1153 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 186:
-#line 1157 "objc-parse.y"
+#line 1158 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 187:
-#line 1159 "objc-parse.y"
+#line 1160 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 188:
-#line 1164 "objc-parse.y"
+#line 1165 "objc-parse.y"
 { yyval.ttype = yyvsp[-2].ttype; ;
     break;}
 case 189:
-#line 1169 "objc-parse.y"
+#line 1170 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 190:
-#line 1171 "objc-parse.y"
+#line 1172 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 191:
-#line 1176 "objc-parse.y"
+#line 1177 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 192:
-#line 1178 "objc-parse.y"
+#line 1179 "objc-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 193:
-#line 1180 "objc-parse.y"
+#line 1181 "objc-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
     break;}
 case 194:
-#line 1182 "objc-parse.y"
+#line 1183 "objc-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
     break;}
 case 195:
-#line 1184 "objc-parse.y"
+#line 1185 "objc-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 201:
-#line 1202 "objc-parse.y"
+#line 1203 "objc-parse.y"
 { really_start_incremental_init (NULL_TREE); ;
     break;}
 case 202:
-#line 1204 "objc-parse.y"
+#line 1205 "objc-parse.y"
 { yyval.ttype = pop_init_level (0); ;
     break;}
 case 203:
-#line 1206 "objc-parse.y"
+#line 1207 "objc-parse.y"
 { yyval.ttype = error_mark_node; ;
     break;}
 case 204:
-#line 1212 "objc-parse.y"
+#line 1213 "objc-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids empty initializer braces"); ;
     break;}
 case 210:
-#line 1228 "objc-parse.y"
+#line 1229 "objc-parse.y"
 { set_init_label (yyvsp[-1].ttype); ;
     break;}
 case 213:
-#line 1235 "objc-parse.y"
+#line 1236 "objc-parse.y"
 { push_init_level (0); ;
     break;}
 case 214:
-#line 1237 "objc-parse.y"
+#line 1238 "objc-parse.y"
 { process_init_element (pop_init_level (0)); ;
     break;}
 case 215:
-#line 1239 "objc-parse.y"
+#line 1240 "objc-parse.y"
 { process_init_element (yyvsp[0].ttype); ;
     break;}
 case 219:
-#line 1250 "objc-parse.y"
+#line 1251 "objc-parse.y"
 { set_init_label (yyvsp[0].ttype); ;
     break;}
 case 220:
-#line 1258 "objc-parse.y"
+#line 1259 "objc-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids nested functions");
 
@@ -3357,16 +3357,16 @@ case 220:
                  reinit_parse_for_function (); ;
     break;}
 case 221:
-#line 1270 "objc-parse.y"
+#line 1271 "objc-parse.y"
 { store_parm_decls (); ;
     break;}
 case 222:
-#line 1278 "objc-parse.y"
+#line 1279 "objc-parse.y"
 { finish_function (1);
                  pop_function_context (); ;
     break;}
 case 223:
-#line 1284 "objc-parse.y"
+#line 1285 "objc-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids nested functions");
 
@@ -3380,195 +3380,195 @@ case 223:
                  reinit_parse_for_function (); ;
     break;}
 case 224:
-#line 1296 "objc-parse.y"
+#line 1297 "objc-parse.y"
 { store_parm_decls (); ;
     break;}
 case 225:
-#line 1304 "objc-parse.y"
+#line 1305 "objc-parse.y"
 { finish_function (1);
                  pop_function_context (); ;
     break;}
 case 228:
-#line 1320 "objc-parse.y"
+#line 1321 "objc-parse.y"
 { yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 229:
-#line 1322 "objc-parse.y"
+#line 1323 "objc-parse.y"
 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 230:
-#line 1327 "objc-parse.y"
+#line 1328 "objc-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 231:
-#line 1329 "objc-parse.y"
+#line 1330 "objc-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
     break;}
 case 232:
-#line 1331 "objc-parse.y"
+#line 1332 "objc-parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 233:
-#line 1338 "objc-parse.y"
+#line 1339 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 236:
-#line 1350 "objc-parse.y"
+#line 1351 "objc-parse.y"
 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 237:
-#line 1355 "objc-parse.y"
+#line 1356 "objc-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 238:
-#line 1357 "objc-parse.y"
+#line 1358 "objc-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
     break;}
 case 239:
-#line 1359 "objc-parse.y"
+#line 1360 "objc-parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 240:
-#line 1366 "objc-parse.y"
+#line 1367 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 242:
-#line 1375 "objc-parse.y"
+#line 1376 "objc-parse.y"
 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 243:
-#line 1380 "objc-parse.y"
+#line 1381 "objc-parse.y"
 { yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 244:
-#line 1382 "objc-parse.y"
+#line 1383 "objc-parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 245:
-#line 1384 "objc-parse.y"
+#line 1385 "objc-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 246:
-#line 1386 "objc-parse.y"
+#line 1387 "objc-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
     break;}
 case 247:
-#line 1393 "objc-parse.y"
+#line 1394 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 249:
-#line 1399 "objc-parse.y"
+#line 1400 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 250:
-#line 1401 "objc-parse.y"
+#line 1402 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 251:
-#line 1406 "objc-parse.y"
+#line 1407 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 252:
-#line 1408 "objc-parse.y"
+#line 1409 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 253:
-#line 1413 "objc-parse.y"
+#line 1414 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 254:
-#line 1415 "objc-parse.y"
+#line 1416 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 255:
-#line 1420 "objc-parse.y"
+#line 1421 "objc-parse.y"
 { yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype);
                  /* Start scope of tag before parsing components.  */
                ;
     break;}
 case 256:
-#line 1424 "objc-parse.y"
+#line 1425 "objc-parse.y"
 { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
     break;}
 case 257:
-#line 1426 "objc-parse.y"
+#line 1427 "objc-parse.y"
 { yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE),
                                      yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
                ;
     break;}
 case 258:
-#line 1430 "objc-parse.y"
+#line 1431 "objc-parse.y"
 { yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ;
     break;}
 case 259:
-#line 1432 "objc-parse.y"
+#line 1433 "objc-parse.y"
 { yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ;
     break;}
 case 260:
-#line 1434 "objc-parse.y"
+#line 1435 "objc-parse.y"
 { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
     break;}
 case 261:
-#line 1436 "objc-parse.y"
+#line 1437 "objc-parse.y"
 { yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE),
                                      yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
                ;
     break;}
 case 262:
-#line 1440 "objc-parse.y"
+#line 1441 "objc-parse.y"
 { yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ;
     break;}
 case 263:
-#line 1442 "objc-parse.y"
+#line 1443 "objc-parse.y"
 { yyval.ttype = start_enum (yyvsp[-1].ttype); ;
     break;}
 case 264:
-#line 1444 "objc-parse.y"
+#line 1445 "objc-parse.y"
 { yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype),
                                    chainon (yyvsp[-7].ttype, yyvsp[0].ttype)); ;
     break;}
 case 265:
-#line 1447 "objc-parse.y"
+#line 1448 "objc-parse.y"
 { yyval.ttype = start_enum (NULL_TREE); ;
     break;}
 case 266:
-#line 1449 "objc-parse.y"
+#line 1450 "objc-parse.y"
 { yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype),
                                    chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
     break;}
 case 267:
-#line 1452 "objc-parse.y"
+#line 1453 "objc-parse.y"
 { yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype); ;
     break;}
 case 271:
-#line 1463 "objc-parse.y"
+#line 1464 "objc-parse.y"
 { if (pedantic && ! flag_isoc99)
                    pedwarn ("comma at end of enumerator list"); ;
     break;}
 case 272:
-#line 1469 "objc-parse.y"
+#line 1470 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 273:
-#line 1471 "objc-parse.y"
+#line 1472 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
                  pedwarn ("no semicolon at end of struct or union"); ;
     break;}
 case 274:
-#line 1476 "objc-parse.y"
+#line 1477 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 275:
-#line 1478 "objc-parse.y"
+#line 1479 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
     break;}
 case 276:
-#line 1480 "objc-parse.y"
+#line 1481 "objc-parse.y"
 { if (pedantic)
                    pedwarn ("extra semicolon in struct or union specified"); ;
     break;}
 case 277:
-#line 1484 "objc-parse.y"
+#line 1485 "objc-parse.y"
 {
                  tree interface = lookup_interface (yyvsp[-1].ttype);
 
@@ -3583,14 +3583,14 @@ case 277:
                ;
     break;}
 case 278:
-#line 1509 "objc-parse.y"
+#line 1510 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 279:
-#line 1514 "objc-parse.y"
+#line 1515 "objc-parse.y"
 {
                  /* Support for unnamed structs or unions as members of 
                     structs or unions (which is [a] useful and [b] supports 
@@ -3605,151 +3605,151 @@ case 279:
                ;
     break;}
 case 280:
-#line 1527 "objc-parse.y"
+#line 1528 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 281:
-#line 1532 "objc-parse.y"
+#line 1533 "objc-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids member declarations with no members");
                  shadow_tag(yyvsp[0].ttype);
                  yyval.ttype = NULL_TREE; ;
     break;}
 case 282:
-#line 1537 "objc-parse.y"
+#line 1538 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 283:
-#line 1539 "objc-parse.y"
+#line 1540 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
     break;}
 case 285:
-#line 1546 "objc-parse.y"
+#line 1547 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 286:
-#line 1551 "objc-parse.y"
+#line 1552 "objc-parse.y"
 { yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-1].ttype, current_declspecs, NULL_TREE);
                  decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
     break;}
 case 287:
-#line 1555 "objc-parse.y"
+#line 1556 "objc-parse.y"
 { yyval.ttype = grokfield (yyvsp[-5].filename, yyvsp[-4].lineno, yyvsp[-3].ttype, current_declspecs, yyvsp[-1].ttype);
                  decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
     break;}
 case 288:
-#line 1558 "objc-parse.y"
+#line 1559 "objc-parse.y"
 { yyval.ttype = grokfield (yyvsp[-4].filename, yyvsp[-3].lineno, NULL_TREE, current_declspecs, yyvsp[-1].ttype);
                  decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
     break;}
 case 290:
-#line 1570 "objc-parse.y"
+#line 1571 "objc-parse.y"
 { if (yyvsp[-2].ttype == error_mark_node)
                    yyval.ttype = yyvsp[-2].ttype;
                  else
                    yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ;
     break;}
 case 291:
-#line 1575 "objc-parse.y"
+#line 1576 "objc-parse.y"
 { yyval.ttype = error_mark_node; ;
     break;}
 case 292:
-#line 1581 "objc-parse.y"
+#line 1582 "objc-parse.y"
 { yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 293:
-#line 1583 "objc-parse.y"
+#line 1584 "objc-parse.y"
 { yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 294:
-#line 1588 "objc-parse.y"
+#line 1589 "objc-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 295:
-#line 1590 "objc-parse.y"
+#line 1591 "objc-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 296:
-#line 1595 "objc-parse.y"
+#line 1596 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 298:
-#line 1601 "objc-parse.y"
+#line 1602 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 299:
-#line 1603 "objc-parse.y"
+#line 1604 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 300:
-#line 1608 "objc-parse.y"
+#line 1609 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 301:
-#line 1610 "objc-parse.y"
+#line 1611 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 302:
-#line 1615 "objc-parse.y"
+#line 1616 "objc-parse.y"
 { yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 303:
-#line 1618 "objc-parse.y"
+#line 1619 "objc-parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 304:
-#line 1620 "objc-parse.y"
+#line 1621 "objc-parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 305:
-#line 1622 "objc-parse.y"
+#line 1623 "objc-parse.y"
 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 306:
-#line 1624 "objc-parse.y"
+#line 1625 "objc-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 307:
-#line 1626 "objc-parse.y"
+#line 1627 "objc-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
     break;}
 case 308:
-#line 1628 "objc-parse.y"
+#line 1629 "objc-parse.y"
 { yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 309:
-#line 1630 "objc-parse.y"
+#line 1631 "objc-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
     break;}
 case 310:
-#line 1632 "objc-parse.y"
+#line 1633 "objc-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ;
     break;}
 case 311:
-#line 1636 "objc-parse.y"
+#line 1637 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 312:
-#line 1645 "objc-parse.y"
+#line 1646 "objc-parse.y"
 {
                  if (pedantic && yyvsp[0].ends_in_label)
                    pedwarn ("ANSI C forbids label at end of compound statement");
                ;
     break;}
 case 314:
-#line 1654 "objc-parse.y"
+#line 1655 "objc-parse.y"
 { yyval.ends_in_label = yyvsp[0].ends_in_label; ;
     break;}
 case 315:
-#line 1656 "objc-parse.y"
+#line 1657 "objc-parse.y"
 { yyval.ends_in_label = 0; ;
     break;}
 case 319:
-#line 1668 "objc-parse.y"
+#line 1669 "objc-parse.y"
 { emit_line_note (input_filename, lineno);
                  pushlevel (0);
                  clear_last_expr ();
@@ -3759,12 +3759,12 @@ case 319:
                ;
     break;}
 case 321:
-#line 1682 "objc-parse.y"
+#line 1683 "objc-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids label declarations"); ;
     break;}
 case 324:
-#line 1693 "objc-parse.y"
+#line 1694 "objc-parse.y"
 { tree link;
                  for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
                    {
@@ -3775,37 +3775,37 @@ case 324:
                ;
     break;}
 case 325:
-#line 1707 "objc-parse.y"
+#line 1708 "objc-parse.y"
 {;
     break;}
 case 327:
-#line 1711 "objc-parse.y"
+#line 1712 "objc-parse.y"
 { compstmt_count++; ;
     break;}
 case 328:
-#line 1714 "objc-parse.y"
+#line 1715 "objc-parse.y"
 { yyval.ttype = convert (void_type_node, integer_zero_node); ;
     break;}
 case 329:
-#line 1716 "objc-parse.y"
+#line 1717 "objc-parse.y"
 { emit_line_note (input_filename, lineno);
                  expand_end_bindings (getdecls (), 1, 0);
                  yyval.ttype = poplevel (1, 1, 0); ;
     break;}
 case 330:
-#line 1720 "objc-parse.y"
+#line 1721 "objc-parse.y"
 { emit_line_note (input_filename, lineno);
                  expand_end_bindings (getdecls (), kept_level_p (), 0);
                  yyval.ttype = poplevel (kept_level_p (), 0, 0); ;
     break;}
 case 331:
-#line 1724 "objc-parse.y"
+#line 1725 "objc-parse.y"
 { emit_line_note (input_filename, lineno);
                  expand_end_bindings (getdecls (), kept_level_p (), 0);
                  yyval.ttype = poplevel (kept_level_p (), 0, 0); ;
     break;}
 case 332:
-#line 1731 "objc-parse.y"
+#line 1732 "objc-parse.y"
 { if (current_function_decl == 0)
                    {
                      error ("braced-group within expression allowed only inside a function");
@@ -3823,11 +3823,11 @@ case 332:
                ;
     break;}
 case 333:
-#line 1748 "objc-parse.y"
+#line 1749 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 336:
-#line 1762 "objc-parse.y"
+#line 1763 "objc-parse.y"
 { emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
                  c_expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0, 
                                       compstmt_count);
@@ -3837,7 +3837,7 @@ case 336:
                  position_after_white_space (); ;
     break;}
 case 337:
-#line 1776 "objc-parse.y"
+#line 1777 "objc-parse.y"
 { stmt_count++;
                  compstmt_count++;
                  emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
@@ -3847,43 +3847,43 @@ case 337:
                  position_after_white_space (); ;
     break;}
 case 338:
-#line 1784 "objc-parse.y"
+#line 1785 "objc-parse.y"
 { expand_loop_continue_here (); ;
     break;}
 case 339:
-#line 1788 "objc-parse.y"
+#line 1789 "objc-parse.y"
 { yyval.filename = input_filename; ;
     break;}
 case 340:
-#line 1792 "objc-parse.y"
+#line 1793 "objc-parse.y"
 { yyval.lineno = lineno; ;
     break;}
 case 341:
-#line 1797 "objc-parse.y"
+#line 1798 "objc-parse.y"
 { ;
     break;}
 case 342:
-#line 1802 "objc-parse.y"
+#line 1803 "objc-parse.y"
 { ;
     break;}
 case 343:
-#line 1807 "objc-parse.y"
+#line 1808 "objc-parse.y"
 { yyval.ends_in_label = yyvsp[0].ends_in_label; ;
     break;}
 case 344:
-#line 1812 "objc-parse.y"
+#line 1813 "objc-parse.y"
 { yyval.ends_in_label = 0; ;
     break;}
 case 345:
-#line 1814 "objc-parse.y"
+#line 1815 "objc-parse.y"
 { yyval.ends_in_label = 1; ;
     break;}
 case 346:
-#line 1820 "objc-parse.y"
+#line 1821 "objc-parse.y"
 { stmt_count++; ;
     break;}
 case 348:
-#line 1823 "objc-parse.y"
+#line 1824 "objc-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
 /* It appears that this should not be done--that a non-lvalue array
@@ -3901,19 +3901,19 @@ case 348:
                  iterator_expand (yyvsp[-1].ttype); ;
     break;}
 case 349:
-#line 1839 "objc-parse.y"
+#line 1840 "objc-parse.y"
 { c_expand_start_else ();
                  yyvsp[-1].itype = stmt_count;
                  position_after_white_space (); ;
     break;}
 case 350:
-#line 1843 "objc-parse.y"
+#line 1844 "objc-parse.y"
 { c_expand_end_cond ();
                  if (extra_warnings && stmt_count == yyvsp[-3].itype)
                    warning ("empty body in an else-statement"); ;
     break;}
 case 351:
-#line 1847 "objc-parse.y"
+#line 1848 "objc-parse.y"
 { c_expand_end_cond ();
                  /* This warning is here instead of in simple_if, because we
                     do not want a warning if an empty if is followed by an
@@ -3924,11 +3924,11 @@ case 351:
                                                "empty body in an if-statement"); ;
     break;}
 case 352:
-#line 1859 "objc-parse.y"
+#line 1860 "objc-parse.y"
 { c_expand_end_cond (); ;
     break;}
 case 353:
-#line 1861 "objc-parse.y"
+#line 1862 "objc-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
                  /* The emit_nop used to come before emit_line_note,
@@ -3940,7 +3940,7 @@ case 353:
                  emit_nop (); ;
     break;}
 case 354:
-#line 1871 "objc-parse.y"
+#line 1872 "objc-parse.y"
 { /* Don't start the loop till we have succeeded
                     in parsing the end test.  This is to make sure
                     that we end every loop we start.  */
@@ -3951,22 +3951,22 @@ case 354:
                  position_after_white_space (); ;
     break;}
 case 355:
-#line 1880 "objc-parse.y"
+#line 1881 "objc-parse.y"
 { expand_end_loop (); ;
     break;}
 case 356:
-#line 1883 "objc-parse.y"
+#line 1884 "objc-parse.y"
 { emit_line_note (input_filename, lineno);
                  expand_exit_loop_if_false (NULL_PTR,
                                             truthvalue_conversion (yyvsp[-2].ttype));
                  expand_end_loop (); ;
     break;}
 case 357:
-#line 1889 "objc-parse.y"
+#line 1890 "objc-parse.y"
 { expand_end_loop (); ;
     break;}
 case 358:
-#line 1892 "objc-parse.y"
+#line 1893 "objc-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
                  /* See comment in `while' alternative, above.  */
@@ -3979,12 +3979,12 @@ case 358:
                ;
     break;}
 case 359:
-#line 1904 "objc-parse.y"
+#line 1905 "objc-parse.y"
 { yyvsp[0].lineno = lineno;
                  yyval.filename = input_filename; ;
     break;}
 case 360:
-#line 1907 "objc-parse.y"
+#line 1908 "objc-parse.y"
 { 
                  /* Start the loop.  Doing this after parsing
                     all the expressions ensures we will end the loop.  */
@@ -3999,7 +3999,7 @@ case 360:
                  position_after_white_space (); ;
     break;}
 case 361:
-#line 1920 "objc-parse.y"
+#line 1921 "objc-parse.y"
 { /* Emit the increment expression, with a line number.  */
                  emit_line_note (yyvsp[-4].filename, yyvsp[-5].lineno);
                  expand_loop_continue_here ();
@@ -4008,44 +4008,44 @@ case 361:
                  expand_end_loop (); ;
     break;}
 case 362:
-#line 1927 "objc-parse.y"
+#line 1928 "objc-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
                  c_expand_start_case (yyvsp[-1].ttype);
                  position_after_white_space (); ;
     break;}
 case 363:
-#line 1932 "objc-parse.y"
+#line 1933 "objc-parse.y"
 { expand_end_case (yyvsp[-3].ttype); ;
     break;}
 case 364:
-#line 1934 "objc-parse.y"
+#line 1935 "objc-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
                  if ( ! expand_exit_something ())
                    error ("break statement not within loop or switch"); ;
     break;}
 case 365:
-#line 1939 "objc-parse.y"
+#line 1940 "objc-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
                  if (! expand_continue_loop (NULL_PTR))
                    error ("continue statement not within a loop"); ;
     break;}
 case 366:
-#line 1944 "objc-parse.y"
+#line 1945 "objc-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
                  c_expand_return (NULL_TREE); ;
     break;}
 case 367:
-#line 1948 "objc-parse.y"
+#line 1949 "objc-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
                  c_expand_return (yyvsp[-1].ttype); ;
     break;}
 case 368:
-#line 1952 "objc-parse.y"
+#line 1953 "objc-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-7].filename, yyvsp[-6].lineno);
                  STRIP_NOPS (yyvsp[-2].ttype);
@@ -4057,7 +4057,7 @@ case 368:
                    error ("argument of `asm' is not a constant string"); ;
     break;}
 case 369:
-#line 1963 "objc-parse.y"
+#line 1964 "objc-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-9].filename, yyvsp[-8].lineno);
                  c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
@@ -4065,7 +4065,7 @@ case 369:
                                         input_filename, lineno); ;
     break;}
 case 370:
-#line 1970 "objc-parse.y"
+#line 1971 "objc-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-11].filename, yyvsp[-10].lineno);
                  c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
@@ -4073,7 +4073,7 @@ case 370:
                                         input_filename, lineno); ;
     break;}
 case 371:
-#line 1978 "objc-parse.y"
+#line 1979 "objc-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-13].filename, yyvsp[-12].lineno);
                  c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
@@ -4081,7 +4081,7 @@ case 371:
                                         input_filename, lineno); ;
     break;}
 case 372:
-#line 1984 "objc-parse.y"
+#line 1985 "objc-parse.y"
 { tree decl;
                  stmt_count++;
                  emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
@@ -4094,7 +4094,7 @@ case 372:
                ;
     break;}
 case 373:
-#line 1995 "objc-parse.y"
+#line 1996 "objc-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids `goto *expr;'");
                  stmt_count++;
@@ -4102,7 +4102,7 @@ case 373:
                  expand_computed_goto (convert (ptr_type_node, yyvsp[-1].ttype)); ;
     break;}
 case 376:
-#line 2010 "objc-parse.y"
+#line 2011 "objc-parse.y"
 {
            /* The value returned by this action is  */
            /*      1 if everything is OK */ 
@@ -4125,14 +4125,14 @@ case 376:
          ;
     break;}
 case 377:
-#line 2031 "objc-parse.y"
+#line 2032 "objc-parse.y"
 {
            if (yyvsp[-1].itype)
              iterator_for_loop_end (yyvsp[-3].ttype);
          ;
     break;}
 case 378:
-#line 2062 "objc-parse.y"
+#line 2063 "objc-parse.y"
 { register tree value = check_case_value (yyvsp[-1].ttype);
                  register tree label
                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
@@ -4165,7 +4165,7 @@ case 378:
                  position_after_white_space (); ;
     break;}
 case 379:
-#line 2093 "objc-parse.y"
+#line 2094 "objc-parse.y"
 { register tree value1 = check_case_value (yyvsp[-3].ttype);
                  register tree value2 = check_case_value (yyvsp[-1].ttype);
                  register tree label
@@ -4198,7 +4198,7 @@ case 379:
                  position_after_white_space (); ;
     break;}
 case 380:
-#line 2124 "objc-parse.y"
+#line 2125 "objc-parse.y"
 {
                  tree duplicate;
                  register tree label
@@ -4215,7 +4215,7 @@ case 380:
                  position_after_white_space (); ;
     break;}
 case 381:
-#line 2139 "objc-parse.y"
+#line 2140 "objc-parse.y"
 { tree label = define_label (input_filename, lineno, yyvsp[-2].ttype);
                  stmt_count++;
                  emit_nop ();
@@ -4227,52 +4227,52 @@ case 381:
                  position_after_white_space (); ;
     break;}
 case 382:
-#line 2154 "objc-parse.y"
+#line 2155 "objc-parse.y"
 { emit_line_note (input_filename, lineno);
                  yyval.ttype = NULL_TREE; ;
     break;}
 case 383:
-#line 2157 "objc-parse.y"
+#line 2158 "objc-parse.y"
 { emit_line_note (input_filename, lineno); ;
     break;}
 case 384:
-#line 2162 "objc-parse.y"
+#line 2163 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 386:
-#line 2169 "objc-parse.y"
+#line 2170 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 389:
-#line 2176 "objc-parse.y"
+#line 2177 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 390:
-#line 2181 "objc-parse.y"
+#line 2182 "objc-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 391:
-#line 2186 "objc-parse.y"
+#line 2187 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ;
     break;}
 case 392:
-#line 2188 "objc-parse.y"
+#line 2189 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ;
     break;}
 case 393:
-#line 2194 "objc-parse.y"
+#line 2195 "objc-parse.y"
 { pushlevel (0);
                  clear_parm_order ();
                  declare_parm_level (0); ;
     break;}
 case 394:
-#line 2198 "objc-parse.y"
+#line 2199 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  parmlist_tags_warning ();
                  poplevel (0, 0, 0); ;
     break;}
 case 396:
-#line 2206 "objc-parse.y"
+#line 2207 "objc-parse.y"
 { tree parm;
                  if (pedantic)
                    pedwarn ("ANSI C forbids forward parameter declarations");
@@ -4282,19 +4282,19 @@ case 396:
                  clear_parm_order (); ;
     break;}
 case 397:
-#line 2214 "objc-parse.y"
+#line 2215 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 398:
-#line 2216 "objc-parse.y"
+#line 2217 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ;
     break;}
 case 399:
-#line 2222 "objc-parse.y"
+#line 2223 "objc-parse.y"
 { yyval.ttype = get_parm_info (0); ;
     break;}
 case 400:
-#line 2224 "objc-parse.y"
+#line 2225 "objc-parse.y"
 { yyval.ttype = get_parm_info (0);
                  /* Gcc used to allow this as an extension.  However, it does
                     not work for all targets, and thus has been disabled.
@@ -4306,23 +4306,23 @@ case 400:
                ;
     break;}
 case 401:
-#line 2234 "objc-parse.y"
+#line 2235 "objc-parse.y"
 { yyval.ttype = get_parm_info (1); ;
     break;}
 case 402:
-#line 2236 "objc-parse.y"
+#line 2237 "objc-parse.y"
 { yyval.ttype = get_parm_info (0); ;
     break;}
 case 403:
-#line 2241 "objc-parse.y"
+#line 2242 "objc-parse.y"
 { push_parm_decl (yyvsp[0].ttype); ;
     break;}
 case 404:
-#line 2243 "objc-parse.y"
+#line 2244 "objc-parse.y"
 { push_parm_decl (yyvsp[0].ttype); ;
     break;}
 case 405:
-#line 2250 "objc-parse.y"
+#line 2251 "objc-parse.y"
 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
                                                         yyvsp[-1].ttype),
                                        build_tree_list (prefix_attributes,
@@ -4332,7 +4332,7 @@ case 405:
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 406:
-#line 2258 "objc-parse.y"
+#line 2259 "objc-parse.y"
 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
                                                         yyvsp[-1].ttype),
                                        build_tree_list (prefix_attributes,
@@ -4342,7 +4342,7 @@ case 406:
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 407:
-#line 2266 "objc-parse.y"
+#line 2267 "objc-parse.y"
 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
                                                         yyvsp[-1].ttype),
                                        build_tree_list (prefix_attributes,
@@ -4352,7 +4352,7 @@ case 407:
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 408:
-#line 2274 "objc-parse.y"
+#line 2275 "objc-parse.y"
 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
                                                         yyvsp[-1].ttype),
                                        build_tree_list (prefix_attributes,
@@ -4362,7 +4362,7 @@ case 408:
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 409:
-#line 2283 "objc-parse.y"
+#line 2284 "objc-parse.y"
 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
                                                         yyvsp[-1].ttype),
                                        build_tree_list (prefix_attributes,
@@ -4372,19 +4372,19 @@ case 409:
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 410:
-#line 2296 "objc-parse.y"
+#line 2297 "objc-parse.y"
 { pushlevel (0);
                  clear_parm_order ();
                  declare_parm_level (1); ;
     break;}
 case 411:
-#line 2300 "objc-parse.y"
+#line 2301 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  parmlist_tags_warning ();
                  poplevel (0, 0, 0); ;
     break;}
 case 413:
-#line 2308 "objc-parse.y"
+#line 2309 "objc-parse.y"
 { tree t;
                  for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t))
                    if (TREE_VALUE (t) == NULL_TREE)
@@ -4392,29 +4392,29 @@ case 413:
                  yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
     break;}
 case 414:
-#line 2318 "objc-parse.y"
+#line 2319 "objc-parse.y"
 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 415:
-#line 2320 "objc-parse.y"
+#line 2321 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
     break;}
 case 416:
-#line 2326 "objc-parse.y"
+#line 2327 "objc-parse.y"
 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 417:
-#line 2328 "objc-parse.y"
+#line 2329 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
     break;}
 case 418:
-#line 2333 "objc-parse.y"
+#line 2334 "objc-parse.y"
 { yyval.ttype = SAVE_WARN_FLAGS();
                  pedantic = 0;
                  warn_pointer_arith = 0; ;
     break;}
 case 424:
-#line 2347 "objc-parse.y"
+#line 2348 "objc-parse.y"
 {
                  if (objc_implementation_context)
                     {
@@ -4427,27 +4427,27 @@ case 424:
                ;
     break;}
 case 425:
-#line 2362 "objc-parse.y"
+#line 2363 "objc-parse.y"
 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 426:
-#line 2364 "objc-parse.y"
+#line 2365 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
     break;}
 case 427:
-#line 2369 "objc-parse.y"
+#line 2370 "objc-parse.y"
 {
                  objc_declare_class (yyvsp[-1].ttype);
                ;
     break;}
 case 428:
-#line 2375 "objc-parse.y"
+#line 2376 "objc-parse.y"
 {
                  objc_declare_alias (yyvsp[-2].ttype, yyvsp[-1].ttype);
                ;
     break;}
 case 429:
-#line 2381 "objc-parse.y"
+#line 2382 "objc-parse.y"
 {
                  objc_interface_context = objc_ivar_context
                    = start_class (CLASS_INTERFACE_TYPE, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
@@ -4455,20 +4455,20 @@ case 429:
                ;
     break;}
 case 430:
-#line 2387 "objc-parse.y"
+#line 2388 "objc-parse.y"
 {
                   continue_class (objc_interface_context);
                ;
     break;}
 case 431:
-#line 2392 "objc-parse.y"
+#line 2393 "objc-parse.y"
 {
                  finish_class (objc_interface_context);
                  objc_interface_context = NULL_TREE;
                ;
     break;}
 case 432:
-#line 2398 "objc-parse.y"
+#line 2399 "objc-parse.y"
 {
                  objc_interface_context
                    = start_class (CLASS_INTERFACE_TYPE, yyvsp[-1].ttype, NULL_TREE, yyvsp[0].ttype);
@@ -4476,14 +4476,14 @@ case 432:
                ;
     break;}
 case 433:
-#line 2405 "objc-parse.y"
+#line 2406 "objc-parse.y"
 {
                  finish_class (objc_interface_context);
                  objc_interface_context = NULL_TREE;
                ;
     break;}
 case 434:
-#line 2411 "objc-parse.y"
+#line 2412 "objc-parse.y"
 {
                  objc_interface_context = objc_ivar_context
                    = start_class (CLASS_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[-1].ttype);
@@ -4491,20 +4491,20 @@ case 434:
                ;
     break;}
 case 435:
-#line 2417 "objc-parse.y"
+#line 2418 "objc-parse.y"
 {
                   continue_class (objc_interface_context);
                ;
     break;}
 case 436:
-#line 2422 "objc-parse.y"
+#line 2423 "objc-parse.y"
 {
                  finish_class (objc_interface_context);
                  objc_interface_context = NULL_TREE;
                ;
     break;}
 case 437:
-#line 2428 "objc-parse.y"
+#line 2429 "objc-parse.y"
 {
                  objc_interface_context
                    = start_class (CLASS_INTERFACE_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
@@ -4512,14 +4512,14 @@ case 437:
                ;
     break;}
 case 438:
-#line 2435 "objc-parse.y"
+#line 2436 "objc-parse.y"
 {
                  finish_class (objc_interface_context);
                  objc_interface_context = NULL_TREE;
                ;
     break;}
 case 439:
-#line 2441 "objc-parse.y"
+#line 2442 "objc-parse.y"
 {
                  objc_implementation_context = objc_ivar_context
                    = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
@@ -4527,14 +4527,14 @@ case 439:
                ;
     break;}
 case 440:
-#line 2447 "objc-parse.y"
+#line 2448 "objc-parse.y"
 {
                   objc_ivar_chain
                    = continue_class (objc_implementation_context);
                ;
     break;}
 case 441:
-#line 2453 "objc-parse.y"
+#line 2454 "objc-parse.y"
 {
                  objc_implementation_context
                    = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[0].ttype, NULL_TREE, NULL_TREE);
@@ -4543,7 +4543,7 @@ case 441:
                ;
     break;}
 case 442:
-#line 2461 "objc-parse.y"
+#line 2462 "objc-parse.y"
 {
                  objc_implementation_context = objc_ivar_context
                    = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE);
@@ -4551,14 +4551,14 @@ case 442:
                ;
     break;}
 case 443:
-#line 2467 "objc-parse.y"
+#line 2468 "objc-parse.y"
 {
                   objc_ivar_chain
                    = continue_class (objc_implementation_context);
                ;
     break;}
 case 444:
-#line 2473 "objc-parse.y"
+#line 2474 "objc-parse.y"
 {
                  objc_implementation_context
                    = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE);
@@ -4567,7 +4567,7 @@ case 444:
                ;
     break;}
 case 445:
-#line 2481 "objc-parse.y"
+#line 2482 "objc-parse.y"
 {
                  objc_interface_context
                    = start_class (CATEGORY_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype);
@@ -4575,14 +4575,14 @@ case 445:
                ;
     break;}
 case 446:
-#line 2488 "objc-parse.y"
+#line 2489 "objc-parse.y"
 {
                  finish_class (objc_interface_context);
                  objc_interface_context = NULL_TREE;
                ;
     break;}
 case 447:
-#line 2494 "objc-parse.y"
+#line 2495 "objc-parse.y"
 {
                  objc_implementation_context
                    = start_class (CATEGORY_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE);
@@ -4591,7 +4591,7 @@ case 447:
                ;
     break;}
 case 448:
-#line 2504 "objc-parse.y"
+#line 2505 "objc-parse.y"
 {
                  remember_protocol_qualifiers ();
                  objc_interface_context
@@ -4599,7 +4599,7 @@ case 448:
                ;
     break;}
 case 449:
-#line 2510 "objc-parse.y"
+#line 2511 "objc-parse.y"
 {
                  forget_protocol_qualifiers();
                  finish_protocol(objc_interface_context);
@@ -4607,13 +4607,13 @@ case 449:
                ;
     break;}
 case 450:
-#line 2519 "objc-parse.y"
+#line 2520 "objc-parse.y"
 {
                  yyval.ttype = NULL_TREE;
                ;
     break;}
 case 452:
-#line 2527 "objc-parse.y"
+#line 2528 "objc-parse.y"
 {
                  if (yyvsp[-2].code == LT_EXPR && yyvsp[0].code == GT_EXPR)
                    yyval.ttype = yyvsp[-1].ttype;
@@ -4622,54 +4622,54 @@ case 452:
                ;
     break;}
 case 455:
-#line 2541 "objc-parse.y"
+#line 2542 "objc-parse.y"
 { objc_public_flag = 2; ;
     break;}
 case 456:
-#line 2542 "objc-parse.y"
+#line 2543 "objc-parse.y"
 { objc_public_flag = 0; ;
     break;}
 case 457:
-#line 2543 "objc-parse.y"
+#line 2544 "objc-parse.y"
 { objc_public_flag = 1; ;
     break;}
 case 458:
-#line 2548 "objc-parse.y"
+#line 2549 "objc-parse.y"
 {
                   yyval.ttype = NULL_TREE;
                 ;
     break;}
 case 460:
-#line 2553 "objc-parse.y"
+#line 2554 "objc-parse.y"
 {
                   if (pedantic)
                    pedwarn ("extra semicolon in struct or union specified");
                 ;
     break;}
 case 461:
-#line 2571 "objc-parse.y"
+#line 2572 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 462:
-#line 2576 "objc-parse.y"
+#line 2577 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 463:
-#line 2581 "objc-parse.y"
+#line 2582 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 464:
-#line 2586 "objc-parse.y"
+#line 2587 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 467:
-#line 2593 "objc-parse.y"
+#line 2594 "objc-parse.y"
 {
                  yyval.ttype = add_instance_variable (objc_ivar_context,
                                              objc_public_flag,
@@ -4678,7 +4678,7 @@ case 467:
                 ;
     break;}
 case 468:
-#line 2600 "objc-parse.y"
+#line 2601 "objc-parse.y"
 {
                  yyval.ttype = add_instance_variable (objc_ivar_context,
                                              objc_public_flag,
@@ -4686,7 +4686,7 @@ case 468:
                 ;
     break;}
 case 469:
-#line 2606 "objc-parse.y"
+#line 2607 "objc-parse.y"
 {
                  yyval.ttype = add_instance_variable (objc_ivar_context,
                                              objc_public_flag,
@@ -4695,7 +4695,7 @@ case 469:
                 ;
     break;}
 case 470:
-#line 2616 "objc-parse.y"
+#line 2617 "objc-parse.y"
 {
                  remember_protocol_qualifiers ();
                  if (objc_implementation_context)
@@ -4705,7 +4705,7 @@ case 470:
                ;
     break;}
 case 471:
-#line 2624 "objc-parse.y"
+#line 2625 "objc-parse.y"
 {
                  forget_protocol_qualifiers ();
                  add_class_method (objc_implementation_context, yyvsp[0].ttype);
@@ -4714,20 +4714,20 @@ case 471:
                ;
     break;}
 case 472:
-#line 2631 "objc-parse.y"
+#line 2632 "objc-parse.y"
 {
                  continue_method_def ();
                ;
     break;}
 case 473:
-#line 2635 "objc-parse.y"
+#line 2636 "objc-parse.y"
 {
                  finish_method_def ();
                  objc_method_context = NULL_TREE;
                ;
     break;}
 case 474:
-#line 2641 "objc-parse.y"
+#line 2642 "objc-parse.y"
 {
                  remember_protocol_qualifiers ();
                  if (objc_implementation_context)
@@ -4737,7 +4737,7 @@ case 474:
                ;
     break;}
 case 475:
-#line 2649 "objc-parse.y"
+#line 2650 "objc-parse.y"
 {
                  forget_protocol_qualifiers ();
                  add_instance_method (objc_implementation_context, yyvsp[0].ttype);
@@ -4746,28 +4746,28 @@ case 475:
                ;
     break;}
 case 476:
-#line 2656 "objc-parse.y"
+#line 2657 "objc-parse.y"
 {
                  continue_method_def ();
                ;
     break;}
 case 477:
-#line 2660 "objc-parse.y"
+#line 2661 "objc-parse.y"
 {
                  finish_method_def ();
                  objc_method_context = NULL_TREE;
                ;
     break;}
 case 479:
-#line 2672 "objc-parse.y"
+#line 2673 "objc-parse.y"
 {yyval.ttype = NULL_TREE; ;
     break;}
 case 484:
-#line 2679 "objc-parse.y"
+#line 2680 "objc-parse.y"
 {yyval.ttype = NULL_TREE; ;
     break;}
 case 488:
-#line 2689 "objc-parse.y"
+#line 2690 "objc-parse.y"
 {
                  /* Remember protocol qualifiers in prototypes.  */
                  remember_protocol_qualifiers ();
@@ -4775,7 +4775,7 @@ case 488:
                ;
     break;}
 case 489:
-#line 2695 "objc-parse.y"
+#line 2696 "objc-parse.y"
 {
                  /* Forget protocol qualifiers here.  */
                  forget_protocol_qualifiers ();
@@ -4783,7 +4783,7 @@ case 489:
                ;
     break;}
 case 491:
-#line 2703 "objc-parse.y"
+#line 2704 "objc-parse.y"
 {
                  /* Remember protocol qualifiers in prototypes.  */
                  remember_protocol_qualifiers ();
@@ -4791,7 +4791,7 @@ case 491:
                ;
     break;}
 case 492:
-#line 2709 "objc-parse.y"
+#line 2710 "objc-parse.y"
 {
                  /* Forget protocol qualifiers here.  */
                  forget_protocol_qualifiers ();
@@ -4799,93 +4799,93 @@ case 492:
                ;
     break;}
 case 494:
-#line 2719 "objc-parse.y"
+#line 2720 "objc-parse.y"
 {
                  yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE);
                ;
     break;}
 case 495:
-#line 2724 "objc-parse.y"
+#line 2725 "objc-parse.y"
 {
                  yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[0].ttype, NULL_TREE);
                ;
     break;}
 case 496:
-#line 2729 "objc-parse.y"
+#line 2730 "objc-parse.y"
 {
                  yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
                ;
     break;}
 case 497:
-#line 2734 "objc-parse.y"
+#line 2735 "objc-parse.y"
 {
                  yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype);
                ;
     break;}
 case 506:
-#line 2764 "objc-parse.y"
+#line 2765 "objc-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 507:
-#line 2768 "objc-parse.y"
+#line 2769 "objc-parse.y"
 { shadow_tag (yyvsp[-1].ttype); ;
     break;}
 case 508:
-#line 2770 "objc-parse.y"
+#line 2771 "objc-parse.y"
 { pedwarn ("empty declaration"); ;
     break;}
 case 509:
-#line 2775 "objc-parse.y"
+#line 2776 "objc-parse.y"
 { push_parm_decl (yyvsp[0].ttype); ;
     break;}
 case 510:
-#line 2777 "objc-parse.y"
+#line 2778 "objc-parse.y"
 { push_parm_decl (yyvsp[0].ttype); ;
     break;}
 case 511:
-#line 2785 "objc-parse.y"
+#line 2786 "objc-parse.y"
 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
                                                         yyvsp[-1].ttype),
                                        build_tree_list (prefix_attributes,
                                                         yyvsp[0].ttype)); ;
     break;}
 case 512:
-#line 2790 "objc-parse.y"
+#line 2791 "objc-parse.y"
 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
                                                         yyvsp[-1].ttype),
                                        build_tree_list (prefix_attributes,
                                                         yyvsp[0].ttype)); ;
     break;}
 case 513:
-#line 2795 "objc-parse.y"
+#line 2796 "objc-parse.y"
 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
                                                         yyvsp[-1].ttype),
                                        build_tree_list (prefix_attributes,
                                                         yyvsp[0].ttype)); ;
     break;}
 case 514:
-#line 2803 "objc-parse.y"
+#line 2804 "objc-parse.y"
 {
                  yyval.ttype = NULL_TREE;
                ;
     break;}
 case 515:
-#line 2807 "objc-parse.y"
+#line 2808 "objc-parse.y"
 {
                  /* oh what a kludge! */
                  yyval.ttype = (tree)1;
                ;
     break;}
 case 516:
-#line 2812 "objc-parse.y"
+#line 2813 "objc-parse.y"
 {
                  pushlevel (0);
                ;
     break;}
 case 517:
-#line 2816 "objc-parse.y"
+#line 2817 "objc-parse.y"
 {
                  /* returns a tree list node generated by get_parm_info */
                  yyval.ttype = yyvsp[0].ttype;
@@ -4893,119 +4893,119 @@ case 517:
                ;
     break;}
 case 520:
-#line 2831 "objc-parse.y"
+#line 2832 "objc-parse.y"
 {
                  yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
                ;
     break;}
 case 525:
-#line 2844 "objc-parse.y"
+#line 2845 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 526:
-#line 2845 "objc-parse.y"
+#line 2846 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 527:
-#line 2846 "objc-parse.y"
+#line 2847 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 528:
-#line 2847 "objc-parse.y"
+#line 2848 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 529:
-#line 2848 "objc-parse.y"
+#line 2849 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 530:
-#line 2849 "objc-parse.y"
+#line 2850 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 531:
-#line 2850 "objc-parse.y"
+#line 2851 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 532:
-#line 2851 "objc-parse.y"
+#line 2852 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 533:
-#line 2852 "objc-parse.y"
+#line 2853 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 534:
-#line 2853 "objc-parse.y"
+#line 2854 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 535:
-#line 2854 "objc-parse.y"
+#line 2855 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 536:
-#line 2855 "objc-parse.y"
+#line 2856 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 537:
-#line 2856 "objc-parse.y"
+#line 2857 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 538:
-#line 2857 "objc-parse.y"
+#line 2858 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 539:
-#line 2858 "objc-parse.y"
+#line 2859 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 540:
-#line 2859 "objc-parse.y"
+#line 2860 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 541:
-#line 2860 "objc-parse.y"
+#line 2861 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 542:
-#line 2861 "objc-parse.y"
+#line 2862 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 543:
-#line 2862 "objc-parse.y"
+#line 2863 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 546:
-#line 2868 "objc-parse.y"
+#line 2869 "objc-parse.y"
 {
                  yyval.ttype = build_keyword_decl (yyvsp[-5].ttype, yyvsp[-2].ttype, yyvsp[0].ttype);
                ;
     break;}
 case 547:
-#line 2873 "objc-parse.y"
+#line 2874 "objc-parse.y"
 {
                  yyval.ttype = build_keyword_decl (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
                ;
     break;}
 case 548:
-#line 2878 "objc-parse.y"
+#line 2879 "objc-parse.y"
 {
                  yyval.ttype = build_keyword_decl (NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype);
                ;
     break;}
 case 549:
-#line 2883 "objc-parse.y"
+#line 2884 "objc-parse.y"
 {
                  yyval.ttype = build_keyword_decl (NULL_TREE, NULL_TREE, yyvsp[0].ttype);
                ;
     break;}
 case 553:
-#line 2896 "objc-parse.y"
+#line 2897 "objc-parse.y"
 {
                  yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
                ;
     break;}
 case 554:
-#line 2904 "objc-parse.y"
+#line 2905 "objc-parse.y"
 {
                  if (TREE_CHAIN (yyvsp[0].ttype) == NULL_TREE)
                    /* just return the expr., remove a level of indirection */
@@ -5016,76 +5016,76 @@ case 554:
                ;
     break;}
 case 555:
-#line 2916 "objc-parse.y"
+#line 2917 "objc-parse.y"
 {
                  yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype);
                ;
     break;}
 case 556:
-#line 2920 "objc-parse.y"
+#line 2921 "objc-parse.y"
 {
                  yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype);
                ;
     break;}
 case 558:
-#line 2928 "objc-parse.y"
+#line 2929 "objc-parse.y"
 {
                  yyval.ttype = get_class_reference (yyvsp[0].ttype);
                ;
     break;}
 case 559:
-#line 2935 "objc-parse.y"
+#line 2936 "objc-parse.y"
 { objc_receiver_context = 1; ;
     break;}
 case 560:
-#line 2937 "objc-parse.y"
+#line 2938 "objc-parse.y"
 { objc_receiver_context = 0; ;
     break;}
 case 561:
-#line 2939 "objc-parse.y"
+#line 2940 "objc-parse.y"
 {
                  yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype);
                ;
     break;}
 case 565:
-#line 2952 "objc-parse.y"
+#line 2953 "objc-parse.y"
 {
                  yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
                ;
     break;}
 case 566:
-#line 2959 "objc-parse.y"
+#line 2960 "objc-parse.y"
 {
                  yyval.ttype = build_tree_list (yyvsp[-1].ttype, NULL_TREE);
                ;
     break;}
 case 567:
-#line 2963 "objc-parse.y"
+#line 2964 "objc-parse.y"
 {
                  yyval.ttype = build_tree_list (NULL_TREE, NULL_TREE);
                ;
     break;}
 case 568:
-#line 2970 "objc-parse.y"
+#line 2971 "objc-parse.y"
 {
                  yyval.ttype = yyvsp[-1].ttype;
                ;
     break;}
 case 569:
-#line 2977 "objc-parse.y"
+#line 2978 "objc-parse.y"
 {
                  yyval.ttype = yyvsp[-1].ttype;
                ;
     break;}
 case 570:
-#line 2986 "objc-parse.y"
+#line 2987 "objc-parse.y"
 {
                  yyval.ttype = groktypename (yyvsp[-1].ttype);
                ;
     break;}
 }
    /* the action file gets copied in in place of this dollarsign */
-#line 543 "/usr/share/misc/bison.simple"
+#line 543 "/usr/lib/bison.simple"
 \f
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -5305,5 +5305,5 @@ yyerrhandle:
     }
   return 1;
 }
-#line 2991 "objc-parse.y"
+#line 2992 "objc-parse.y"
 
index 618fdbdaf130e82894fae2ba7fa9baf8485ac18d..da4a596f2d4a7e35f3ee4c3c868b79238c535973 100644 (file)
@@ -1,7 +1,7 @@
 /*WARNING: This file is automatically generated!*/
 /* YACC parser for C syntax and for Objective C.  -*-c-*-
-   Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-   1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996,
+   1997, 1998, 1999, 2000 Free Software Foundation, Inc.
 
 This file is part of GNU CC.