Commit b6a6823e by Jason Merrill

regen

From-SVN: r32236
parent b0e3a658
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
#define ALIAS 316 #define ALIAS 316
#define OBJC_STRING 317 #define OBJC_STRING 317
#line 33 "c-parse.y" #line 34 "c-parse.y"
#include "config.h" #include "config.h"
#include "system.h" #include "system.h"
...@@ -95,10 +95,10 @@ const char * const language_string = "GNU C"; ...@@ -95,10 +95,10 @@ const char * const language_string = "GNU C";
/* Cause the `yydebug' variable to be defined. */ /* Cause the `yydebug' variable to be defined. */
#define YYDEBUG 1 #define YYDEBUG 1
#line 64 "c-parse.y" #line 65 "c-parse.y"
typedef union {long itype; tree ttype; enum tree_code code; typedef union {long itype; tree ttype; enum tree_code code;
char *filename; int lineno; int ends_in_label; } YYSTYPE; 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 /* Number of statements (loosely speaking) and compound statements
seen so far. */ seen so far. */
...@@ -380,47 +380,47 @@ static const short yyrhs[] = { -1, ...@@ -380,47 +380,47 @@ static const short yyrhs[] = { -1,
#if YYDEBUG != 0 #if YYDEBUG != 0
static const short yyrline[] = { 0, static const short yyrline[] = { 0,
234, 239, 253, 255, 255, 256, 258, 260, 261, 269, 235, 240, 254, 256, 256, 257, 259, 261, 262, 270,
273, 283, 287, 291, 293, 295, 296, 297, 302, 309, 274, 284, 288, 292, 294, 296, 297, 298, 303, 310,
311, 315, 319, 325, 327, 331, 335, 341, 343, 347, 312, 316, 320, 326, 328, 332, 336, 342, 344, 348,
353, 355, 358, 360, 362, 364, 366, 368, 370, 374, 354, 356, 359, 361, 363, 365, 367, 369, 371, 375,
378, 381, 384, 387, 391, 393, 396, 399, 403, 431, 379, 382, 385, 388, 392, 394, 397, 400, 404, 432,
437, 440, 443, 446, 448, 450, 454, 458, 462, 464, 438, 441, 444, 447, 449, 451, 455, 459, 463, 465,
467, 471, 498, 500, 502, 504, 506, 508, 510, 512, 468, 472, 499, 501, 503, 505, 507, 509, 511, 513,
514, 516, 518, 520, 522, 524, 528, 530, 534, 536, 515, 517, 519, 521, 523, 525, 529, 531, 535, 537,
539, 543, 545, 552, 555, 563, 574, 673, 674, 676, 540, 544, 546, 553, 556, 564, 575, 674, 675, 677,
682, 684, 707, 716, 718, 720, 724, 730, 732, 737, 683, 685, 708, 717, 719, 721, 725, 731, 733, 738,
739, 747, 749, 750, 760, 765, 767, 768, 769, 776, 740, 748, 750, 751, 761, 766, 768, 769, 770, 777,
781, 785, 788, 796, 801, 803, 804, 805, 812, 822, 782, 786, 789, 797, 802, 804, 805, 806, 813, 823,
826, 831, 835, 839, 843, 845, 847, 856, 859, 863, 827, 832, 836, 840, 844, 846, 848, 857, 860, 864,
865, 867, 872, 876, 879, 883, 886, 888, 900, 903, 866, 868, 873, 877, 880, 884, 887, 889, 901, 904,
905, 907, 911, 915, 917, 920, 933, 936, 940, 942, 906, 908, 912, 916, 918, 921, 934, 937, 941, 943,
950, 951, 952, 956, 958, 964, 965, 966, 969, 971, 951, 952, 953, 957, 959, 965, 966, 967, 970, 972,
974, 976, 979, 982, 988, 995, 997, 1004, 1011, 1014, 975, 977, 980, 983, 989, 996, 998, 1005, 1012, 1015,
1021, 1024, 1028, 1031, 1035, 1040, 1043, 1047, 1050, 1052, 1022, 1025, 1029, 1032, 1036, 1041, 1044, 1048, 1051, 1053,
1054, 1056, 1063, 1065, 1066, 1067, 1072, 1074, 1076, 1078, 1055, 1057, 1064, 1066, 1067, 1068, 1073, 1075, 1077, 1079,
1083, 1087, 1090, 1092, 1097, 1099, 1100, 1103, 1103, 1106, 1084, 1088, 1091, 1093, 1098, 1100, 1101, 1104, 1104, 1107,
1109, 1111, 1113, 1116, 1118, 1121, 1127, 1129, 1133, 1147, 1110, 1112, 1114, 1117, 1119, 1122, 1128, 1130, 1134, 1148,
1155, 1159, 1173, 1181, 1188, 1190, 1195, 1198, 1203, 1205, 1156, 1160, 1174, 1182, 1189, 1191, 1196, 1199, 1204, 1206,
1207, 1214, 1216, 1224, 1230, 1235, 1237, 1239, 1246, 1248, 1208, 1215, 1217, 1225, 1231, 1236, 1238, 1240, 1247, 1249,
1254, 1260, 1262, 1264, 1269, 1271, 1278, 1280, 1283, 1286, 1255, 1261, 1263, 1265, 1270, 1272, 1279, 1281, 1284, 1287,
1290, 1293, 1297, 1300, 1304, 1309, 1311, 1315, 1317, 1319, 1291, 1294, 1298, 1301, 1305, 1310, 1312, 1316, 1318, 1320,
1321, 1325, 1327, 1329, 1332, 1334, 1337, 1341, 1343, 1346, 1322, 1326, 1328, 1330, 1333, 1335, 1338, 1342, 1344, 1347,
1348, 1353, 1356, 1361, 1363, 1365, 1379, 1385, 1398, 1403, 1349, 1354, 1357, 1362, 1364, 1366, 1380, 1386, 1399, 1404,
1408, 1410, 1415, 1417, 1421, 1425, 1429, 1439, 1441, 1446, 1409, 1411, 1416, 1418, 1422, 1426, 1430, 1440, 1442, 1447,
1451, 1454, 1458, 1461, 1465, 1468, 1471, 1474, 1478, 1481, 1452, 1455, 1459, 1462, 1466, 1469, 1472, 1475, 1479, 1482,
1485, 1489, 1491, 1493, 1495, 1497, 1499, 1501, 1503, 1507, 1486, 1490, 1492, 1494, 1496, 1498, 1500, 1502, 1504, 1508,
1515, 1523, 1525, 1527, 1531, 1533, 1536, 1539, 1549, 1551, 1516, 1524, 1526, 1528, 1532, 1534, 1537, 1540, 1550, 1552,
1556, 1558, 1561, 1575, 1578, 1581, 1583, 1585, 1589, 1593, 1557, 1559, 1562, 1576, 1579, 1582, 1584, 1586, 1590, 1594,
1599, 1617, 1622, 1627, 1630, 1644, 1653, 1657, 1661, 1665, 1600, 1618, 1623, 1628, 1631, 1645, 1654, 1658, 1662, 1666,
1671, 1675, 1680, 1683, 1688, 1691, 1692, 1708, 1713, 1716, 1672, 1676, 1681, 1684, 1689, 1692, 1693, 1709, 1714, 1717,
1728, 1730, 1740, 1750, 1751, 1758, 1760, 1772, 1776, 1790, 1729, 1731, 1741, 1751, 1752, 1759, 1761, 1773, 1777, 1791,
1796, 1802, 1803, 1808, 1813, 1817, 1821, 1832, 1839, 1846, 1797, 1803, 1804, 1809, 1814, 1818, 1822, 1833, 1840, 1847,
1853, 1864, 1870, 1873, 1878, 1901, 1931, 1962, 1993, 2008, 1854, 1865, 1871, 1874, 1879, 1902, 1932, 1963, 1994, 2009,
2022, 2026, 2030, 2033, 2038, 2040, 2043, 2045, 2049, 2054, 2023, 2027, 2031, 2034, 2039, 2041, 2044, 2046, 2050, 2055,
2057, 2063, 2068, 2073, 2075, 2084, 2085, 2091, 2093, 2103, 2058, 2064, 2069, 2074, 2076, 2085, 2086, 2092, 2094, 2104,
2105, 2109, 2112, 2118, 2127, 2135, 2143, 2152, 2165, 2170, 2106, 2110, 2113, 2119, 2128, 2136, 2144, 2153, 2166, 2171,
2175, 2177, 2186, 2189, 2194, 2197, 2201 2176, 2178, 2187, 2190, 2195, 2198, 2202
}; };
#endif #endif
...@@ -1265,7 +1265,7 @@ static const short yycheck[] = { 38, ...@@ -1265,7 +1265,7 @@ static const short yycheck[] = { 38,
51, 52, 53, 54 51, 52, 53, 54
}; };
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ /* -*-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. */ /* This file comes from bison-1.28. */
/* Skeleton output parser for bison, /* Skeleton output parser for bison,
...@@ -1479,7 +1479,7 @@ __yy_memcpy (char *to, char *from, unsigned int count) ...@@ -1479,7 +1479,7 @@ __yy_memcpy (char *to, char *from, unsigned int count)
#endif #endif
#endif #endif
#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 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
into yyparse. The argument should have type void *. into yyparse. The argument should have type void *.
...@@ -1808,14 +1808,14 @@ yyreduce: ...@@ -1808,14 +1808,14 @@ yyreduce:
switch (yyn) { switch (yyn) {
case 1: case 1:
#line 235 "c-parse.y" #line 236 "c-parse.y"
{ if (pedantic) { if (pedantic)
pedwarn ("ANSI C forbids an empty source file"); pedwarn ("ANSI C forbids an empty source file");
finish_file (); finish_file ();
; ;
break;} break;}
case 2: case 2:
#line 240 "c-parse.y" #line 241 "c-parse.y"
{ {
/* In case there were missing closebraces, /* In case there were missing closebraces,
get us back to the global binding level. */ get us back to the global binding level. */
...@@ -1825,15 +1825,15 @@ case 2: ...@@ -1825,15 +1825,15 @@ case 2:
; ;
break;} break;}
case 3: case 3:
#line 254 "c-parse.y" #line 255 "c-parse.y"
{yyval.ttype = NULL_TREE; ; {yyval.ttype = NULL_TREE; ;
break;} break;}
case 5: case 5:
#line 255 "c-parse.y" #line 256 "c-parse.y"
{yyval.ttype = NULL_TREE; ; {yyval.ttype = NULL_TREE; ;
break;} break;}
case 9: case 9:
#line 262 "c-parse.y" #line 263 "c-parse.y"
{ STRIP_NOPS (yyvsp[-2].ttype); { STRIP_NOPS (yyvsp[-2].ttype);
if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR
&& TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST) && TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST)
...@@ -1843,11 +1843,11 @@ case 9: ...@@ -1843,11 +1843,11 @@ case 9:
error ("argument of `asm' is not a constant string"); ; error ("argument of `asm' is not a constant string"); ;
break;} break;}
case 10: case 10:
#line 270 "c-parse.y" #line 271 "c-parse.y"
{ RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ; { RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
break;} break;}
case 11: case 11:
#line 275 "c-parse.y" #line 276 "c-parse.y"
{ if (pedantic) { if (pedantic)
error ("ANSI C forbids data definition with no type or storage class"); error ("ANSI C forbids data definition with no type or storage class");
else if (!flag_traditional) else if (!flag_traditional)
...@@ -1858,162 +1858,162 @@ case 11: ...@@ -1858,162 +1858,162 @@ case 11:
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 12: case 12:
#line 284 "c-parse.y" #line 285 "c-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack); { current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 13: case 13:
#line 288 "c-parse.y" #line 289 "c-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack); { current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 14: case 14:
#line 292 "c-parse.y" #line 293 "c-parse.y"
{ pedwarn ("empty declaration"); ; { pedwarn ("empty declaration"); ;
break;} break;}
case 15: case 15:
#line 294 "c-parse.y" #line 295 "c-parse.y"
{ shadow_tag (yyvsp[-1].ttype); ; { shadow_tag (yyvsp[-1].ttype); ;
break;} break;}
case 18: case 18:
#line 298 "c-parse.y" #line 299 "c-parse.y"
{ if (pedantic) { if (pedantic)
pedwarn ("ANSI C does not allow extra `;' outside of a function"); ; pedwarn ("ANSI C does not allow extra `;' outside of a function"); ;
break;} break;}
case 19: case 19:
#line 304 "c-parse.y" #line 305 "c-parse.y"
{ if (! start_function (current_declspecs, yyvsp[0].ttype, { if (! start_function (current_declspecs, yyvsp[0].ttype,
prefix_attributes, NULL_TREE)) prefix_attributes, NULL_TREE))
YYERROR1; YYERROR1;
reinit_parse_for_function (); ; reinit_parse_for_function (); ;
break;} break;}
case 20: case 20:
#line 309 "c-parse.y" #line 310 "c-parse.y"
{ store_parm_decls (); ; { store_parm_decls (); ;
break;} break;}
case 21: case 21:
#line 311 "c-parse.y" #line 312 "c-parse.y"
{ finish_function (0); { finish_function (0);
current_declspecs = TREE_VALUE (declspec_stack); current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 22: case 22:
#line 316 "c-parse.y" #line 317 "c-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack); { current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 23: case 23:
#line 320 "c-parse.y" #line 321 "c-parse.y"
{ if (! start_function (current_declspecs, yyvsp[0].ttype, { if (! start_function (current_declspecs, yyvsp[0].ttype,
prefix_attributes, NULL_TREE)) prefix_attributes, NULL_TREE))
YYERROR1; YYERROR1;
reinit_parse_for_function (); ; reinit_parse_for_function (); ;
break;} break;}
case 24: case 24:
#line 325 "c-parse.y" #line 326 "c-parse.y"
{ store_parm_decls (); ; { store_parm_decls (); ;
break;} break;}
case 25: case 25:
#line 327 "c-parse.y" #line 328 "c-parse.y"
{ finish_function (0); { finish_function (0);
current_declspecs = TREE_VALUE (declspec_stack); current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 26: case 26:
#line 332 "c-parse.y" #line 333 "c-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack); { current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 27: case 27:
#line 336 "c-parse.y" #line 337 "c-parse.y"
{ if (! start_function (NULL_TREE, yyvsp[0].ttype, { if (! start_function (NULL_TREE, yyvsp[0].ttype,
prefix_attributes, NULL_TREE)) prefix_attributes, NULL_TREE))
YYERROR1; YYERROR1;
reinit_parse_for_function (); ; reinit_parse_for_function (); ;
break;} break;}
case 28: case 28:
#line 341 "c-parse.y" #line 342 "c-parse.y"
{ store_parm_decls (); ; { store_parm_decls (); ;
break;} break;}
case 29: case 29:
#line 343 "c-parse.y" #line 344 "c-parse.y"
{ finish_function (0); { finish_function (0);
current_declspecs = TREE_VALUE (declspec_stack); current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 30: case 30:
#line 348 "c-parse.y" #line 349 "c-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack); { current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 33: case 33:
#line 359 "c-parse.y" #line 360 "c-parse.y"
{ yyval.code = ADDR_EXPR; ; { yyval.code = ADDR_EXPR; ;
break;} break;}
case 34: case 34:
#line 361 "c-parse.y" #line 362 "c-parse.y"
{ yyval.code = NEGATE_EXPR; ; { yyval.code = NEGATE_EXPR; ;
break;} break;}
case 35: case 35:
#line 363 "c-parse.y" #line 364 "c-parse.y"
{ yyval.code = CONVERT_EXPR; ; { yyval.code = CONVERT_EXPR; ;
break;} break;}
case 36: case 36:
#line 365 "c-parse.y" #line 366 "c-parse.y"
{ yyval.code = PREINCREMENT_EXPR; ; { yyval.code = PREINCREMENT_EXPR; ;
break;} break;}
case 37: case 37:
#line 367 "c-parse.y" #line 368 "c-parse.y"
{ yyval.code = PREDECREMENT_EXPR; ; { yyval.code = PREDECREMENT_EXPR; ;
break;} break;}
case 38: case 38:
#line 369 "c-parse.y" #line 370 "c-parse.y"
{ yyval.code = BIT_NOT_EXPR; ; { yyval.code = BIT_NOT_EXPR; ;
break;} break;}
case 39: case 39:
#line 371 "c-parse.y" #line 372 "c-parse.y"
{ yyval.code = TRUTH_NOT_EXPR; ; { yyval.code = TRUTH_NOT_EXPR; ;
break;} break;}
case 40: case 40:
#line 375 "c-parse.y" #line 376 "c-parse.y"
{ yyval.ttype = build_compound_expr (yyvsp[0].ttype); ; { yyval.ttype = build_compound_expr (yyvsp[0].ttype); ;
break;} break;}
case 41: case 41:
#line 380 "c-parse.y" #line 381 "c-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 43: case 43:
#line 386 "c-parse.y" #line 387 "c-parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
break;} break;}
case 44: case 44:
#line 388 "c-parse.y" #line 389 "c-parse.y"
{ chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; { chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;} break;}
case 46: case 46:
#line 394 "c-parse.y" #line 395 "c-parse.y"
{ yyval.ttype = build_indirect_ref (yyvsp[0].ttype, "unary *"); ; { yyval.ttype = build_indirect_ref (yyvsp[0].ttype, "unary *"); ;
break;} break;}
case 47: case 47:
#line 397 "c-parse.y" #line 398 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; { yyval.ttype = yyvsp[0].ttype;
RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ; RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
break;} break;}
case 48: case 48:
#line 400 "c-parse.y" #line 401 "c-parse.y"
{ yyval.ttype = build_unary_op (yyvsp[-1].code, yyvsp[0].ttype, 0); { yyval.ttype = build_unary_op (yyvsp[-1].code, yyvsp[0].ttype, 0);
overflow_warning (yyval.ttype); ; overflow_warning (yyval.ttype); ;
break;} break;}
case 49: case 49:
#line 404 "c-parse.y" #line 405 "c-parse.y"
{ tree label = lookup_label (yyvsp[0].ttype); { tree label = lookup_label (yyvsp[0].ttype);
if (pedantic) if (pedantic)
pedwarn ("ANSI C forbids `&&'"); pedwarn ("ANSI C forbids `&&'");
...@@ -2028,7 +2028,7 @@ case 49: ...@@ -2028,7 +2028,7 @@ case 49:
; ;
break;} break;}
case 50: case 50:
#line 432 "c-parse.y" #line 433 "c-parse.y"
{ skip_evaluation--; { skip_evaluation--;
if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
&& DECL_C_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1))) && DECL_C_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
...@@ -2036,53 +2036,53 @@ case 50: ...@@ -2036,53 +2036,53 @@ case 50:
yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ; yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
break;} break;}
case 51: case 51:
#line 438 "c-parse.y" #line 439 "c-parse.y"
{ skip_evaluation--; { skip_evaluation--;
yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ; yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
break;} break;}
case 52: case 52:
#line 441 "c-parse.y" #line 442 "c-parse.y"
{ skip_evaluation--; { skip_evaluation--;
yyval.ttype = c_alignof_expr (yyvsp[0].ttype); ; yyval.ttype = c_alignof_expr (yyvsp[0].ttype); ;
break;} break;}
case 53: case 53:
#line 444 "c-parse.y" #line 445 "c-parse.y"
{ skip_evaluation--; { skip_evaluation--;
yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ; yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
break;} break;}
case 54: case 54:
#line 447 "c-parse.y" #line 448 "c-parse.y"
{ yyval.ttype = build_unary_op (REALPART_EXPR, yyvsp[0].ttype, 0); ; { yyval.ttype = build_unary_op (REALPART_EXPR, yyvsp[0].ttype, 0); ;
break;} break;}
case 55: case 55:
#line 449 "c-parse.y" #line 450 "c-parse.y"
{ yyval.ttype = build_unary_op (IMAGPART_EXPR, yyvsp[0].ttype, 0); ; { yyval.ttype = build_unary_op (IMAGPART_EXPR, yyvsp[0].ttype, 0); ;
break;} break;}
case 56: case 56:
#line 451 "c-parse.y" #line 452 "c-parse.y"
{ yyval.ttype = build_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ttype)); ; { yyval.ttype = build_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ttype)); ;
break;} break;}
case 57: case 57:
#line 455 "c-parse.y" #line 456 "c-parse.y"
{ skip_evaluation++; ; { skip_evaluation++; ;
break;} break;}
case 58: case 58:
#line 459 "c-parse.y" #line 460 "c-parse.y"
{ skip_evaluation++; ; { skip_evaluation++; ;
break;} break;}
case 60: case 60:
#line 465 "c-parse.y" #line 466 "c-parse.y"
{ tree type = groktypename (yyvsp[-2].ttype); { tree type = groktypename (yyvsp[-2].ttype);
yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ; yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
break;} break;}
case 61: case 61:
#line 468 "c-parse.y" #line 469 "c-parse.y"
{ start_init (NULL_TREE, NULL, 0); { start_init (NULL_TREE, NULL, 0);
yyvsp[-2].ttype = groktypename (yyvsp[-2].ttype); yyvsp[-2].ttype = groktypename (yyvsp[-2].ttype);
really_start_incremental_init (yyvsp[-2].ttype); ; really_start_incremental_init (yyvsp[-2].ttype); ;
break;} break;}
case 62: case 62:
#line 472 "c-parse.y" #line 473 "c-parse.y"
{ const char *name; { const char *name;
tree result = pop_init_level (0); tree result = pop_init_level (0);
tree type = yyvsp[-5].ttype; tree type = yyvsp[-5].ttype;
...@@ -2109,90 +2109,90 @@ case 62: ...@@ -2109,90 +2109,90 @@ case 62:
; ;
break;} break;}
case 64: 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); ; { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 65: 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); ; { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 66: 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); ; { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 67: 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); ; { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 68: 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); ; { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 69: 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); ; { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 70: 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); ; { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 71: 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); ; { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 72: 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); ; { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 73: 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); ; { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 74: 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); ; { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 75: 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); ; { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 76: case 76:
#line 525 "c-parse.y" #line 526 "c-parse.y"
{ yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype)); { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ; skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
break;} break;}
case 77: case 77:
#line 528 "c-parse.y" #line 529 "c-parse.y"
{ skip_evaluation -= yyvsp[-3].ttype == boolean_false_node; { skip_evaluation -= yyvsp[-3].ttype == boolean_false_node;
yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ; yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
break;} break;}
case 78: case 78:
#line 531 "c-parse.y" #line 532 "c-parse.y"
{ yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype)); { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ; skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
break;} break;}
case 79: case 79:
#line 534 "c-parse.y" #line 535 "c-parse.y"
{ skip_evaluation -= yyvsp[-3].ttype == boolean_true_node; { skip_evaluation -= yyvsp[-3].ttype == boolean_true_node;
yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ; yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
break;} break;}
case 80: case 80:
#line 537 "c-parse.y" #line 538 "c-parse.y"
{ yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype)); { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ; skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
break;} break;}
case 81: case 81:
#line 540 "c-parse.y" #line 541 "c-parse.y"
{ skip_evaluation += ((yyvsp[-4].ttype == boolean_true_node) { skip_evaluation += ((yyvsp[-4].ttype == boolean_true_node)
- (yyvsp[-4].ttype == boolean_false_node)); ; - (yyvsp[-4].ttype == boolean_false_node)); ;
break;} break;}
case 82: case 82:
#line 543 "c-parse.y" #line 544 "c-parse.y"
{ skip_evaluation -= yyvsp[-6].ttype == boolean_true_node; { skip_evaluation -= yyvsp[-6].ttype == boolean_true_node;
yyval.ttype = build_conditional_expr (yyvsp[-6].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ; yyval.ttype = build_conditional_expr (yyvsp[-6].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
break;} break;}
case 83: case 83:
#line 546 "c-parse.y" #line 547 "c-parse.y"
{ if (pedantic) { if (pedantic)
pedwarn ("ANSI C forbids omitting the middle term of a ?: expression"); pedwarn ("ANSI C forbids omitting the middle term of a ?: expression");
/* Make sure first operand is calculated only once. */ /* Make sure first operand is calculated only once. */
...@@ -2201,12 +2201,12 @@ case 83: ...@@ -2201,12 +2201,12 @@ case 83:
skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ; skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
break;} break;}
case 84: case 84:
#line 553 "c-parse.y" #line 554 "c-parse.y"
{ skip_evaluation -= yyvsp[-4].ttype == boolean_true_node; { skip_evaluation -= yyvsp[-4].ttype == boolean_true_node;
yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ; yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
break;} break;}
case 85: case 85:
#line 556 "c-parse.y" #line 557 "c-parse.y"
{ char class; { char class;
yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype); yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype);
class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype)); class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
...@@ -2216,7 +2216,7 @@ case 85: ...@@ -2216,7 +2216,7 @@ case 85:
; ;
break;} break;}
case 86: case 86:
#line 564 "c-parse.y" #line 565 "c-parse.y"
{ char class; { char class;
yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype); yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype);
/* This inhibits warnings in truthvalue_conversion. */ /* This inhibits warnings in truthvalue_conversion. */
...@@ -2227,7 +2227,7 @@ case 86: ...@@ -2227,7 +2227,7 @@ case 86:
; ;
break;} break;}
case 87: case 87:
#line 576 "c-parse.y" #line 577 "c-parse.y"
{ {
yyval.ttype = lastiddecl; yyval.ttype = lastiddecl;
if (!yyval.ttype || yyval.ttype == error_mark_node) if (!yyval.ttype || yyval.ttype == error_mark_node)
...@@ -2327,11 +2327,11 @@ case 87: ...@@ -2327,11 +2327,11 @@ case 87:
; ;
break;} break;}
case 89: case 89:
#line 675 "c-parse.y" #line 676 "c-parse.y"
{ yyval.ttype = combine_strings (yyvsp[0].ttype); ; { yyval.ttype = combine_strings (yyvsp[0].ttype); ;
break;} break;}
case 90: case 90:
#line 677 "c-parse.y" #line 678 "c-parse.y"
{ char class = TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)); { char class = TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype));
if (class == 'e' || class == '1' if (class == 'e' || class == '1'
|| class == '2' || class == '<') || class == '2' || class == '<')
...@@ -2339,11 +2339,11 @@ case 90: ...@@ -2339,11 +2339,11 @@ case 90:
yyval.ttype = yyvsp[-1].ttype; ; yyval.ttype = yyvsp[-1].ttype; ;
break;} break;}
case 91: case 91:
#line 683 "c-parse.y" #line 684 "c-parse.y"
{ yyval.ttype = error_mark_node; ; { yyval.ttype = error_mark_node; ;
break;} break;}
case 92: case 92:
#line 685 "c-parse.y" #line 686 "c-parse.y"
{ tree rtl_exp; { tree rtl_exp;
if (pedantic) if (pedantic)
pedwarn ("ANSI C forbids braced-groups within expressions"); pedwarn ("ANSI C forbids braced-groups within expressions");
...@@ -2368,7 +2368,7 @@ case 92: ...@@ -2368,7 +2368,7 @@ case 92:
; ;
break;} break;}
case 93: case 93:
#line 708 "c-parse.y" #line 709 "c-parse.y"
{ {
/* Make sure we call expand_end_stmt_expr. Otherwise /* Make sure we call expand_end_stmt_expr. Otherwise
we are likely to lose sequences and crash later. */ we are likely to lose sequences and crash later. */
...@@ -2379,21 +2379,21 @@ case 93: ...@@ -2379,21 +2379,21 @@ case 93:
; ;
break;} break;}
case 94: case 94:
#line 717 "c-parse.y" #line 718 "c-parse.y"
{ yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ; { yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 95: case 95:
#line 719 "c-parse.y" #line 720 "c-parse.y"
{ yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ; { yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 96: case 96:
#line 721 "c-parse.y" #line 722 "c-parse.y"
{ {
yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype); yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype);
; ;
break;} break;}
case 97: case 97:
#line 725 "c-parse.y" #line 726 "c-parse.y"
{ {
tree expr = build_indirect_ref (yyvsp[-2].ttype, "->"); tree expr = build_indirect_ref (yyvsp[-2].ttype, "->");
...@@ -2401,57 +2401,57 @@ case 97: ...@@ -2401,57 +2401,57 @@ case 97:
; ;
break;} break;}
case 98: case 98:
#line 731 "c-parse.y" #line 732 "c-parse.y"
{ yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ; { yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ;
break;} break;}
case 99: case 99:
#line 733 "c-parse.y" #line 734 "c-parse.y"
{ yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ; { yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ;
break;} break;}
case 101: case 101:
#line 740 "c-parse.y" #line 741 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
if (warn_traditional && !in_system_header) if (warn_traditional && !in_system_header)
warning ("Use of ANSI string concatenation"); warning ("Use of ANSI string concatenation");
; ;
break;} break;}
case 104: case 104:
#line 752 "c-parse.y" #line 753 "c-parse.y"
{ c_mark_varargs (); { c_mark_varargs ();
if (pedantic) if (pedantic)
pedwarn ("ANSI C does not permit use of `varargs.h'"); ; pedwarn ("ANSI C does not permit use of `varargs.h'"); ;
break;} break;}
case 105: case 105:
#line 762 "c-parse.y" #line 763 "c-parse.y"
{ ; { ;
break;} break;}
case 110: case 110:
#line 778 "c-parse.y" #line 779 "c-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack); { current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 111: case 111:
#line 782 "c-parse.y" #line 783 "c-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack); { current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 112: case 112:
#line 786 "c-parse.y" #line 787 "c-parse.y"
{ shadow_tag_warned (yyvsp[-1].ttype, 1); { shadow_tag_warned (yyvsp[-1].ttype, 1);
pedwarn ("empty declaration"); ; pedwarn ("empty declaration"); ;
break;} break;}
case 113: case 113:
#line 789 "c-parse.y" #line 790 "c-parse.y"
{ pedwarn ("empty declaration"); ; { pedwarn ("empty declaration"); ;
break;} break;}
case 114: case 114:
#line 798 "c-parse.y" #line 799 "c-parse.y"
{ ; { ;
break;} break;}
case 119: case 119:
#line 813 "c-parse.y" #line 814 "c-parse.y"
{ pending_xref_error (); { pending_xref_error ();
declspec_stack = tree_cons (prefix_attributes, declspec_stack = tree_cons (prefix_attributes,
current_declspecs, current_declspecs,
...@@ -2460,127 +2460,127 @@ case 119: ...@@ -2460,127 +2460,127 @@ case 119:
&current_declspecs, &prefix_attributes); ; &current_declspecs, &prefix_attributes); ;
break;} break;}
case 120: case 120:
#line 823 "c-parse.y" #line 824 "c-parse.y"
{ prefix_attributes = chainon (prefix_attributes, yyvsp[0].ttype); ; { prefix_attributes = chainon (prefix_attributes, yyvsp[0].ttype); ;
break;} break;}
case 121: case 121:
#line 828 "c-parse.y" #line 829 "c-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack); { current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 122: case 122:
#line 832 "c-parse.y" #line 833 "c-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack); { current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 123: case 123:
#line 836 "c-parse.y" #line 837 "c-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack); { current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 124: case 124:
#line 840 "c-parse.y" #line 841 "c-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack); { current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 125: case 125:
#line 844 "c-parse.y" #line 845 "c-parse.y"
{ shadow_tag (yyvsp[-1].ttype); ; { shadow_tag (yyvsp[-1].ttype); ;
break;} break;}
case 126: case 126:
#line 846 "c-parse.y" #line 847 "c-parse.y"
{ pedwarn ("empty declaration"); ; { pedwarn ("empty declaration"); ;
break;} break;}
case 127: case 127:
#line 848 "c-parse.y" #line 849 "c-parse.y"
{ RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ; { RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
break;} break;}
case 128: case 128:
#line 858 "c-parse.y" #line 859 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ; { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;} break;}
case 129: 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)); ; { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
break;} break;}
case 130: case 130:
#line 864 "c-parse.y" #line 865 "c-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 131: case 131:
#line 866 "c-parse.y" #line 867 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 132: case 132:
#line 868 "c-parse.y" #line 869 "c-parse.y"
{ if (extra_warnings) { if (extra_warnings)
warning ("`%s' is not at beginning of declaration", warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype)); IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 133: case 133:
#line 873 "c-parse.y" #line 874 "c-parse.y"
{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ; { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
break;} break;}
case 134: case 134:
#line 878 "c-parse.y" #line 879 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ; { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;} break;}
case 135: 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)); ; { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
break;} break;}
case 136: case 136:
#line 885 "c-parse.y" #line 886 "c-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 137: case 137:
#line 887 "c-parse.y" #line 888 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 138: case 138:
#line 889 "c-parse.y" #line 890 "c-parse.y"
{ if (extra_warnings) { if (extra_warnings)
warning ("`%s' is not at beginning of declaration", warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype)); IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 139: case 139:
#line 902 "c-parse.y" #line 903 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 140: case 140:
#line 904 "c-parse.y" #line 905 "c-parse.y"
{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ; { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
break;} break;}
case 141: case 141:
#line 906 "c-parse.y" #line 907 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-1].ttype); ; { yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 142: case 142:
#line 908 "c-parse.y" #line 909 "c-parse.y"
{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ; { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
break;} break;}
case 143: case 143:
#line 913 "c-parse.y" #line 914 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
TREE_STATIC (yyval.ttype) = 1; ; TREE_STATIC (yyval.ttype) = 1; ;
break;} break;}
case 144: case 144:
#line 916 "c-parse.y" #line 917 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
break;} break;}
case 145: case 145:
#line 918 "c-parse.y" #line 919 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ; TREE_STATIC (yyval.ttype) = 1; ;
break;} break;}
case 146: case 146:
#line 921 "c-parse.y" #line 922 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration", warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype)); IDENTIFIER_POINTER (yyvsp[0].ttype));
...@@ -2588,176 +2588,176 @@ case 146: ...@@ -2588,176 +2588,176 @@ case 146:
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;} break;}
case 147: case 147:
#line 935 "c-parse.y" #line 936 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ; { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;} break;}
case 148: 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)); ; { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
break;} break;}
case 149: case 149:
#line 941 "c-parse.y" #line 942 "c-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 150: case 150:
#line 943 "c-parse.y" #line 944 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 153: case 153:
#line 953 "c-parse.y" #line 954 "c-parse.y"
{ /* For a typedef name, record the meaning, not the name. { /* For a typedef name, record the meaning, not the name.
In case of `foo foo, bar;'. */ In case of `foo foo, bar;'. */
yyval.ttype = lookup_name (yyvsp[0].ttype); ; yyval.ttype = lookup_name (yyvsp[0].ttype); ;
break;} break;}
case 154: case 154:
#line 957 "c-parse.y" #line 958 "c-parse.y"
{ yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); ; { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); ;
break;} break;}
case 155: case 155:
#line 959 "c-parse.y" #line 960 "c-parse.y"
{ yyval.ttype = groktypename (yyvsp[-1].ttype); ; { yyval.ttype = groktypename (yyvsp[-1].ttype); ;
break;} break;}
case 163: case 163:
#line 981 "c-parse.y" #line 982 "c-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 164: 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); { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype);
yyval.ttype = yyvsp[-1].ttype; yyval.ttype = yyvsp[-1].ttype;
; ;
break;} break;}
case 165: case 165:
#line 990 "c-parse.y" #line 991 "c-parse.y"
{ yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1, { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
yyvsp[-1].ttype, prefix_attributes); yyvsp[-1].ttype, prefix_attributes);
start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ; start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
break;} break;}
case 166: case 166:
#line 995 "c-parse.y" #line 996 "c-parse.y"
{ finish_init (); { finish_init ();
finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ; finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
break;} break;}
case 167: case 167:
#line 998 "c-parse.y" #line 999 "c-parse.y"
{ tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0, { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
yyvsp[0].ttype, prefix_attributes); yyvsp[0].ttype, prefix_attributes);
finish_decl (d, NULL_TREE, yyvsp[-1].ttype); finish_decl (d, NULL_TREE, yyvsp[-1].ttype);
; ;
break;} break;}
case 168: case 168:
#line 1006 "c-parse.y" #line 1007 "c-parse.y"
{ yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1, { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
yyvsp[-1].ttype, prefix_attributes); yyvsp[-1].ttype, prefix_attributes);
start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ; start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
break;} break;}
case 169: case 169:
#line 1011 "c-parse.y" #line 1012 "c-parse.y"
{ finish_init (); { finish_init ();
decl_attributes (yyvsp[-1].ttype, yyvsp[-3].ttype, prefix_attributes); decl_attributes (yyvsp[-1].ttype, yyvsp[-3].ttype, prefix_attributes);
finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ; finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
break;} break;}
case 170: case 170:
#line 1015 "c-parse.y" #line 1016 "c-parse.y"
{ tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0, { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
yyvsp[0].ttype, prefix_attributes); yyvsp[0].ttype, prefix_attributes);
finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ; finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
break;} break;}
case 171: case 171:
#line 1023 "c-parse.y" #line 1024 "c-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 172: case 172:
#line 1025 "c-parse.y" #line 1026 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 173: case 173:
#line 1030 "c-parse.y" #line 1031 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 174: case 174:
#line 1032 "c-parse.y" #line 1033 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;} break;}
case 175: case 175:
#line 1037 "c-parse.y" #line 1038 "c-parse.y"
{ yyval.ttype = yyvsp[-2].ttype; ; { yyval.ttype = yyvsp[-2].ttype; ;
break;} break;}
case 176: case 176:
#line 1042 "c-parse.y" #line 1043 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 177: case 177:
#line 1044 "c-parse.y" #line 1045 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 178: case 178:
#line 1049 "c-parse.y" #line 1050 "c-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 179: case 179:
#line 1051 "c-parse.y" #line 1052 "c-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ; { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
break;} break;}
case 180: 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)); ; { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
break;} break;}
case 181: 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)); ; { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
break;} break;}
case 182: case 182:
#line 1057 "c-parse.y" #line 1058 "c-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 188: case 188:
#line 1075 "c-parse.y" #line 1076 "c-parse.y"
{ really_start_incremental_init (NULL_TREE); ; { really_start_incremental_init (NULL_TREE); ;
break;} break;}
case 189: case 189:
#line 1077 "c-parse.y" #line 1078 "c-parse.y"
{ yyval.ttype = pop_init_level (0); ; { yyval.ttype = pop_init_level (0); ;
break;} break;}
case 190: case 190:
#line 1079 "c-parse.y" #line 1080 "c-parse.y"
{ yyval.ttype = error_mark_node; ; { yyval.ttype = error_mark_node; ;
break;} break;}
case 191: case 191:
#line 1085 "c-parse.y" #line 1086 "c-parse.y"
{ if (pedantic) { if (pedantic)
pedwarn ("ANSI C forbids empty initializer braces"); ; pedwarn ("ANSI C forbids empty initializer braces"); ;
break;} break;}
case 197: case 197:
#line 1101 "c-parse.y" #line 1102 "c-parse.y"
{ set_init_label (yyvsp[-1].ttype); ; { set_init_label (yyvsp[-1].ttype); ;
break;} break;}
case 200: case 200:
#line 1108 "c-parse.y" #line 1109 "c-parse.y"
{ push_init_level (0); ; { push_init_level (0); ;
break;} break;}
case 201: case 201:
#line 1110 "c-parse.y" #line 1111 "c-parse.y"
{ process_init_element (pop_init_level (0)); ; { process_init_element (pop_init_level (0)); ;
break;} break;}
case 202: case 202:
#line 1112 "c-parse.y" #line 1113 "c-parse.y"
{ process_init_element (yyvsp[0].ttype); ; { process_init_element (yyvsp[0].ttype); ;
break;} break;}
case 206: case 206:
#line 1123 "c-parse.y" #line 1124 "c-parse.y"
{ set_init_label (yyvsp[0].ttype); ; { set_init_label (yyvsp[0].ttype); ;
break;} break;}
case 207: case 207:
#line 1128 "c-parse.y" #line 1129 "c-parse.y"
{ set_init_index (yyvsp[-3].ttype, yyvsp[-1].ttype); ; { set_init_index (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 208: case 208:
#line 1130 "c-parse.y" #line 1131 "c-parse.y"
{ set_init_index (yyvsp[-1].ttype, NULL_TREE); ; { set_init_index (yyvsp[-1].ttype, NULL_TREE); ;
break;} break;}
case 209: case 209:
#line 1135 "c-parse.y" #line 1136 "c-parse.y"
{ if (pedantic) { if (pedantic)
pedwarn ("ANSI C forbids nested functions"); pedwarn ("ANSI C forbids nested functions");
...@@ -2771,16 +2771,16 @@ case 209: ...@@ -2771,16 +2771,16 @@ case 209:
reinit_parse_for_function (); ; reinit_parse_for_function (); ;
break;} break;}
case 210: case 210:
#line 1147 "c-parse.y" #line 1148 "c-parse.y"
{ store_parm_decls (); ; { store_parm_decls (); ;
break;} break;}
case 211: case 211:
#line 1155 "c-parse.y" #line 1156 "c-parse.y"
{ finish_function (1); { finish_function (1);
pop_function_context (); ; pop_function_context (); ;
break;} break;}
case 212: case 212:
#line 1161 "c-parse.y" #line 1162 "c-parse.y"
{ if (pedantic) { if (pedantic)
pedwarn ("ANSI C forbids nested functions"); pedwarn ("ANSI C forbids nested functions");
...@@ -2794,216 +2794,216 @@ case 212: ...@@ -2794,216 +2794,216 @@ case 212:
reinit_parse_for_function (); ; reinit_parse_for_function (); ;
break;} break;}
case 213: case 213:
#line 1173 "c-parse.y" #line 1174 "c-parse.y"
{ store_parm_decls (); ; { store_parm_decls (); ;
break;} break;}
case 214: case 214:
#line 1181 "c-parse.y" #line 1182 "c-parse.y"
{ finish_function (1); { finish_function (1);
pop_function_context (); ; pop_function_context (); ;
break;} break;}
case 217: case 217:
#line 1197 "c-parse.y" #line 1198 "c-parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ; { yyval.ttype = yyvsp[-1].ttype; ;
break;} break;}
case 218: 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); ; { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
break;} break;}
case 219: case 219:
#line 1204 "c-parse.y" #line 1205 "c-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ; { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 220: case 220:
#line 1206 "c-parse.y" #line 1207 "c-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ; { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
break;} break;}
case 221: case 221:
#line 1208 "c-parse.y" #line 1209 "c-parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;} break;}
case 222: case 222:
#line 1215 "c-parse.y" #line 1216 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 224: 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); ; { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
break;} break;}
case 225: case 225:
#line 1231 "c-parse.y" #line 1232 "c-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, NULL_TREE); { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, NULL_TREE);
if (! flag_isoc99) if (! flag_isoc99)
error ("`[*]' in parameter declaration only allowed in ISO C 99"); error ("`[*]' in parameter declaration only allowed in ISO C 99");
; ;
break;} break;}
case 226: case 226:
#line 1236 "c-parse.y" #line 1237 "c-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ; { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 227: case 227:
#line 1238 "c-parse.y" #line 1239 "c-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ; { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
break;} break;}
case 228: case 228:
#line 1240 "c-parse.y" #line 1241 "c-parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;} break;}
case 229: case 229:
#line 1247 "c-parse.y" #line 1248 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 231: 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); ; { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
break;} break;}
case 232: case 232:
#line 1261 "c-parse.y" #line 1262 "c-parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ; { yyval.ttype = yyvsp[-1].ttype; ;
break;} break;}
case 233: case 233:
#line 1263 "c-parse.y" #line 1264 "c-parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;} break;}
case 234: case 234:
#line 1265 "c-parse.y" #line 1266 "c-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, NULL_TREE); { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, NULL_TREE);
if (! flag_isoc99) if (! flag_isoc99)
error ("`[*]' in parameter declaration only allowed in ISO C 99"); error ("`[*]' in parameter declaration only allowed in ISO C 99");
; ;
break;} break;}
case 235: case 235:
#line 1270 "c-parse.y" #line 1271 "c-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ; { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 236: case 236:
#line 1272 "c-parse.y" #line 1273 "c-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ; { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
break;} break;}
case 237: case 237:
#line 1279 "c-parse.y" #line 1280 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 239: case 239:
#line 1285 "c-parse.y" #line 1286 "c-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 240: case 240:
#line 1287 "c-parse.y" #line 1288 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 241: case 241:
#line 1292 "c-parse.y" #line 1293 "c-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 242: case 242:
#line 1294 "c-parse.y" #line 1295 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 243: case 243:
#line 1299 "c-parse.y" #line 1300 "c-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 244: case 244:
#line 1301 "c-parse.y" #line 1302 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 245: case 245:
#line 1306 "c-parse.y" #line 1307 "c-parse.y"
{ yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype); { yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype);
/* Start scope of tag before parsing components. */ /* Start scope of tag before parsing components. */
; ;
break;} break;}
case 246: 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)); ; { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
break;} break;}
case 247: case 247:
#line 1312 "c-parse.y" #line 1313 "c-parse.y"
{ yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE), { yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE),
yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype)); yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
; ;
break;} break;}
case 248: case 248:
#line 1316 "c-parse.y" #line 1317 "c-parse.y"
{ yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ; { yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ;
break;} break;}
case 249: case 249:
#line 1318 "c-parse.y" #line 1319 "c-parse.y"
{ yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ; { yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ;
break;} break;}
case 250: 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)); ; { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
break;} break;}
case 251: case 251:
#line 1322 "c-parse.y" #line 1323 "c-parse.y"
{ yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE), { yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE),
yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype)); yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
; ;
break;} break;}
case 252: case 252:
#line 1326 "c-parse.y" #line 1327 "c-parse.y"
{ yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ; { yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ;
break;} break;}
case 253: case 253:
#line 1328 "c-parse.y" #line 1329 "c-parse.y"
{ yyval.ttype = start_enum (yyvsp[-1].ttype); ; { yyval.ttype = start_enum (yyvsp[-1].ttype); ;
break;} break;}
case 254: case 254:
#line 1330 "c-parse.y" #line 1331 "c-parse.y"
{ yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype), { yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype),
chainon (yyvsp[-7].ttype, yyvsp[0].ttype)); ; chainon (yyvsp[-7].ttype, yyvsp[0].ttype)); ;
break;} break;}
case 255: case 255:
#line 1333 "c-parse.y" #line 1334 "c-parse.y"
{ yyval.ttype = start_enum (NULL_TREE); ; { yyval.ttype = start_enum (NULL_TREE); ;
break;} break;}
case 256: case 256:
#line 1335 "c-parse.y" #line 1336 "c-parse.y"
{ yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype), { yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype),
chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ; chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
break;} break;}
case 257: case 257:
#line 1338 "c-parse.y" #line 1339 "c-parse.y"
{ yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype); ; { yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype); ;
break;} break;}
case 261: case 261:
#line 1349 "c-parse.y" #line 1350 "c-parse.y"
{ if (pedantic && ! flag_isoc99) { if (pedantic && ! flag_isoc99)
pedwarn ("comma at end of enumerator list"); ; pedwarn ("comma at end of enumerator list"); ;
break;} break;}
case 262: case 262:
#line 1355 "c-parse.y" #line 1356 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 263: case 263:
#line 1357 "c-parse.y" #line 1358 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
pedwarn ("no semicolon at end of struct or union"); ; pedwarn ("no semicolon at end of struct or union"); ;
break;} break;}
case 264: case 264:
#line 1362 "c-parse.y" #line 1363 "c-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 265: case 265:
#line 1364 "c-parse.y" #line 1365 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ; { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 266: case 266:
#line 1366 "c-parse.y" #line 1367 "c-parse.y"
{ if (pedantic) { if (pedantic)
pedwarn ("extra semicolon in struct or union specified"); ; pedwarn ("extra semicolon in struct or union specified"); ;
break;} break;}
case 267: case 267:
#line 1381 "c-parse.y" #line 1382 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; { yyval.ttype = yyvsp[0].ttype;
current_declspecs = TREE_VALUE (declspec_stack); current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 268: case 268:
#line 1386 "c-parse.y" #line 1387 "c-parse.y"
{ {
/* Support for unnamed structs or unions as members of /* Support for unnamed structs or unions as members of
structs or unions (which is [a] useful and [b] supports structs or unions (which is [a] useful and [b] supports
...@@ -3018,151 +3018,151 @@ case 268: ...@@ -3018,151 +3018,151 @@ case 268:
; ;
break;} break;}
case 269: case 269:
#line 1399 "c-parse.y" #line 1400 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; { yyval.ttype = yyvsp[0].ttype;
current_declspecs = TREE_VALUE (declspec_stack); current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 270: case 270:
#line 1404 "c-parse.y" #line 1405 "c-parse.y"
{ if (pedantic) { if (pedantic)
pedwarn ("ANSI C forbids member declarations with no members"); pedwarn ("ANSI C forbids member declarations with no members");
shadow_tag(yyvsp[0].ttype); shadow_tag(yyvsp[0].ttype);
yyval.ttype = NULL_TREE; ; yyval.ttype = NULL_TREE; ;
break;} break;}
case 271: case 271:
#line 1409 "c-parse.y" #line 1410 "c-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 272: case 272:
#line 1411 "c-parse.y" #line 1412 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; { yyval.ttype = yyvsp[0].ttype;
RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ; RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
break;} break;}
case 274: case 274:
#line 1418 "c-parse.y" #line 1419 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 275: 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); { 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); ; decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
break;} break;}
case 276: 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); { 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); ; decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
break;} break;}
case 277: 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); { 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); ; decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
break;} break;}
case 279: case 279:
#line 1442 "c-parse.y" #line 1443 "c-parse.y"
{ if (yyvsp[-2].ttype == error_mark_node) { if (yyvsp[-2].ttype == error_mark_node)
yyval.ttype = yyvsp[-2].ttype; yyval.ttype = yyvsp[-2].ttype;
else else
yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ; yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ;
break;} break;}
case 280: case 280:
#line 1447 "c-parse.y" #line 1448 "c-parse.y"
{ yyval.ttype = error_mark_node; ; { yyval.ttype = error_mark_node; ;
break;} break;}
case 281: case 281:
#line 1453 "c-parse.y" #line 1454 "c-parse.y"
{ yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ; { yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ;
break;} break;}
case 282: case 282:
#line 1455 "c-parse.y" #line 1456 "c-parse.y"
{ yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ; { yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 283: case 283:
#line 1460 "c-parse.y" #line 1461 "c-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ; { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;} break;}
case 284: case 284:
#line 1462 "c-parse.y" #line 1463 "c-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ; { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;} break;}
case 285: case 285:
#line 1467 "c-parse.y" #line 1468 "c-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 287: case 287:
#line 1473 "c-parse.y" #line 1474 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
break;} break;}
case 288: case 288:
#line 1475 "c-parse.y" #line 1476 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 289: case 289:
#line 1480 "c-parse.y" #line 1481 "c-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 290: case 290:
#line 1482 "c-parse.y" #line 1483 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 291: case 291:
#line 1487 "c-parse.y" #line 1488 "c-parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ; { yyval.ttype = yyvsp[-1].ttype; ;
break;} break;}
case 292: case 292:
#line 1490 "c-parse.y" #line 1491 "c-parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;} break;}
case 293: case 293:
#line 1492 "c-parse.y" #line 1493 "c-parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ; { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
break;} break;}
case 294: 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); ; { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
break;} break;}
case 295: case 295:
#line 1496 "c-parse.y" #line 1497 "c-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ; { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 296: case 296:
#line 1498 "c-parse.y" #line 1499 "c-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ; { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
break;} break;}
case 297: 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); ; { yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
break;} break;}
case 298: case 298:
#line 1502 "c-parse.y" #line 1503 "c-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ; { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
break;} break;}
case 299: case 299:
#line 1504 "c-parse.y" #line 1505 "c-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ; { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ;
break;} break;}
case 300: case 300:
#line 1508 "c-parse.y" #line 1509 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 301: case 301:
#line 1517 "c-parse.y" #line 1518 "c-parse.y"
{ {
if (pedantic && yyvsp[0].ends_in_label) if (pedantic && yyvsp[0].ends_in_label)
pedwarn ("ANSI C forbids label at end of compound statement"); pedwarn ("ANSI C forbids label at end of compound statement");
; ;
break;} break;}
case 303: case 303:
#line 1526 "c-parse.y" #line 1527 "c-parse.y"
{ yyval.ends_in_label = yyvsp[0].ends_in_label; ; { yyval.ends_in_label = yyvsp[0].ends_in_label; ;
break;} break;}
case 304: case 304:
#line 1528 "c-parse.y" #line 1529 "c-parse.y"
{ yyval.ends_in_label = 0; ; { yyval.ends_in_label = 0; ;
break;} break;}
case 308: case 308:
#line 1540 "c-parse.y" #line 1541 "c-parse.y"
{ emit_line_note (input_filename, lineno); { emit_line_note (input_filename, lineno);
pushlevel (0); pushlevel (0);
clear_last_expr (); clear_last_expr ();
...@@ -3170,12 +3170,12 @@ case 308: ...@@ -3170,12 +3170,12 @@ case 308:
; ;
break;} break;}
case 310: case 310:
#line 1552 "c-parse.y" #line 1553 "c-parse.y"
{ if (pedantic) { if (pedantic)
pedwarn ("ANSI C forbids label declarations"); ; pedwarn ("ANSI C forbids label declarations"); ;
break;} break;}
case 313: case 313:
#line 1563 "c-parse.y" #line 1564 "c-parse.y"
{ tree link; { tree link;
for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link)) for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
{ {
...@@ -3186,37 +3186,37 @@ case 313: ...@@ -3186,37 +3186,37 @@ case 313:
; ;
break;} break;}
case 314: case 314:
#line 1577 "c-parse.y" #line 1578 "c-parse.y"
{; {;
break;} break;}
case 316: case 316:
#line 1581 "c-parse.y" #line 1582 "c-parse.y"
{ compstmt_count++; ; { compstmt_count++; ;
break;} break;}
case 317: case 317:
#line 1584 "c-parse.y" #line 1585 "c-parse.y"
{ yyval.ttype = convert (void_type_node, integer_zero_node); ; { yyval.ttype = convert (void_type_node, integer_zero_node); ;
break;} break;}
case 318: case 318:
#line 1586 "c-parse.y" #line 1587 "c-parse.y"
{ emit_line_note (input_filename, lineno); { emit_line_note (input_filename, lineno);
expand_end_bindings (getdecls (), 1, 0); expand_end_bindings (getdecls (), 1, 0);
yyval.ttype = poplevel (1, 1, 0); ; yyval.ttype = poplevel (1, 1, 0); ;
break;} break;}
case 319: case 319:
#line 1590 "c-parse.y" #line 1591 "c-parse.y"
{ emit_line_note (input_filename, lineno); { emit_line_note (input_filename, lineno);
expand_end_bindings (getdecls (), kept_level_p (), 0); expand_end_bindings (getdecls (), kept_level_p (), 0);
yyval.ttype = poplevel (kept_level_p (), 0, 0); ; yyval.ttype = poplevel (kept_level_p (), 0, 0); ;
break;} break;}
case 320: case 320:
#line 1594 "c-parse.y" #line 1595 "c-parse.y"
{ emit_line_note (input_filename, lineno); { emit_line_note (input_filename, lineno);
expand_end_bindings (getdecls (), kept_level_p (), 0); expand_end_bindings (getdecls (), kept_level_p (), 0);
yyval.ttype = poplevel (kept_level_p (), 0, 0); ; yyval.ttype = poplevel (kept_level_p (), 0, 0); ;
break;} break;}
case 321: case 321:
#line 1601 "c-parse.y" #line 1602 "c-parse.y"
{ if (current_function_decl == 0) { if (current_function_decl == 0)
{ {
error ("braced-group within expression allowed only inside a function"); error ("braced-group within expression allowed only inside a function");
...@@ -3234,11 +3234,11 @@ case 321: ...@@ -3234,11 +3234,11 @@ case 321:
; ;
break;} break;}
case 322: case 322:
#line 1618 "c-parse.y" #line 1619 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 325: case 325:
#line 1632 "c-parse.y" #line 1633 "c-parse.y"
{ emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno); { emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
c_expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0, c_expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0,
compstmt_count); compstmt_count);
...@@ -3248,7 +3248,7 @@ case 325: ...@@ -3248,7 +3248,7 @@ case 325:
position_after_white_space (); ; position_after_white_space (); ;
break;} break;}
case 326: case 326:
#line 1646 "c-parse.y" #line 1647 "c-parse.y"
{ stmt_count++; { stmt_count++;
compstmt_count++; compstmt_count++;
emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno); emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
...@@ -3258,43 +3258,43 @@ case 326: ...@@ -3258,43 +3258,43 @@ case 326:
position_after_white_space (); ; position_after_white_space (); ;
break;} break;}
case 327: case 327:
#line 1654 "c-parse.y" #line 1655 "c-parse.y"
{ expand_loop_continue_here (); ; { expand_loop_continue_here (); ;
break;} break;}
case 328: case 328:
#line 1658 "c-parse.y" #line 1659 "c-parse.y"
{ yyval.filename = input_filename; ; { yyval.filename = input_filename; ;
break;} break;}
case 329: case 329:
#line 1662 "c-parse.y" #line 1663 "c-parse.y"
{ yyval.lineno = lineno; ; { yyval.lineno = lineno; ;
break;} break;}
case 330: case 330:
#line 1667 "c-parse.y" #line 1668 "c-parse.y"
{ ; { ;
break;} break;}
case 331: case 331:
#line 1672 "c-parse.y" #line 1673 "c-parse.y"
{ ; { ;
break;} break;}
case 332: case 332:
#line 1677 "c-parse.y" #line 1678 "c-parse.y"
{ yyval.ends_in_label = yyvsp[0].ends_in_label; ; { yyval.ends_in_label = yyvsp[0].ends_in_label; ;
break;} break;}
case 333: case 333:
#line 1682 "c-parse.y" #line 1683 "c-parse.y"
{ yyval.ends_in_label = 0; ; { yyval.ends_in_label = 0; ;
break;} break;}
case 334: case 334:
#line 1684 "c-parse.y" #line 1685 "c-parse.y"
{ yyval.ends_in_label = 1; ; { yyval.ends_in_label = 1; ;
break;} break;}
case 335: case 335:
#line 1690 "c-parse.y" #line 1691 "c-parse.y"
{ stmt_count++; ; { stmt_count++; ;
break;} break;}
case 337: case 337:
#line 1693 "c-parse.y" #line 1694 "c-parse.y"
{ stmt_count++; { stmt_count++;
emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
/* It appears that this should not be done--that a non-lvalue array /* It appears that this should not be done--that a non-lvalue array
...@@ -3312,19 +3312,19 @@ case 337: ...@@ -3312,19 +3312,19 @@ case 337:
iterator_expand (yyvsp[-1].ttype); ; iterator_expand (yyvsp[-1].ttype); ;
break;} break;}
case 338: case 338:
#line 1709 "c-parse.y" #line 1710 "c-parse.y"
{ c_expand_start_else (); { c_expand_start_else ();
yyvsp[-1].itype = stmt_count; yyvsp[-1].itype = stmt_count;
position_after_white_space (); ; position_after_white_space (); ;
break;} break;}
case 339: case 339:
#line 1713 "c-parse.y" #line 1714 "c-parse.y"
{ c_expand_end_cond (); { c_expand_end_cond ();
if (extra_warnings && stmt_count == yyvsp[-3].itype) if (extra_warnings && stmt_count == yyvsp[-3].itype)
warning ("empty body in an else-statement"); ; warning ("empty body in an else-statement"); ;
break;} break;}
case 340: case 340:
#line 1717 "c-parse.y" #line 1718 "c-parse.y"
{ c_expand_end_cond (); { c_expand_end_cond ();
/* This warning is here instead of in simple_if, because we /* This warning is here instead of in simple_if, because we
do not want a warning if an empty if is followed by an do not want a warning if an empty if is followed by an
...@@ -3335,11 +3335,11 @@ case 340: ...@@ -3335,11 +3335,11 @@ case 340:
"empty body in an if-statement"); ; "empty body in an if-statement"); ;
break;} break;}
case 341: case 341:
#line 1729 "c-parse.y" #line 1730 "c-parse.y"
{ c_expand_end_cond (); ; { c_expand_end_cond (); ;
break;} break;}
case 342: case 342:
#line 1731 "c-parse.y" #line 1732 "c-parse.y"
{ stmt_count++; { stmt_count++;
emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno); emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
/* The emit_nop used to come before emit_line_note, /* The emit_nop used to come before emit_line_note,
...@@ -3351,7 +3351,7 @@ case 342: ...@@ -3351,7 +3351,7 @@ case 342:
emit_nop (); ; emit_nop (); ;
break;} break;}
case 343: case 343:
#line 1741 "c-parse.y" #line 1742 "c-parse.y"
{ /* Don't start the loop till we have succeeded { /* Don't start the loop till we have succeeded
in parsing the end test. This is to make sure in parsing the end test. This is to make sure
that we end every loop we start. */ that we end every loop we start. */
...@@ -3362,22 +3362,22 @@ case 343: ...@@ -3362,22 +3362,22 @@ case 343:
position_after_white_space (); ; position_after_white_space (); ;
break;} break;}
case 344: case 344:
#line 1750 "c-parse.y" #line 1751 "c-parse.y"
{ expand_end_loop (); ; { expand_end_loop (); ;
break;} break;}
case 345: case 345:
#line 1753 "c-parse.y" #line 1754 "c-parse.y"
{ emit_line_note (input_filename, lineno); { emit_line_note (input_filename, lineno);
expand_exit_loop_if_false (NULL_PTR, expand_exit_loop_if_false (NULL_PTR,
truthvalue_conversion (yyvsp[-2].ttype)); truthvalue_conversion (yyvsp[-2].ttype));
expand_end_loop (); ; expand_end_loop (); ;
break;} break;}
case 346: case 346:
#line 1759 "c-parse.y" #line 1760 "c-parse.y"
{ expand_end_loop (); ; { expand_end_loop (); ;
break;} break;}
case 347: case 347:
#line 1762 "c-parse.y" #line 1763 "c-parse.y"
{ stmt_count++; { stmt_count++;
emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno); emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
/* See comment in `while' alternative, above. */ /* See comment in `while' alternative, above. */
...@@ -3390,12 +3390,12 @@ case 347: ...@@ -3390,12 +3390,12 @@ case 347:
; ;
break;} break;}
case 348: case 348:
#line 1774 "c-parse.y" #line 1775 "c-parse.y"
{ yyvsp[0].lineno = lineno; { yyvsp[0].lineno = lineno;
yyval.filename = input_filename; ; yyval.filename = input_filename; ;
break;} break;}
case 349: case 349:
#line 1777 "c-parse.y" #line 1778 "c-parse.y"
{ {
/* Start the loop. Doing this after parsing /* Start the loop. Doing this after parsing
all the expressions ensures we will end the loop. */ all the expressions ensures we will end the loop. */
...@@ -3410,7 +3410,7 @@ case 349: ...@@ -3410,7 +3410,7 @@ case 349:
position_after_white_space (); ; position_after_white_space (); ;
break;} break;}
case 350: case 350:
#line 1790 "c-parse.y" #line 1791 "c-parse.y"
{ /* Emit the increment expression, with a line number. */ { /* Emit the increment expression, with a line number. */
emit_line_note (yyvsp[-4].filename, yyvsp[-5].lineno); emit_line_note (yyvsp[-4].filename, yyvsp[-5].lineno);
expand_loop_continue_here (); expand_loop_continue_here ();
...@@ -3419,44 +3419,44 @@ case 350: ...@@ -3419,44 +3419,44 @@ case 350:
expand_end_loop (); ; expand_end_loop (); ;
break;} break;}
case 351: case 351:
#line 1797 "c-parse.y" #line 1798 "c-parse.y"
{ stmt_count++; { stmt_count++;
emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno); emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
c_expand_start_case (yyvsp[-1].ttype); c_expand_start_case (yyvsp[-1].ttype);
position_after_white_space (); ; position_after_white_space (); ;
break;} break;}
case 352: case 352:
#line 1802 "c-parse.y" #line 1803 "c-parse.y"
{ expand_end_case (yyvsp[-3].ttype); ; { expand_end_case (yyvsp[-3].ttype); ;
break;} break;}
case 353: case 353:
#line 1804 "c-parse.y" #line 1805 "c-parse.y"
{ stmt_count++; { stmt_count++;
emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
if ( ! expand_exit_something ()) if ( ! expand_exit_something ())
error ("break statement not within loop or switch"); ; error ("break statement not within loop or switch"); ;
break;} break;}
case 354: case 354:
#line 1809 "c-parse.y" #line 1810 "c-parse.y"
{ stmt_count++; { stmt_count++;
emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
if (! expand_continue_loop (NULL_PTR)) if (! expand_continue_loop (NULL_PTR))
error ("continue statement not within a loop"); ; error ("continue statement not within a loop"); ;
break;} break;}
case 355: case 355:
#line 1814 "c-parse.y" #line 1815 "c-parse.y"
{ stmt_count++; { stmt_count++;
emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
c_expand_return (NULL_TREE); ; c_expand_return (NULL_TREE); ;
break;} break;}
case 356: case 356:
#line 1818 "c-parse.y" #line 1819 "c-parse.y"
{ stmt_count++; { stmt_count++;
emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno); emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
c_expand_return (yyvsp[-1].ttype); ; c_expand_return (yyvsp[-1].ttype); ;
break;} break;}
case 357: case 357:
#line 1822 "c-parse.y" #line 1823 "c-parse.y"
{ stmt_count++; { stmt_count++;
emit_line_note (yyvsp[-7].filename, yyvsp[-6].lineno); emit_line_note (yyvsp[-7].filename, yyvsp[-6].lineno);
STRIP_NOPS (yyvsp[-2].ttype); STRIP_NOPS (yyvsp[-2].ttype);
...@@ -3468,7 +3468,7 @@ case 357: ...@@ -3468,7 +3468,7 @@ case 357:
error ("argument of `asm' is not a constant string"); ; error ("argument of `asm' is not a constant string"); ;
break;} break;}
case 358: case 358:
#line 1833 "c-parse.y" #line 1834 "c-parse.y"
{ stmt_count++; { stmt_count++;
emit_line_note (yyvsp[-9].filename, yyvsp[-8].lineno); emit_line_note (yyvsp[-9].filename, yyvsp[-8].lineno);
c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE, c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
...@@ -3476,7 +3476,7 @@ case 358: ...@@ -3476,7 +3476,7 @@ case 358:
input_filename, lineno); ; input_filename, lineno); ;
break;} break;}
case 359: case 359:
#line 1840 "c-parse.y" #line 1841 "c-parse.y"
{ stmt_count++; { stmt_count++;
emit_line_note (yyvsp[-11].filename, yyvsp[-10].lineno); emit_line_note (yyvsp[-11].filename, yyvsp[-10].lineno);
c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
...@@ -3484,7 +3484,7 @@ case 359: ...@@ -3484,7 +3484,7 @@ case 359:
input_filename, lineno); ; input_filename, lineno); ;
break;} break;}
case 360: case 360:
#line 1848 "c-parse.y" #line 1849 "c-parse.y"
{ stmt_count++; { stmt_count++;
emit_line_note (yyvsp[-13].filename, yyvsp[-12].lineno); 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, c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
...@@ -3492,7 +3492,7 @@ case 360: ...@@ -3492,7 +3492,7 @@ case 360:
input_filename, lineno); ; input_filename, lineno); ;
break;} break;}
case 361: case 361:
#line 1854 "c-parse.y" #line 1855 "c-parse.y"
{ tree decl; { tree decl;
stmt_count++; stmt_count++;
emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno); emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
...@@ -3505,7 +3505,7 @@ case 361: ...@@ -3505,7 +3505,7 @@ case 361:
; ;
break;} break;}
case 362: case 362:
#line 1865 "c-parse.y" #line 1866 "c-parse.y"
{ if (pedantic) { if (pedantic)
pedwarn ("ANSI C forbids `goto *expr;'"); pedwarn ("ANSI C forbids `goto *expr;'");
stmt_count++; stmt_count++;
...@@ -3513,7 +3513,7 @@ case 362: ...@@ -3513,7 +3513,7 @@ case 362:
expand_computed_goto (convert (ptr_type_node, yyvsp[-1].ttype)); ; expand_computed_goto (convert (ptr_type_node, yyvsp[-1].ttype)); ;
break;} break;}
case 365: case 365:
#line 1880 "c-parse.y" #line 1881 "c-parse.y"
{ {
/* The value returned by this action is */ /* The value returned by this action is */
/* 1 if everything is OK */ /* 1 if everything is OK */
...@@ -3536,14 +3536,14 @@ case 365: ...@@ -3536,14 +3536,14 @@ case 365:
; ;
break;} break;}
case 366: case 366:
#line 1901 "c-parse.y" #line 1902 "c-parse.y"
{ {
if (yyvsp[-1].itype) if (yyvsp[-1].itype)
iterator_for_loop_end (yyvsp[-3].ttype); iterator_for_loop_end (yyvsp[-3].ttype);
; ;
break;} break;}
case 367: case 367:
#line 1932 "c-parse.y" #line 1933 "c-parse.y"
{ register tree value = check_case_value (yyvsp[-1].ttype); { register tree value = check_case_value (yyvsp[-1].ttype);
register tree label register tree label
= build_decl (LABEL_DECL, NULL_TREE, NULL_TREE); = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
...@@ -3576,7 +3576,7 @@ case 367: ...@@ -3576,7 +3576,7 @@ case 367:
position_after_white_space (); ; position_after_white_space (); ;
break;} break;}
case 368: case 368:
#line 1963 "c-parse.y" #line 1964 "c-parse.y"
{ register tree value1 = check_case_value (yyvsp[-3].ttype); { register tree value1 = check_case_value (yyvsp[-3].ttype);
register tree value2 = check_case_value (yyvsp[-1].ttype); register tree value2 = check_case_value (yyvsp[-1].ttype);
register tree label register tree label
...@@ -3609,7 +3609,7 @@ case 368: ...@@ -3609,7 +3609,7 @@ case 368:
position_after_white_space (); ; position_after_white_space (); ;
break;} break;}
case 369: case 369:
#line 1994 "c-parse.y" #line 1995 "c-parse.y"
{ {
tree duplicate; tree duplicate;
register tree label register tree label
...@@ -3626,7 +3626,7 @@ case 369: ...@@ -3626,7 +3626,7 @@ case 369:
position_after_white_space (); ; position_after_white_space (); ;
break;} break;}
case 370: case 370:
#line 2009 "c-parse.y" #line 2010 "c-parse.y"
{ tree label = define_label (input_filename, lineno, yyvsp[-2].ttype); { tree label = define_label (input_filename, lineno, yyvsp[-2].ttype);
stmt_count++; stmt_count++;
emit_nop (); emit_nop ();
...@@ -3638,52 +3638,52 @@ case 370: ...@@ -3638,52 +3638,52 @@ case 370:
position_after_white_space (); ; position_after_white_space (); ;
break;} break;}
case 371: case 371:
#line 2024 "c-parse.y" #line 2025 "c-parse.y"
{ emit_line_note (input_filename, lineno); { emit_line_note (input_filename, lineno);
yyval.ttype = NULL_TREE; ; yyval.ttype = NULL_TREE; ;
break;} break;}
case 372: case 372:
#line 2027 "c-parse.y" #line 2028 "c-parse.y"
{ emit_line_note (input_filename, lineno); ; { emit_line_note (input_filename, lineno); ;
break;} break;}
case 373: case 373:
#line 2032 "c-parse.y" #line 2033 "c-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 375: case 375:
#line 2039 "c-parse.y" #line 2040 "c-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 378: case 378:
#line 2046 "c-parse.y" #line 2047 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 379: case 379:
#line 2051 "c-parse.y" #line 2052 "c-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 380: 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); ; { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ;
break;} break;}
case 381: 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); ; { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ;
break;} break;}
case 382: case 382:
#line 2064 "c-parse.y" #line 2065 "c-parse.y"
{ pushlevel (0); { pushlevel (0);
clear_parm_order (); clear_parm_order ();
declare_parm_level (0); ; declare_parm_level (0); ;
break;} break;}
case 383: case 383:
#line 2068 "c-parse.y" #line 2069 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; { yyval.ttype = yyvsp[0].ttype;
parmlist_tags_warning (); parmlist_tags_warning ();
poplevel (0, 0, 0); ; poplevel (0, 0, 0); ;
break;} break;}
case 385: case 385:
#line 2076 "c-parse.y" #line 2077 "c-parse.y"
{ tree parm; { tree parm;
if (pedantic) if (pedantic)
pedwarn ("ANSI C forbids forward parameter declarations"); pedwarn ("ANSI C forbids forward parameter declarations");
...@@ -3693,19 +3693,19 @@ case 385: ...@@ -3693,19 +3693,19 @@ case 385:
clear_parm_order (); ; clear_parm_order (); ;
break;} break;}
case 386: case 386:
#line 2084 "c-parse.y" #line 2085 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 387: case 387:
#line 2086 "c-parse.y" #line 2087 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ; { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ;
break;} break;}
case 388: case 388:
#line 2092 "c-parse.y" #line 2093 "c-parse.y"
{ yyval.ttype = get_parm_info (0); ; { yyval.ttype = get_parm_info (0); ;
break;} break;}
case 389: case 389:
#line 2094 "c-parse.y" #line 2095 "c-parse.y"
{ yyval.ttype = get_parm_info (0); { yyval.ttype = get_parm_info (0);
/* Gcc used to allow this as an extension. However, it does /* Gcc used to allow this as an extension. However, it does
not work for all targets, and thus has been disabled. not work for all targets, and thus has been disabled.
...@@ -3717,23 +3717,23 @@ case 389: ...@@ -3717,23 +3717,23 @@ case 389:
; ;
break;} break;}
case 390: case 390:
#line 2104 "c-parse.y" #line 2105 "c-parse.y"
{ yyval.ttype = get_parm_info (1); ; { yyval.ttype = get_parm_info (1); ;
break;} break;}
case 391: case 391:
#line 2106 "c-parse.y" #line 2107 "c-parse.y"
{ yyval.ttype = get_parm_info (0); ; { yyval.ttype = get_parm_info (0); ;
break;} break;}
case 392: case 392:
#line 2111 "c-parse.y" #line 2112 "c-parse.y"
{ push_parm_decl (yyvsp[0].ttype); ; { push_parm_decl (yyvsp[0].ttype); ;
break;} break;}
case 393: case 393:
#line 2113 "c-parse.y" #line 2114 "c-parse.y"
{ push_parm_decl (yyvsp[0].ttype); ; { push_parm_decl (yyvsp[0].ttype); ;
break;} break;}
case 394: case 394:
#line 2120 "c-parse.y" #line 2121 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs, { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype), yyvsp[-1].ttype),
build_tree_list (prefix_attributes, build_tree_list (prefix_attributes,
...@@ -3743,7 +3743,7 @@ case 394: ...@@ -3743,7 +3743,7 @@ case 394:
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 395: case 395:
#line 2128 "c-parse.y" #line 2129 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs, { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype), yyvsp[-1].ttype),
build_tree_list (prefix_attributes, build_tree_list (prefix_attributes,
...@@ -3753,7 +3753,7 @@ case 395: ...@@ -3753,7 +3753,7 @@ case 395:
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 396: case 396:
#line 2136 "c-parse.y" #line 2137 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs, { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype), yyvsp[-1].ttype),
build_tree_list (prefix_attributes, build_tree_list (prefix_attributes,
...@@ -3763,7 +3763,7 @@ case 396: ...@@ -3763,7 +3763,7 @@ case 396:
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 397: case 397:
#line 2144 "c-parse.y" #line 2145 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs, { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype), yyvsp[-1].ttype),
build_tree_list (prefix_attributes, build_tree_list (prefix_attributes,
...@@ -3773,7 +3773,7 @@ case 397: ...@@ -3773,7 +3773,7 @@ case 397:
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 398: case 398:
#line 2153 "c-parse.y" #line 2154 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs, { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype), yyvsp[-1].ttype),
build_tree_list (prefix_attributes, build_tree_list (prefix_attributes,
...@@ -3783,19 +3783,19 @@ case 398: ...@@ -3783,19 +3783,19 @@ case 398:
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 399: case 399:
#line 2166 "c-parse.y" #line 2167 "c-parse.y"
{ pushlevel (0); { pushlevel (0);
clear_parm_order (); clear_parm_order ();
declare_parm_level (1); ; declare_parm_level (1); ;
break;} break;}
case 400: case 400:
#line 2170 "c-parse.y" #line 2171 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; { yyval.ttype = yyvsp[0].ttype;
parmlist_tags_warning (); parmlist_tags_warning ();
poplevel (0, 0, 0); ; poplevel (0, 0, 0); ;
break;} break;}
case 402: case 402:
#line 2178 "c-parse.y" #line 2179 "c-parse.y"
{ tree t; { tree t;
for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t)) for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t))
if (TREE_VALUE (t) == NULL_TREE) if (TREE_VALUE (t) == NULL_TREE)
...@@ -3803,30 +3803,30 @@ case 402: ...@@ -3803,30 +3803,30 @@ case 402:
yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ; yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
break;} break;}
case 403: case 403:
#line 2188 "c-parse.y" #line 2189 "c-parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
break;} break;}
case 404: 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)); ; { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;} break;}
case 405: case 405:
#line 2196 "c-parse.y" #line 2197 "c-parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
break;} break;}
case 406: 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)); ; { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;} break;}
case 407: case 407:
#line 2203 "c-parse.y" #line 2204 "c-parse.y"
{ yyval.ttype = SAVE_WARN_FLAGS(); { yyval.ttype = SAVE_WARN_FLAGS();
pedantic = 0; pedantic = 0;
warn_pointer_arith = 0; ; warn_pointer_arith = 0; ;
break;} break;}
} }
/* the action file gets copied in in place of this dollarsign */ /* the action file gets copied in in place of this dollarsign */
#line 543 "/usr/share/misc/bison.simple" #line 543 "/usr/lib/bison.simple"
yyvsp -= yylen; yyvsp -= yylen;
yyssp -= yylen; yyssp -= yylen;
...@@ -4046,5 +4046,5 @@ yyerrhandle: ...@@ -4046,5 +4046,5 @@ yyerrhandle:
} }
return 1; return 1;
} }
#line 2208 "c-parse.y" #line 2209 "c-parse.y"
/* A Bison parser, made from cexp.y /* 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 YYBISON 1 /* Identify Bison output. */
#define INT 258 #define INT 257
#define CHAR 259 #define CHAR 258
#define NAME 260 #define NAME 259
#define ERROR 261 #define ERROR 260
#define OR 262 #define OR 261
#define AND 263 #define AND 262
#define EQUAL 264 #define EQUAL 263
#define NOTEQUAL 265 #define NOTEQUAL 264
#define LEQ 266 #define LEQ 265
#define GEQ 267 #define GEQ 266
#define LSH 268 #define LSH 267
#define RSH 269 #define RSH 268
#define UNARY 270 #define UNARY 269
#line 27 "cexp.y" #line 28 "cexp.y"
#include "config.h" #include "config.h"
...@@ -146,7 +145,7 @@ static void integer_overflow PARAMS ((void)); ...@@ -146,7 +145,7 @@ static void integer_overflow PARAMS ((void));
#define SIGNED (~0) #define SIGNED (~0)
#define UNSIGNED 0 #define UNSIGNED 0
#line 154 "cexp.y" #line 155 "cexp.y"
typedef union { typedef union {
struct constant {HOST_WIDEST_INT value; int signedp;} integer; struct constant {HOST_WIDEST_INT value; int signedp;} integer;
struct name {U_CHAR *address; int length;} name; struct name {U_CHAR *address; int length;} name;
...@@ -166,7 +165,7 @@ typedef union { ...@@ -166,7 +165,7 @@ typedef union {
#define YYFLAG -32768 #define YYFLAG -32768
#define YYNTBASE 34 #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, 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,
...@@ -194,8 +193,8 @@ static const char yytranslate[] = { 0, ...@@ -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, 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, 2, 2, 2, 2, 2, 1, 3, 4, 5, 6,
6, 10, 11, 15, 16, 19, 20, 21, 22, 28 10, 11, 15, 16, 19, 20, 21, 22, 28
}; };
#if YYDEBUG != 0 #if YYDEBUG != 0
...@@ -227,10 +226,10 @@ static const short yyrhs[] = { 35, ...@@ -227,10 +226,10 @@ static const short yyrhs[] = { 35,
#if YYDEBUG != 0 #if YYDEBUG != 0
static const short yyrline[] = { 0, static const short yyrline[] = { 0,
184, 194, 195, 202, 207, 210, 212, 215, 219, 221, 185, 195, 196, 203, 208, 211, 213, 216, 220, 222,
226, 231, 244, 261, 274, 280, 286, 292, 298, 301, 227, 232, 245, 262, 275, 281, 287, 293, 299, 302,
304, 311, 318, 325, 332, 335, 338, 341, 344, 347, 305, 312, 319, 326, 333, 336, 339, 342, 345, 348,
350, 353, 355, 358, 361, 363, 365, 373, 375, 388 351, 354, 356, 359, 362, 364, 366, 374, 376, 389
}; };
#endif #endif
...@@ -336,7 +335,8 @@ static const short yycheck[] = { 4, ...@@ -336,7 +335,8 @@ static const short yycheck[] = { 4,
26, 27, 23, 24, 25, 26, 27, 0, 9 26, 27, 23, 24, 25, 26, 27, 0, 9
}; };
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ /* -*-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, /* Skeleton output parser for bison,
Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
...@@ -353,46 +353,66 @@ static const short yycheck[] = { 4, ...@@ -353,46 +353,66 @@ static const short yycheck[] = { 4,
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software 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 /* As a special exception, when this file is copied by Bison into a
Bison output file, you may use that output file without restriction. Bison output file, you may use that output file without restriction.
This special exception was added by the Free Software Foundation This special exception was added by the Free Software Foundation
in version 1.24 of Bison. */ 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__ #ifdef __GNUC__
#define YYSTACK_USE_ALLOCA
#define alloca __builtin_alloca #define alloca __builtin_alloca
#else /* not GNU C. */ #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> #include <alloca.h>
#else /* not sparc */ #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> #include <malloc.h>
#endif
#else /* not MSDOS, or __TURBOC__ */ #else /* not MSDOS, or __TURBOC__ */
#if defined(_AIX) #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 #pragma alloca
#else /* not MSDOS, __TURBOC__, or _AIX */ #define YYSTACK_USE_ALLOCA
#ifdef __hpux #else /* not MSDOS, or __TURBOC__, or _AIX */
#ifdef __cplusplus #if 0
extern "C" { #ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
void *alloca (unsigned int); and on HPUX 10. Eventually we can turn this on. */
}; #define YYSTACK_USE_ALLOCA
#else /* not __cplusplus */ #define alloca __builtin_alloca
void *alloca ();
#endif /* not __cplusplus */
#endif /* __hpux */ #endif /* __hpux */
#endif
#endif /* not _AIX */ #endif /* not _AIX */
#endif /* not MSDOS, or __TURBOC__ */ #endif /* not MSDOS, or __TURBOC__ */
#endif /* not sparc. */ #endif /* not sparc */
#endif /* not GNU C. */ #endif /* not GNU C */
#endif /* alloca not defined. */ #endif /* alloca not defined */
#endif /* YYSTACK_USE_ALLOCA not defined */
/* This is the parser code that is written into each bison parser #ifdef YYSTACK_USE_ALLOCA
when the %semantic_parser declaration is not specified in the grammar. #define YYSTACK_ALLOC alloca
It was written by Richard Stallman by simplifying the hairy parser #else
used when %semantic_parser is specified. */ #define YYSTACK_ALLOC malloc
#endif
/* Note: there must be only one dollar sign in this file. /* Note: there must be only one dollar sign in this file.
It is replaced by the list of actions, each action It is replaced by the list of actions, each action
...@@ -402,8 +422,8 @@ void *alloca (); ...@@ -402,8 +422,8 @@ void *alloca ();
#define yyclearin (yychar = YYEMPTY) #define yyclearin (yychar = YYEMPTY)
#define YYEMPTY -2 #define YYEMPTY -2
#define YYEOF 0 #define YYEOF 0
#define YYACCEPT return(0) #define YYACCEPT goto yyacceptlab
#define YYABORT return(1) #define YYABORT goto yyabortlab
#define YYERROR goto yyerrlab1 #define YYERROR goto yyerrlab1
/* Like YYERROR except do call yyerror. /* Like YYERROR except do call yyerror.
This remains here temporarily to ease the This remains here temporarily to ease the
...@@ -484,12 +504,12 @@ int yydebug; /* nonzero means print parse trace */ ...@@ -484,12 +504,12 @@ int yydebug; /* nonzero means print parse trace */
#ifndef YYMAXDEPTH #ifndef YYMAXDEPTH
#define YYMAXDEPTH 10000 #define YYMAXDEPTH 10000
#endif #endif
/* Prevent warning if -Wstrict-prototypes. */
#ifdef __GNUC__
int yyparse (void);
#endif
/* 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. */ #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
#else /* not GNU C or C++ */ #else /* not GNU C or C++ */
...@@ -501,7 +521,7 @@ static void ...@@ -501,7 +521,7 @@ static void
__yy_memcpy (to, from, count) __yy_memcpy (to, from, count)
char *to; char *to;
char *from; char *from;
int count; unsigned int count;
{ {
register char *f = from; register char *f = from;
register char *t = to; register char *t = to;
...@@ -516,10 +536,10 @@ __yy_memcpy (to, from, count) ...@@ -516,10 +536,10 @@ __yy_memcpy (to, from, count)
/* This is the most reliable way to avoid incompatibilities /* This is the most reliable way to avoid incompatibilities
in available built-in functions on various systems. */ in available built-in functions on various systems. */
static void 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 *t = to;
register char *f = from;
register int i = count; register int i = count;
while (i-- > 0) while (i-- > 0)
...@@ -529,7 +549,7 @@ __yy_memcpy (char *to, char *from, int count) ...@@ -529,7 +549,7 @@ __yy_memcpy (char *to, char *from, int count)
#endif #endif
#endif #endif
#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 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
into yyparse. The argument should have type void *. into yyparse. The argument should have type void *.
...@@ -550,6 +570,15 @@ __yy_memcpy (char *to, char *from, int count) ...@@ -550,6 +570,15 @@ __yy_memcpy (char *to, char *from, int count)
#define YYPARSE_PARAM_DECL #define YYPARSE_PARAM_DECL
#endif /* not YYPARSE_PARAM */ #endif /* not YYPARSE_PARAM */
/* Prevent warning if -Wstrict-prototypes. */
#ifdef __GNUC__
#ifdef YYPARSE_PARAM
int yyparse (void *);
#else
int yyparse (void);
#endif
#endif
int int
yyparse(YYPARSE_PARAM_ARG) yyparse(YYPARSE_PARAM_ARG)
YYPARSE_PARAM_DECL YYPARSE_PARAM_DECL
...@@ -578,6 +607,7 @@ yyparse(YYPARSE_PARAM_ARG) ...@@ -578,6 +607,7 @@ yyparse(YYPARSE_PARAM_ARG)
#endif #endif
int yystacksize = YYINITDEPTH; int yystacksize = YYINITDEPTH;
int yyfree_stacks = 0;
#ifdef YYPURE #ifdef YYPURE
int yychar; int yychar;
...@@ -662,18 +692,32 @@ yynewstate: ...@@ -662,18 +692,32 @@ yynewstate:
if (yystacksize >= YYMAXDEPTH) if (yystacksize >= YYMAXDEPTH)
{ {
yyerror("parser stack overflow"); yyerror("parser stack overflow");
if (yyfree_stacks)
{
free (yyss);
free (yyvs);
#ifdef YYLSP_NEEDED
free (yyls);
#endif
}
return 2; return 2;
} }
yystacksize *= 2; yystacksize *= 2;
if (yystacksize > YYMAXDEPTH) if (yystacksize > YYMAXDEPTH)
yystacksize = YYMAXDEPTH; yystacksize = YYMAXDEPTH;
yyss = (short *) alloca (yystacksize * sizeof (*yyssp)); #ifndef YYSTACK_USE_ALLOCA
__yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp)); yyfree_stacks = 1;
yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp)); #endif
__yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp)); 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 #ifdef YYLSP_NEEDED
yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp)); yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
__yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp)); __yy_memcpy ((char *)yyls, (char *)yyls1,
size * (unsigned int) sizeof (*yylsp));
#endif #endif
#endif /* no yyoverflow */ #endif /* no yyoverflow */
...@@ -834,7 +878,7 @@ yyreduce: ...@@ -834,7 +878,7 @@ yyreduce:
switch (yyn) { switch (yyn) {
case 1: case 1:
#line 185 "cexp.y" #line 186 "cexp.y"
{ {
expression_value = yyvsp[0].integer.value; expression_value = yyvsp[0].integer.value;
#ifdef TEST_EXP_READER #ifdef TEST_EXP_READER
...@@ -843,55 +887,55 @@ case 1: ...@@ -843,55 +887,55 @@ case 1:
; ;
break;} break;}
case 3: case 3:
#line 196 "cexp.y" #line 197 "cexp.y"
{ if (pedantic) { if (pedantic)
pedwarn ("comma operator in operand of `#if'"); pedwarn ("comma operator in operand of `#if'");
yyval.integer = yyvsp[0].integer; ; yyval.integer = yyvsp[0].integer; ;
break;} break;}
case 4: case 4:
#line 203 "cexp.y" #line 204 "cexp.y"
{ yyval.integer.value = - yyvsp[0].integer.value; { yyval.integer.value = - yyvsp[0].integer.value;
yyval.integer.signedp = yyvsp[0].integer.signedp; yyval.integer.signedp = yyvsp[0].integer.signedp;
if ((yyval.integer.value & yyvsp[0].integer.value & yyval.integer.signedp) < 0) if ((yyval.integer.value & yyvsp[0].integer.value & yyval.integer.signedp) < 0)
integer_overflow (); ; integer_overflow (); ;
break;} break;}
case 5: case 5:
#line 208 "cexp.y" #line 209 "cexp.y"
{ yyval.integer.value = ! yyvsp[0].integer.value; { yyval.integer.value = ! yyvsp[0].integer.value;
yyval.integer.signedp = SIGNED; ; yyval.integer.signedp = SIGNED; ;
break;} break;}
case 6: case 6:
#line 211 "cexp.y" #line 212 "cexp.y"
{ yyval.integer = yyvsp[0].integer; ; { yyval.integer = yyvsp[0].integer; ;
break;} break;}
case 7: case 7:
#line 213 "cexp.y" #line 214 "cexp.y"
{ yyval.integer.value = ~ yyvsp[0].integer.value; { yyval.integer.value = ~ yyvsp[0].integer.value;
yyval.integer.signedp = yyvsp[0].integer.signedp; ; yyval.integer.signedp = yyvsp[0].integer.signedp; ;
break;} break;}
case 8: case 8:
#line 216 "cexp.y" #line 217 "cexp.y"
{ yyval.integer.value = check_assertion (yyvsp[0].name.address, yyvsp[0].name.length, { yyval.integer.value = check_assertion (yyvsp[0].name.address, yyvsp[0].name.length,
0, NULL_PTR); 0, NULL_PTR);
yyval.integer.signedp = SIGNED; ; yyval.integer.signedp = SIGNED; ;
break;} break;}
case 9: case 9:
#line 220 "cexp.y" #line 221 "cexp.y"
{ keyword_parsing = 1; ; { keyword_parsing = 1; ;
break;} break;}
case 10: case 10:
#line 222 "cexp.y" #line 223 "cexp.y"
{ yyval.integer.value = check_assertion (yyvsp[-4].name.address, yyvsp[-4].name.length, { yyval.integer.value = check_assertion (yyvsp[-4].name.address, yyvsp[-4].name.length,
1, yyvsp[-1].keywords); 1, yyvsp[-1].keywords);
keyword_parsing = 0; keyword_parsing = 0;
yyval.integer.signedp = SIGNED; ; yyval.integer.signedp = SIGNED; ;
break;} break;}
case 11: case 11:
#line 227 "cexp.y" #line 228 "cexp.y"
{ yyval.integer = yyvsp[-1].integer; ; { yyval.integer = yyvsp[-1].integer; ;
break;} break;}
case 12: case 12:
#line 232 "cexp.y" #line 233 "cexp.y"
{ yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp; { yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp;
if (yyval.integer.signedp) if (yyval.integer.signedp)
{ {
...@@ -906,7 +950,7 @@ case 12: ...@@ -906,7 +950,7 @@ case 12:
* yyvsp[0].integer.value); ; * yyvsp[0].integer.value); ;
break;} break;}
case 13: case 13:
#line 245 "cexp.y" #line 246 "cexp.y"
{ if (yyvsp[0].integer.value == 0) { if (yyvsp[0].integer.value == 0)
{ {
if (!skip_evaluation) if (!skip_evaluation)
...@@ -925,7 +969,7 @@ case 13: ...@@ -925,7 +969,7 @@ case 13:
/ yyvsp[0].integer.value); ; / yyvsp[0].integer.value); ;
break;} break;}
case 14: case 14:
#line 262 "cexp.y" #line 263 "cexp.y"
{ if (yyvsp[0].integer.value == 0) { if (yyvsp[0].integer.value == 0)
{ {
if (!skip_evaluation) if (!skip_evaluation)
...@@ -940,7 +984,7 @@ case 14: ...@@ -940,7 +984,7 @@ case 14:
% yyvsp[0].integer.value); ; % yyvsp[0].integer.value); ;
break;} break;}
case 15: case 15:
#line 275 "cexp.y" #line 276 "cexp.y"
{ yyval.integer.value = yyvsp[-2].integer.value + yyvsp[0].integer.value; { yyval.integer.value = yyvsp[-2].integer.value + yyvsp[0].integer.value;
yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp; yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp;
if (overflow_sum_sign (yyvsp[-2].integer.value, yyvsp[0].integer.value, if (overflow_sum_sign (yyvsp[-2].integer.value, yyvsp[0].integer.value,
...@@ -948,7 +992,7 @@ case 15: ...@@ -948,7 +992,7 @@ case 15:
integer_overflow (); ; integer_overflow (); ;
break;} break;}
case 16: case 16:
#line 281 "cexp.y" #line 282 "cexp.y"
{ yyval.integer.value = yyvsp[-2].integer.value - yyvsp[0].integer.value; { yyval.integer.value = yyvsp[-2].integer.value - yyvsp[0].integer.value;
yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp; yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp;
if (overflow_sum_sign (yyval.integer.value, yyvsp[0].integer.value, if (overflow_sum_sign (yyval.integer.value, yyvsp[0].integer.value,
...@@ -956,7 +1000,7 @@ case 16: ...@@ -956,7 +1000,7 @@ case 16:
integer_overflow (); ; integer_overflow (); ;
break;} break;}
case 17: case 17:
#line 287 "cexp.y" #line 288 "cexp.y"
{ yyval.integer.signedp = yyvsp[-2].integer.signedp; { yyval.integer.signedp = yyvsp[-2].integer.signedp;
if ((yyvsp[0].integer.value & yyvsp[0].integer.signedp) < 0) if ((yyvsp[0].integer.value & yyvsp[0].integer.signedp) < 0)
yyval.integer.value = right_shift (&yyvsp[-2].integer, -yyvsp[0].integer.value); yyval.integer.value = right_shift (&yyvsp[-2].integer, -yyvsp[0].integer.value);
...@@ -964,7 +1008,7 @@ case 17: ...@@ -964,7 +1008,7 @@ case 17:
yyval.integer.value = left_shift (&yyvsp[-2].integer, yyvsp[0].integer.value); ; yyval.integer.value = left_shift (&yyvsp[-2].integer, yyvsp[0].integer.value); ;
break;} break;}
case 18: case 18:
#line 293 "cexp.y" #line 294 "cexp.y"
{ yyval.integer.signedp = yyvsp[-2].integer.signedp; { yyval.integer.signedp = yyvsp[-2].integer.signedp;
if ((yyvsp[0].integer.value & yyvsp[0].integer.signedp) < 0) if ((yyvsp[0].integer.value & yyvsp[0].integer.signedp) < 0)
yyval.integer.value = left_shift (&yyvsp[-2].integer, -yyvsp[0].integer.value); yyval.integer.value = left_shift (&yyvsp[-2].integer, -yyvsp[0].integer.value);
...@@ -972,17 +1016,17 @@ case 18: ...@@ -972,17 +1016,17 @@ case 18:
yyval.integer.value = right_shift (&yyvsp[-2].integer, yyvsp[0].integer.value); ; yyval.integer.value = right_shift (&yyvsp[-2].integer, yyvsp[0].integer.value); ;
break;} break;}
case 19: case 19:
#line 299 "cexp.y" #line 300 "cexp.y"
{ yyval.integer.value = (yyvsp[-2].integer.value == yyvsp[0].integer.value); { yyval.integer.value = (yyvsp[-2].integer.value == yyvsp[0].integer.value);
yyval.integer.signedp = SIGNED; ; yyval.integer.signedp = SIGNED; ;
break;} break;}
case 20: case 20:
#line 302 "cexp.y" #line 303 "cexp.y"
{ yyval.integer.value = (yyvsp[-2].integer.value != yyvsp[0].integer.value); { yyval.integer.value = (yyvsp[-2].integer.value != yyvsp[0].integer.value);
yyval.integer.signedp = SIGNED; ; yyval.integer.signedp = SIGNED; ;
break;} break;}
case 21: case 21:
#line 305 "cexp.y" #line 306 "cexp.y"
{ yyval.integer.signedp = SIGNED; { yyval.integer.signedp = SIGNED;
if (yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp) if (yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp)
yyval.integer.value = yyvsp[-2].integer.value <= yyvsp[0].integer.value; yyval.integer.value = yyvsp[-2].integer.value <= yyvsp[0].integer.value;
...@@ -991,7 +1035,7 @@ case 21: ...@@ -991,7 +1035,7 @@ case 21:
<= yyvsp[0].integer.value); ; <= yyvsp[0].integer.value); ;
break;} break;}
case 22: case 22:
#line 312 "cexp.y" #line 313 "cexp.y"
{ yyval.integer.signedp = SIGNED; { yyval.integer.signedp = SIGNED;
if (yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp) if (yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp)
yyval.integer.value = yyvsp[-2].integer.value >= yyvsp[0].integer.value; yyval.integer.value = yyvsp[-2].integer.value >= yyvsp[0].integer.value;
...@@ -1000,7 +1044,7 @@ case 22: ...@@ -1000,7 +1044,7 @@ case 22:
>= yyvsp[0].integer.value); ; >= yyvsp[0].integer.value); ;
break;} break;}
case 23: case 23:
#line 319 "cexp.y" #line 320 "cexp.y"
{ yyval.integer.signedp = SIGNED; { yyval.integer.signedp = SIGNED;
if (yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp) if (yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp)
yyval.integer.value = yyvsp[-2].integer.value < yyvsp[0].integer.value; yyval.integer.value = yyvsp[-2].integer.value < yyvsp[0].integer.value;
...@@ -1009,7 +1053,7 @@ case 23: ...@@ -1009,7 +1053,7 @@ case 23:
< yyvsp[0].integer.value); ; < yyvsp[0].integer.value); ;
break;} break;}
case 24: case 24:
#line 326 "cexp.y" #line 327 "cexp.y"
{ yyval.integer.signedp = SIGNED; { yyval.integer.signedp = SIGNED;
if (yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp) if (yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp)
yyval.integer.value = yyvsp[-2].integer.value > yyvsp[0].integer.value; yyval.integer.value = yyvsp[-2].integer.value > yyvsp[0].integer.value;
...@@ -1018,64 +1062,64 @@ case 24: ...@@ -1018,64 +1062,64 @@ case 24:
> yyvsp[0].integer.value); ; > yyvsp[0].integer.value); ;
break;} break;}
case 25: case 25:
#line 333 "cexp.y" #line 334 "cexp.y"
{ yyval.integer.value = yyvsp[-2].integer.value & yyvsp[0].integer.value; { yyval.integer.value = yyvsp[-2].integer.value & yyvsp[0].integer.value;
yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp; ; yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp; ;
break;} break;}
case 26: case 26:
#line 336 "cexp.y" #line 337 "cexp.y"
{ yyval.integer.value = yyvsp[-2].integer.value ^ yyvsp[0].integer.value; { yyval.integer.value = yyvsp[-2].integer.value ^ yyvsp[0].integer.value;
yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp; ; yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp; ;
break;} break;}
case 27: case 27:
#line 339 "cexp.y" #line 340 "cexp.y"
{ yyval.integer.value = yyvsp[-2].integer.value | yyvsp[0].integer.value; { yyval.integer.value = yyvsp[-2].integer.value | yyvsp[0].integer.value;
yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp; ; yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp; ;
break;} break;}
case 28: case 28:
#line 342 "cexp.y" #line 343 "cexp.y"
{ skip_evaluation += !yyvsp[-1].integer.value; ; { skip_evaluation += !yyvsp[-1].integer.value; ;
break;} break;}
case 29: case 29:
#line 344 "cexp.y" #line 345 "cexp.y"
{ skip_evaluation -= !yyvsp[-3].integer.value; { skip_evaluation -= !yyvsp[-3].integer.value;
yyval.integer.value = (yyvsp[-3].integer.value && yyvsp[0].integer.value); yyval.integer.value = (yyvsp[-3].integer.value && yyvsp[0].integer.value);
yyval.integer.signedp = SIGNED; ; yyval.integer.signedp = SIGNED; ;
break;} break;}
case 30: case 30:
#line 348 "cexp.y" #line 349 "cexp.y"
{ skip_evaluation += !!yyvsp[-1].integer.value; ; { skip_evaluation += !!yyvsp[-1].integer.value; ;
break;} break;}
case 31: case 31:
#line 350 "cexp.y" #line 351 "cexp.y"
{ skip_evaluation -= !!yyvsp[-3].integer.value; { skip_evaluation -= !!yyvsp[-3].integer.value;
yyval.integer.value = (yyvsp[-3].integer.value || yyvsp[0].integer.value); yyval.integer.value = (yyvsp[-3].integer.value || yyvsp[0].integer.value);
yyval.integer.signedp = SIGNED; ; yyval.integer.signedp = SIGNED; ;
break;} break;}
case 32: case 32:
#line 354 "cexp.y" #line 355 "cexp.y"
{ skip_evaluation += !yyvsp[-1].integer.value; ; { skip_evaluation += !yyvsp[-1].integer.value; ;
break;} break;}
case 33: case 33:
#line 356 "cexp.y" #line 357 "cexp.y"
{ skip_evaluation += !!yyvsp[-4].integer.value - !yyvsp[-4].integer.value; ; { skip_evaluation += !!yyvsp[-4].integer.value - !yyvsp[-4].integer.value; ;
break;} break;}
case 34: case 34:
#line 358 "cexp.y" #line 359 "cexp.y"
{ skip_evaluation -= !!yyvsp[-6].integer.value; { skip_evaluation -= !!yyvsp[-6].integer.value;
yyval.integer.value = yyvsp[-6].integer.value ? yyvsp[-3].integer.value : yyvsp[0].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; ; yyval.integer.signedp = yyvsp[-3].integer.signedp & yyvsp[0].integer.signedp; ;
break;} break;}
case 35: case 35:
#line 362 "cexp.y" #line 363 "cexp.y"
{ yyval.integer = yylval.integer; ; { yyval.integer = yylval.integer; ;
break;} break;}
case 36: case 36:
#line 364 "cexp.y" #line 365 "cexp.y"
{ yyval.integer = yylval.integer; ; { yyval.integer = yylval.integer; ;
break;} break;}
case 37: case 37:
#line 366 "cexp.y" #line 367 "cexp.y"
{ if (warn_undef && !skip_evaluation) { if (warn_undef && !skip_evaluation)
warning ("`%.*s' is not defined", warning ("`%.*s' is not defined",
yyvsp[0].name.length, yyvsp[0].name.address); yyvsp[0].name.length, yyvsp[0].name.address);
...@@ -1083,11 +1127,11 @@ case 37: ...@@ -1083,11 +1127,11 @@ case 37:
yyval.integer.signedp = SIGNED; ; yyval.integer.signedp = SIGNED; ;
break;} break;}
case 38: case 38:
#line 374 "cexp.y" #line 375 "cexp.y"
{ yyval.keywords = 0; ; { yyval.keywords = 0; ;
break;} break;}
case 39: case 39:
#line 376 "cexp.y" #line 377 "cexp.y"
{ struct arglist *temp; { struct arglist *temp;
yyval.keywords = (struct arglist *) xmalloc (sizeof (struct arglist)); yyval.keywords = (struct arglist *) xmalloc (sizeof (struct arglist));
yyval.keywords->next = yyvsp[-2].keywords; yyval.keywords->next = yyvsp[-2].keywords;
...@@ -1102,7 +1146,7 @@ case 39: ...@@ -1102,7 +1146,7 @@ case 39:
temp->next->length = 1; ; temp->next->length = 1; ;
break;} break;}
case 40: case 40:
#line 389 "cexp.y" #line 390 "cexp.y"
{ yyval.keywords = (struct arglist *) xmalloc (sizeof (struct arglist)); { yyval.keywords = (struct arglist *) xmalloc (sizeof (struct arglist));
yyval.keywords->name = yyvsp[-1].name.address; yyval.keywords->name = yyvsp[-1].name.address;
yyval.keywords->length = yyvsp[-1].name.length; yyval.keywords->length = yyvsp[-1].name.length;
...@@ -1110,7 +1154,7 @@ case 40: ...@@ -1110,7 +1154,7 @@ case 40:
break;} break;}
} }
/* the action file gets copied in in place of this dollarsign */ /* 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"
yyvsp -= yylen; yyvsp -= yylen;
yyssp -= yylen; yyssp -= yylen;
...@@ -1305,8 +1349,32 @@ yyerrhandle: ...@@ -1305,8 +1349,32 @@ yyerrhandle:
yystate = yyn; yystate = yyn;
goto yynewstate; 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"
/* During parsing of a C expression, the pointer to the next character /* During parsing of a C expression, the pointer to the next character
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
#define ALIAS 316 #define ALIAS 316
#define OBJC_STRING 317 #define OBJC_STRING 317
#line 33 "objc-parse.y" #line 34 "objc-parse.y"
#include "config.h" #include "config.h"
#include "system.h" #include "system.h"
...@@ -96,10 +96,10 @@ const char * const language_string = "GNU Obj-C"; ...@@ -96,10 +96,10 @@ const char * const language_string = "GNU Obj-C";
/* Cause the `yydebug' variable to be defined. */ /* Cause the `yydebug' variable to be defined. */
#define YYDEBUG 1 #define YYDEBUG 1
#line 65 "objc-parse.y" #line 66 "objc-parse.y"
typedef union {long itype; tree ttype; enum tree_code code; typedef union {long itype; tree ttype; enum tree_code code;
char *filename; int lineno; int ends_in_label; } YYSTYPE; 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 /* Number of statements (loosely speaking) and compound statements
seen so far. */ seen so far. */
...@@ -454,63 +454,63 @@ static const short yyrhs[] = { -1, ...@@ -454,63 +454,63 @@ static const short yyrhs[] = { -1,
#if YYDEBUG != 0 #if YYDEBUG != 0
static const short yyrline[] = { 0, static const short yyrline[] = { 0,
257, 262, 276, 278, 278, 279, 281, 283, 284, 285, 258, 263, 277, 279, 279, 280, 282, 284, 285, 286,
293, 297, 307, 311, 315, 317, 319, 320, 321, 326, 294, 298, 308, 312, 316, 318, 320, 321, 322, 327,
333, 335, 339, 343, 349, 351, 355, 359, 365, 367, 334, 336, 340, 344, 350, 352, 356, 360, 366, 368,
371, 377, 379, 380, 381, 384, 386, 388, 390, 392, 372, 378, 380, 381, 382, 385, 387, 389, 391, 393,
394, 396, 400, 404, 407, 410, 413, 417, 419, 422, 395, 397, 401, 405, 408, 411, 414, 418, 420, 423,
425, 429, 457, 463, 466, 469, 472, 474, 476, 480, 426, 430, 458, 464, 467, 470, 473, 475, 477, 481,
484, 488, 490, 493, 497, 524, 526, 528, 530, 532, 485, 489, 491, 494, 498, 525, 527, 529, 531, 533,
534, 536, 538, 540, 542, 544, 546, 548, 550, 554, 535, 537, 539, 541, 543, 545, 547, 549, 551, 555,
556, 560, 562, 565, 569, 571, 578, 581, 589, 600, 557, 561, 563, 566, 570, 572, 579, 582, 590, 601,
760, 761, 763, 769, 771, 794, 803, 805, 807, 819, 761, 762, 764, 770, 772, 795, 804, 806, 808, 820,
833, 835, 837, 839, 841, 843, 845, 850, 852, 859, 834, 836, 838, 840, 842, 844, 846, 851, 853, 860,
861, 865, 867, 868, 878, 883, 885, 886, 887, 894, 862, 866, 868, 869, 879, 884, 886, 887, 888, 895,
899, 903, 906, 914, 919, 921, 922, 923, 930, 940, 900, 904, 907, 915, 920, 922, 923, 924, 931, 941,
944, 949, 953, 957, 961, 963, 965, 974, 977, 981, 945, 950, 954, 958, 962, 964, 966, 975, 978, 982,
983, 985, 990, 994, 997, 1001, 1004, 1006, 1018, 1021, 984, 986, 991, 995, 998, 1002, 1005, 1007, 1019, 1022,
1023, 1025, 1029, 1033, 1035, 1038, 1051, 1054, 1058, 1060, 1024, 1026, 1030, 1034, 1036, 1039, 1052, 1055, 1059, 1061,
1068, 1069, 1070, 1074, 1076, 1081, 1083, 1085, 1091, 1092, 1069, 1070, 1071, 1075, 1077, 1082, 1084, 1086, 1092, 1093,
1093, 1096, 1098, 1101, 1103, 1106, 1109, 1115, 1122, 1124, 1094, 1097, 1099, 1102, 1104, 1107, 1110, 1116, 1123, 1125,
1131, 1138, 1141, 1148, 1151, 1155, 1158, 1162, 1167, 1170, 1132, 1139, 1142, 1149, 1152, 1156, 1159, 1163, 1168, 1171,
1174, 1177, 1179, 1181, 1183, 1190, 1192, 1193, 1194, 1199, 1175, 1178, 1180, 1182, 1184, 1191, 1193, 1194, 1195, 1200,
1201, 1203, 1205, 1210, 1214, 1217, 1219, 1224, 1226, 1227, 1202, 1204, 1206, 1211, 1215, 1218, 1220, 1225, 1227, 1228,
1230, 1230, 1233, 1236, 1238, 1240, 1243, 1245, 1248, 1256, 1231, 1231, 1234, 1237, 1239, 1241, 1244, 1246, 1249, 1257,
1270, 1278, 1282, 1296, 1304, 1311, 1313, 1318, 1321, 1326, 1271, 1279, 1283, 1297, 1305, 1312, 1314, 1319, 1322, 1327,
1328, 1330, 1337, 1339, 1340, 1348, 1354, 1356, 1358, 1365, 1329, 1331, 1338, 1340, 1341, 1349, 1355, 1357, 1359, 1366,
1367, 1373, 1379, 1381, 1383, 1385, 1392, 1394, 1397, 1400, 1368, 1374, 1380, 1382, 1384, 1386, 1393, 1395, 1398, 1401,
1404, 1407, 1411, 1414, 1418, 1423, 1425, 1429, 1431, 1433, 1405, 1408, 1412, 1415, 1419, 1424, 1426, 1430, 1432, 1434,
1435, 1439, 1441, 1443, 1446, 1448, 1451, 1455, 1457, 1460, 1436, 1440, 1442, 1444, 1447, 1449, 1452, 1456, 1458, 1461,
1462, 1467, 1470, 1475, 1477, 1479, 1483, 1507, 1513, 1526, 1463, 1468, 1471, 1476, 1478, 1480, 1484, 1508, 1514, 1527,
1531, 1536, 1538, 1543, 1545, 1549, 1553, 1557, 1567, 1569, 1532, 1537, 1539, 1544, 1546, 1550, 1554, 1558, 1568, 1570,
1574, 1579, 1582, 1586, 1589, 1593, 1596, 1599, 1602, 1606, 1575, 1580, 1583, 1587, 1590, 1594, 1597, 1600, 1603, 1607,
1609, 1613, 1617, 1619, 1621, 1623, 1625, 1627, 1629, 1631, 1610, 1614, 1618, 1620, 1622, 1624, 1626, 1628, 1630, 1632,
1635, 1643, 1651, 1653, 1655, 1659, 1661, 1664, 1667, 1679, 1636, 1644, 1652, 1654, 1656, 1660, 1662, 1665, 1668, 1680,
1681, 1686, 1688, 1691, 1705, 1708, 1711, 1713, 1715, 1719, 1682, 1687, 1689, 1692, 1706, 1709, 1712, 1714, 1716, 1720,
1723, 1729, 1747, 1752, 1757, 1760, 1774, 1783, 1787, 1791, 1724, 1730, 1748, 1753, 1758, 1761, 1775, 1784, 1788, 1792,
1795, 1801, 1805, 1810, 1813, 1818, 1821, 1822, 1838, 1843, 1796, 1802, 1806, 1811, 1814, 1819, 1822, 1823, 1839, 1844,
1846, 1858, 1860, 1870, 1880, 1881, 1888, 1890, 1902, 1906, 1847, 1859, 1861, 1871, 1881, 1882, 1889, 1891, 1903, 1907,
1920, 1926, 1932, 1933, 1938, 1943, 1947, 1951, 1962, 1969, 1921, 1927, 1933, 1934, 1939, 1944, 1948, 1952, 1963, 1970,
1976, 1983, 1994, 2000, 2003, 2008, 2031, 2061, 2092, 2123, 1977, 1984, 1995, 2001, 2004, 2009, 2032, 2062, 2093, 2124,
2138, 2152, 2156, 2160, 2163, 2168, 2170, 2173, 2175, 2179, 2139, 2153, 2157, 2161, 2164, 2169, 2171, 2174, 2176, 2180,
2184, 2187, 2193, 2198, 2203, 2205, 2214, 2215, 2221, 2223, 2185, 2188, 2194, 2199, 2204, 2206, 2215, 2216, 2222, 2224,
2233, 2235, 2239, 2242, 2248, 2257, 2265, 2273, 2282, 2295, 2234, 2236, 2240, 2243, 2249, 2258, 2266, 2274, 2283, 2296,
2300, 2305, 2307, 2316, 2319, 2324, 2327, 2331, 2340, 2342, 2301, 2306, 2308, 2317, 2320, 2325, 2328, 2332, 2341, 2343,
2343, 2344, 2345, 2346, 2360, 2363, 2367, 2373, 2379, 2386, 2344, 2345, 2346, 2347, 2361, 2364, 2368, 2374, 2380, 2387,
2391, 2397, 2404, 2410, 2416, 2421, 2427, 2434, 2440, 2446, 2392, 2398, 2405, 2411, 2417, 2422, 2428, 2435, 2441, 2447,
2452, 2460, 2466, 2472, 2480, 2487, 2493, 2502, 2509, 2517, 2453, 2461, 2467, 2473, 2481, 2488, 2494, 2503, 2510, 2518,
2522, 2525, 2535, 2537, 2540, 2542, 2543, 2546, 2551, 2552, 2523, 2526, 2536, 2538, 2541, 2543, 2544, 2547, 2552, 2553,
2569, 2575, 2580, 2584, 2587, 2588, 2591, 2599, 2605, 2614, 2570, 2576, 2581, 2585, 2588, 2589, 2592, 2600, 2606, 2615,
2624, 2631, 2635, 2640, 2649, 2656, 2660, 2670, 2672, 2673, 2625, 2632, 2636, 2641, 2650, 2657, 2661, 2671, 2673, 2674,
2675, 2677, 2678, 2679, 2680, 2682, 2684, 2687, 2695, 2702, 2676, 2678, 2679, 2680, 2681, 2683, 2685, 2688, 2696, 2703,
2702, 2709, 2715, 2717, 2723, 2728, 2733, 2742, 2744, 2750, 2703, 2710, 2716, 2718, 2724, 2729, 2734, 2743, 2745, 2751,
2752, 2755, 2757, 2758, 2759, 2762, 2767, 2769, 2773, 2776, 2753, 2756, 2758, 2759, 2760, 2763, 2768, 2770, 2774, 2777,
2783, 2789, 2794, 2801, 2806, 2811, 2816, 2823, 2827, 2830, 2784, 2790, 2795, 2802, 2807, 2812, 2817, 2824, 2828, 2831,
2836, 2838, 2839, 2840, 2843, 2845, 2846, 2847, 2848, 2849, 2837, 2839, 2840, 2841, 2844, 2846, 2847, 2848, 2849, 2850,
2850, 2851, 2852, 2853, 2854, 2855, 2856, 2857, 2858, 2859, 2851, 2852, 2853, 2854, 2855, 2856, 2857, 2858, 2859, 2860,
2860, 2861, 2862, 2863, 2863, 2866, 2872, 2877, 2882, 2888, 2861, 2862, 2863, 2864, 2864, 2867, 2873, 2878, 2883, 2889,
2890, 2893, 2895, 2902, 2914, 2919, 2925, 2927, 2933, 2937, 2891, 2894, 2896, 2903, 2915, 2920, 2926, 2928, 2934, 2938,
2938, 2944, 2946, 2949, 2951, 2957, 2962, 2968, 2975, 2984 2939, 2945, 2947, 2950, 2952, 2958, 2963, 2969, 2976, 2985
}; };
#endif #endif
...@@ -1748,7 +1748,7 @@ static const short yycheck[] = { 56, ...@@ -1748,7 +1748,7 @@ static const short yycheck[] = { 56,
46, 47, 48, 49, 50, 51, 52, 53, 54 46, 47, 48, 49, 50, 51, 52, 53, 54
}; };
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ /* -*-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. */ /* This file comes from bison-1.28. */
/* Skeleton output parser for bison, /* Skeleton output parser for bison,
...@@ -1962,7 +1962,7 @@ __yy_memcpy (char *to, char *from, unsigned int count) ...@@ -1962,7 +1962,7 @@ __yy_memcpy (char *to, char *from, unsigned int count)
#endif #endif
#endif #endif
#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 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
into yyparse. The argument should have type void *. into yyparse. The argument should have type void *.
...@@ -2291,14 +2291,14 @@ yyreduce: ...@@ -2291,14 +2291,14 @@ yyreduce:
switch (yyn) { switch (yyn) {
case 1: case 1:
#line 258 "objc-parse.y" #line 259 "objc-parse.y"
{ if (pedantic) { if (pedantic)
pedwarn ("ANSI C forbids an empty source file"); pedwarn ("ANSI C forbids an empty source file");
finish_file (); finish_file ();
; ;
break;} break;}
case 2: case 2:
#line 263 "objc-parse.y" #line 264 "objc-parse.y"
{ {
/* In case there were missing closebraces, /* In case there were missing closebraces,
get us back to the global binding level. */ get us back to the global binding level. */
...@@ -2308,15 +2308,15 @@ case 2: ...@@ -2308,15 +2308,15 @@ case 2:
; ;
break;} break;}
case 3: case 3:
#line 277 "objc-parse.y" #line 278 "objc-parse.y"
{yyval.ttype = NULL_TREE; ; {yyval.ttype = NULL_TREE; ;
break;} break;}
case 5: case 5:
#line 278 "objc-parse.y" #line 279 "objc-parse.y"
{yyval.ttype = NULL_TREE; ; {yyval.ttype = NULL_TREE; ;
break;} break;}
case 10: case 10:
#line 286 "objc-parse.y" #line 287 "objc-parse.y"
{ STRIP_NOPS (yyvsp[-2].ttype); { STRIP_NOPS (yyvsp[-2].ttype);
if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR
&& TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST) && TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST)
...@@ -2326,11 +2326,11 @@ case 10: ...@@ -2326,11 +2326,11 @@ case 10:
error ("argument of `asm' is not a constant string"); ; error ("argument of `asm' is not a constant string"); ;
break;} break;}
case 11: case 11:
#line 294 "objc-parse.y" #line 295 "objc-parse.y"
{ RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ; { RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
break;} break;}
case 12: case 12:
#line 299 "objc-parse.y" #line 300 "objc-parse.y"
{ if (pedantic) { if (pedantic)
error ("ANSI C forbids data definition with no type or storage class"); error ("ANSI C forbids data definition with no type or storage class");
else if (!flag_traditional) else if (!flag_traditional)
...@@ -2341,162 +2341,162 @@ case 12: ...@@ -2341,162 +2341,162 @@ case 12:
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 13: case 13:
#line 308 "objc-parse.y" #line 309 "objc-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack); { current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 14: case 14:
#line 312 "objc-parse.y" #line 313 "objc-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack); { current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 15: case 15:
#line 316 "objc-parse.y" #line 317 "objc-parse.y"
{ pedwarn ("empty declaration"); ; { pedwarn ("empty declaration"); ;
break;} break;}
case 16: case 16:
#line 318 "objc-parse.y" #line 319 "objc-parse.y"
{ shadow_tag (yyvsp[-1].ttype); ; { shadow_tag (yyvsp[-1].ttype); ;
break;} break;}
case 19: case 19:
#line 322 "objc-parse.y" #line 323 "objc-parse.y"
{ if (pedantic) { if (pedantic)
pedwarn ("ANSI C does not allow extra `;' outside of a function"); ; pedwarn ("ANSI C does not allow extra `;' outside of a function"); ;
break;} break;}
case 20: case 20:
#line 328 "objc-parse.y" #line 329 "objc-parse.y"
{ if (! start_function (current_declspecs, yyvsp[0].ttype, { if (! start_function (current_declspecs, yyvsp[0].ttype,
prefix_attributes, NULL_TREE)) prefix_attributes, NULL_TREE))
YYERROR1; YYERROR1;
reinit_parse_for_function (); ; reinit_parse_for_function (); ;
break;} break;}
case 21: case 21:
#line 333 "objc-parse.y" #line 334 "objc-parse.y"
{ store_parm_decls (); ; { store_parm_decls (); ;
break;} break;}
case 22: case 22:
#line 335 "objc-parse.y" #line 336 "objc-parse.y"
{ finish_function (0); { finish_function (0);
current_declspecs = TREE_VALUE (declspec_stack); current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 23: case 23:
#line 340 "objc-parse.y" #line 341 "objc-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack); { current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 24: case 24:
#line 344 "objc-parse.y" #line 345 "objc-parse.y"
{ if (! start_function (current_declspecs, yyvsp[0].ttype, { if (! start_function (current_declspecs, yyvsp[0].ttype,
prefix_attributes, NULL_TREE)) prefix_attributes, NULL_TREE))
YYERROR1; YYERROR1;
reinit_parse_for_function (); ; reinit_parse_for_function (); ;
break;} break;}
case 25: case 25:
#line 349 "objc-parse.y" #line 350 "objc-parse.y"
{ store_parm_decls (); ; { store_parm_decls (); ;
break;} break;}
case 26: case 26:
#line 351 "objc-parse.y" #line 352 "objc-parse.y"
{ finish_function (0); { finish_function (0);
current_declspecs = TREE_VALUE (declspec_stack); current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 27: case 27:
#line 356 "objc-parse.y" #line 357 "objc-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack); { current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 28: case 28:
#line 360 "objc-parse.y" #line 361 "objc-parse.y"
{ if (! start_function (NULL_TREE, yyvsp[0].ttype, { if (! start_function (NULL_TREE, yyvsp[0].ttype,
prefix_attributes, NULL_TREE)) prefix_attributes, NULL_TREE))
YYERROR1; YYERROR1;
reinit_parse_for_function (); ; reinit_parse_for_function (); ;
break;} break;}
case 29: case 29:
#line 365 "objc-parse.y" #line 366 "objc-parse.y"
{ store_parm_decls (); ; { store_parm_decls (); ;
break;} break;}
case 30: case 30:
#line 367 "objc-parse.y" #line 368 "objc-parse.y"
{ finish_function (0); { finish_function (0);
current_declspecs = TREE_VALUE (declspec_stack); current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 31: case 31:
#line 372 "objc-parse.y" #line 373 "objc-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack); { current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 36: case 36:
#line 385 "objc-parse.y" #line 386 "objc-parse.y"
{ yyval.code = ADDR_EXPR; ; { yyval.code = ADDR_EXPR; ;
break;} break;}
case 37: case 37:
#line 387 "objc-parse.y" #line 388 "objc-parse.y"
{ yyval.code = NEGATE_EXPR; ; { yyval.code = NEGATE_EXPR; ;
break;} break;}
case 38: case 38:
#line 389 "objc-parse.y" #line 390 "objc-parse.y"
{ yyval.code = CONVERT_EXPR; ; { yyval.code = CONVERT_EXPR; ;
break;} break;}
case 39: case 39:
#line 391 "objc-parse.y" #line 392 "objc-parse.y"
{ yyval.code = PREINCREMENT_EXPR; ; { yyval.code = PREINCREMENT_EXPR; ;
break;} break;}
case 40: case 40:
#line 393 "objc-parse.y" #line 394 "objc-parse.y"
{ yyval.code = PREDECREMENT_EXPR; ; { yyval.code = PREDECREMENT_EXPR; ;
break;} break;}
case 41: case 41:
#line 395 "objc-parse.y" #line 396 "objc-parse.y"
{ yyval.code = BIT_NOT_EXPR; ; { yyval.code = BIT_NOT_EXPR; ;
break;} break;}
case 42: case 42:
#line 397 "objc-parse.y" #line 398 "objc-parse.y"
{ yyval.code = TRUTH_NOT_EXPR; ; { yyval.code = TRUTH_NOT_EXPR; ;
break;} break;}
case 43: case 43:
#line 401 "objc-parse.y" #line 402 "objc-parse.y"
{ yyval.ttype = build_compound_expr (yyvsp[0].ttype); ; { yyval.ttype = build_compound_expr (yyvsp[0].ttype); ;
break;} break;}
case 44: case 44:
#line 406 "objc-parse.y" #line 407 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 46: case 46:
#line 412 "objc-parse.y" #line 413 "objc-parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
break;} break;}
case 47: case 47:
#line 414 "objc-parse.y" #line 415 "objc-parse.y"
{ chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; { chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;} break;}
case 49: case 49:
#line 420 "objc-parse.y" #line 421 "objc-parse.y"
{ yyval.ttype = build_indirect_ref (yyvsp[0].ttype, "unary *"); ; { yyval.ttype = build_indirect_ref (yyvsp[0].ttype, "unary *"); ;
break;} break;}
case 50: case 50:
#line 423 "objc-parse.y" #line 424 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; { yyval.ttype = yyvsp[0].ttype;
RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ; RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
break;} break;}
case 51: case 51:
#line 426 "objc-parse.y" #line 427 "objc-parse.y"
{ yyval.ttype = build_unary_op (yyvsp[-1].code, yyvsp[0].ttype, 0); { yyval.ttype = build_unary_op (yyvsp[-1].code, yyvsp[0].ttype, 0);
overflow_warning (yyval.ttype); ; overflow_warning (yyval.ttype); ;
break;} break;}
case 52: case 52:
#line 430 "objc-parse.y" #line 431 "objc-parse.y"
{ tree label = lookup_label (yyvsp[0].ttype); { tree label = lookup_label (yyvsp[0].ttype);
if (pedantic) if (pedantic)
pedwarn ("ANSI C forbids `&&'"); pedwarn ("ANSI C forbids `&&'");
...@@ -2511,7 +2511,7 @@ case 52: ...@@ -2511,7 +2511,7 @@ case 52:
; ;
break;} break;}
case 53: case 53:
#line 458 "objc-parse.y" #line 459 "objc-parse.y"
{ skip_evaluation--; { skip_evaluation--;
if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
&& DECL_C_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1))) && DECL_C_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
...@@ -2519,53 +2519,53 @@ case 53: ...@@ -2519,53 +2519,53 @@ case 53:
yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ; yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
break;} break;}
case 54: case 54:
#line 464 "objc-parse.y" #line 465 "objc-parse.y"
{ skip_evaluation--; { skip_evaluation--;
yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ; yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
break;} break;}
case 55: case 55:
#line 467 "objc-parse.y" #line 468 "objc-parse.y"
{ skip_evaluation--; { skip_evaluation--;
yyval.ttype = c_alignof_expr (yyvsp[0].ttype); ; yyval.ttype = c_alignof_expr (yyvsp[0].ttype); ;
break;} break;}
case 56: case 56:
#line 470 "objc-parse.y" #line 471 "objc-parse.y"
{ skip_evaluation--; { skip_evaluation--;
yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ; yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
break;} break;}
case 57: case 57:
#line 473 "objc-parse.y" #line 474 "objc-parse.y"
{ yyval.ttype = build_unary_op (REALPART_EXPR, yyvsp[0].ttype, 0); ; { yyval.ttype = build_unary_op (REALPART_EXPR, yyvsp[0].ttype, 0); ;
break;} break;}
case 58: case 58:
#line 475 "objc-parse.y" #line 476 "objc-parse.y"
{ yyval.ttype = build_unary_op (IMAGPART_EXPR, yyvsp[0].ttype, 0); ; { yyval.ttype = build_unary_op (IMAGPART_EXPR, yyvsp[0].ttype, 0); ;
break;} break;}
case 59: case 59:
#line 477 "objc-parse.y" #line 478 "objc-parse.y"
{ yyval.ttype = build_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ttype)); ; { yyval.ttype = build_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ttype)); ;
break;} break;}
case 60: case 60:
#line 481 "objc-parse.y" #line 482 "objc-parse.y"
{ skip_evaluation++; ; { skip_evaluation++; ;
break;} break;}
case 61: case 61:
#line 485 "objc-parse.y" #line 486 "objc-parse.y"
{ skip_evaluation++; ; { skip_evaluation++; ;
break;} break;}
case 63: case 63:
#line 491 "objc-parse.y" #line 492 "objc-parse.y"
{ tree type = groktypename (yyvsp[-2].ttype); { tree type = groktypename (yyvsp[-2].ttype);
yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ; yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
break;} break;}
case 64: case 64:
#line 494 "objc-parse.y" #line 495 "objc-parse.y"
{ start_init (NULL_TREE, NULL, 0); { start_init (NULL_TREE, NULL, 0);
yyvsp[-2].ttype = groktypename (yyvsp[-2].ttype); yyvsp[-2].ttype = groktypename (yyvsp[-2].ttype);
really_start_incremental_init (yyvsp[-2].ttype); ; really_start_incremental_init (yyvsp[-2].ttype); ;
break;} break;}
case 65: case 65:
#line 498 "objc-parse.y" #line 499 "objc-parse.y"
{ const char *name; { const char *name;
tree result = pop_init_level (0); tree result = pop_init_level (0);
tree type = yyvsp[-5].ttype; tree type = yyvsp[-5].ttype;
...@@ -2592,90 +2592,90 @@ case 65: ...@@ -2592,90 +2592,90 @@ case 65:
; ;
break;} break;}
case 67: 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); ; { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 68: 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); ; { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 69: 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); ; { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 70: 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); ; { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 71: 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); ; { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 72: 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); ; { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 73: 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); ; { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 74: 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); ; { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 75: 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); ; { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 76: 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); ; { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 77: 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); ; { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 78: 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); ; { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 79: case 79:
#line 551 "objc-parse.y" #line 552 "objc-parse.y"
{ yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype)); { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ; skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
break;} break;}
case 80: case 80:
#line 554 "objc-parse.y" #line 555 "objc-parse.y"
{ skip_evaluation -= yyvsp[-3].ttype == boolean_false_node; { skip_evaluation -= yyvsp[-3].ttype == boolean_false_node;
yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ; yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
break;} break;}
case 81: case 81:
#line 557 "objc-parse.y" #line 558 "objc-parse.y"
{ yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype)); { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ; skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
break;} break;}
case 82: case 82:
#line 560 "objc-parse.y" #line 561 "objc-parse.y"
{ skip_evaluation -= yyvsp[-3].ttype == boolean_true_node; { skip_evaluation -= yyvsp[-3].ttype == boolean_true_node;
yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ; yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
break;} break;}
case 83: case 83:
#line 563 "objc-parse.y" #line 564 "objc-parse.y"
{ yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype)); { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ; skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
break;} break;}
case 84: case 84:
#line 566 "objc-parse.y" #line 567 "objc-parse.y"
{ skip_evaluation += ((yyvsp[-4].ttype == boolean_true_node) { skip_evaluation += ((yyvsp[-4].ttype == boolean_true_node)
- (yyvsp[-4].ttype == boolean_false_node)); ; - (yyvsp[-4].ttype == boolean_false_node)); ;
break;} break;}
case 85: case 85:
#line 569 "objc-parse.y" #line 570 "objc-parse.y"
{ skip_evaluation -= yyvsp[-6].ttype == boolean_true_node; { skip_evaluation -= yyvsp[-6].ttype == boolean_true_node;
yyval.ttype = build_conditional_expr (yyvsp[-6].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ; yyval.ttype = build_conditional_expr (yyvsp[-6].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
break;} break;}
case 86: case 86:
#line 572 "objc-parse.y" #line 573 "objc-parse.y"
{ if (pedantic) { if (pedantic)
pedwarn ("ANSI C forbids omitting the middle term of a ?: expression"); pedwarn ("ANSI C forbids omitting the middle term of a ?: expression");
/* Make sure first operand is calculated only once. */ /* Make sure first operand is calculated only once. */
...@@ -2684,12 +2684,12 @@ case 86: ...@@ -2684,12 +2684,12 @@ case 86:
skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ; skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
break;} break;}
case 87: case 87:
#line 579 "objc-parse.y" #line 580 "objc-parse.y"
{ skip_evaluation -= yyvsp[-4].ttype == boolean_true_node; { skip_evaluation -= yyvsp[-4].ttype == boolean_true_node;
yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ; yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
break;} break;}
case 88: case 88:
#line 582 "objc-parse.y" #line 583 "objc-parse.y"
{ char class; { char class;
yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype); yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype);
class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype)); class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
...@@ -2699,7 +2699,7 @@ case 88: ...@@ -2699,7 +2699,7 @@ case 88:
; ;
break;} break;}
case 89: case 89:
#line 590 "objc-parse.y" #line 591 "objc-parse.y"
{ char class; { char class;
yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype); yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype);
/* This inhibits warnings in truthvalue_conversion. */ /* This inhibits warnings in truthvalue_conversion. */
...@@ -2710,7 +2710,7 @@ case 89: ...@@ -2710,7 +2710,7 @@ case 89:
; ;
break;} break;}
case 90: case 90:
#line 602 "objc-parse.y" #line 603 "objc-parse.y"
{ {
yyval.ttype = lastiddecl; yyval.ttype = lastiddecl;
if (!yyval.ttype || yyval.ttype == error_mark_node) if (!yyval.ttype || yyval.ttype == error_mark_node)
...@@ -2871,11 +2871,11 @@ case 90: ...@@ -2871,11 +2871,11 @@ case 90:
; ;
break;} break;}
case 92: case 92:
#line 762 "objc-parse.y" #line 763 "objc-parse.y"
{ yyval.ttype = combine_strings (yyvsp[0].ttype); ; { yyval.ttype = combine_strings (yyvsp[0].ttype); ;
break;} break;}
case 93: case 93:
#line 764 "objc-parse.y" #line 765 "objc-parse.y"
{ char class = TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)); { char class = TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype));
if (class == 'e' || class == '1' if (class == 'e' || class == '1'
|| class == '2' || class == '<') || class == '2' || class == '<')
...@@ -2883,11 +2883,11 @@ case 93: ...@@ -2883,11 +2883,11 @@ case 93:
yyval.ttype = yyvsp[-1].ttype; ; yyval.ttype = yyvsp[-1].ttype; ;
break;} break;}
case 94: case 94:
#line 770 "objc-parse.y" #line 771 "objc-parse.y"
{ yyval.ttype = error_mark_node; ; { yyval.ttype = error_mark_node; ;
break;} break;}
case 95: case 95:
#line 772 "objc-parse.y" #line 773 "objc-parse.y"
{ tree rtl_exp; { tree rtl_exp;
if (pedantic) if (pedantic)
pedwarn ("ANSI C forbids braced-groups within expressions"); pedwarn ("ANSI C forbids braced-groups within expressions");
...@@ -2912,7 +2912,7 @@ case 95: ...@@ -2912,7 +2912,7 @@ case 95:
; ;
break;} break;}
case 96: case 96:
#line 795 "objc-parse.y" #line 796 "objc-parse.y"
{ {
/* Make sure we call expand_end_stmt_expr. Otherwise /* Make sure we call expand_end_stmt_expr. Otherwise
we are likely to lose sequences and crash later. */ we are likely to lose sequences and crash later. */
...@@ -2923,15 +2923,15 @@ case 96: ...@@ -2923,15 +2923,15 @@ case 96:
; ;
break;} break;}
case 97: case 97:
#line 804 "objc-parse.y" #line 805 "objc-parse.y"
{ yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ; { yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 98: case 98:
#line 806 "objc-parse.y" #line 807 "objc-parse.y"
{ yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ; { yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 99: case 99:
#line 808 "objc-parse.y" #line 809 "objc-parse.y"
{ {
if (doing_objc_thang) if (doing_objc_thang)
{ {
...@@ -2945,7 +2945,7 @@ case 99: ...@@ -2945,7 +2945,7 @@ case 99:
; ;
break;} break;}
case 100: case 100:
#line 820 "objc-parse.y" #line 821 "objc-parse.y"
{ {
tree expr = build_indirect_ref (yyvsp[-2].ttype, "->"); tree expr = build_indirect_ref (yyvsp[-2].ttype, "->");
...@@ -2961,79 +2961,79 @@ case 100: ...@@ -2961,79 +2961,79 @@ case 100:
; ;
break;} break;}
case 101: case 101:
#line 834 "objc-parse.y" #line 835 "objc-parse.y"
{ yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ; { yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ;
break;} break;}
case 102: case 102:
#line 836 "objc-parse.y" #line 837 "objc-parse.y"
{ yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ; { yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ;
break;} break;}
case 103: case 103:
#line 838 "objc-parse.y" #line 839 "objc-parse.y"
{ yyval.ttype = build_message_expr (yyvsp[0].ttype); ; { yyval.ttype = build_message_expr (yyvsp[0].ttype); ;
break;} break;}
case 104: case 104:
#line 840 "objc-parse.y" #line 841 "objc-parse.y"
{ yyval.ttype = build_selector_expr (yyvsp[0].ttype); ; { yyval.ttype = build_selector_expr (yyvsp[0].ttype); ;
break;} break;}
case 105: case 105:
#line 842 "objc-parse.y" #line 843 "objc-parse.y"
{ yyval.ttype = build_protocol_expr (yyvsp[0].ttype); ; { yyval.ttype = build_protocol_expr (yyvsp[0].ttype); ;
break;} break;}
case 106: case 106:
#line 844 "objc-parse.y" #line 845 "objc-parse.y"
{ yyval.ttype = build_encode_expr (yyvsp[0].ttype); ; { yyval.ttype = build_encode_expr (yyvsp[0].ttype); ;
break;} break;}
case 107: case 107:
#line 846 "objc-parse.y" #line 847 "objc-parse.y"
{ yyval.ttype = build_objc_string_object (yyvsp[0].ttype); ; { yyval.ttype = build_objc_string_object (yyvsp[0].ttype); ;
break;} break;}
case 109: case 109:
#line 853 "objc-parse.y" #line 854 "objc-parse.y"
{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
; ;
break;} break;}
case 111: case 111:
#line 862 "objc-parse.y" #line 863 "objc-parse.y"
{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;} break;}
case 114: case 114:
#line 870 "objc-parse.y" #line 871 "objc-parse.y"
{ c_mark_varargs (); { c_mark_varargs ();
if (pedantic) if (pedantic)
pedwarn ("ANSI C does not permit use of `varargs.h'"); ; pedwarn ("ANSI C does not permit use of `varargs.h'"); ;
break;} break;}
case 115: case 115:
#line 880 "objc-parse.y" #line 881 "objc-parse.y"
{ ; { ;
break;} break;}
case 120: case 120:
#line 896 "objc-parse.y" #line 897 "objc-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack); { current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 121: case 121:
#line 900 "objc-parse.y" #line 901 "objc-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack); { current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 122: case 122:
#line 904 "objc-parse.y" #line 905 "objc-parse.y"
{ shadow_tag_warned (yyvsp[-1].ttype, 1); { shadow_tag_warned (yyvsp[-1].ttype, 1);
pedwarn ("empty declaration"); ; pedwarn ("empty declaration"); ;
break;} break;}
case 123: case 123:
#line 907 "objc-parse.y" #line 908 "objc-parse.y"
{ pedwarn ("empty declaration"); ; { pedwarn ("empty declaration"); ;
break;} break;}
case 124: case 124:
#line 916 "objc-parse.y" #line 917 "objc-parse.y"
{ ; { ;
break;} break;}
case 129: case 129:
#line 931 "objc-parse.y" #line 932 "objc-parse.y"
{ pending_xref_error (); { pending_xref_error ();
declspec_stack = tree_cons (prefix_attributes, declspec_stack = tree_cons (prefix_attributes,
current_declspecs, current_declspecs,
...@@ -3042,127 +3042,127 @@ case 129: ...@@ -3042,127 +3042,127 @@ case 129:
&current_declspecs, &prefix_attributes); ; &current_declspecs, &prefix_attributes); ;
break;} break;}
case 130: case 130:
#line 941 "objc-parse.y" #line 942 "objc-parse.y"
{ prefix_attributes = chainon (prefix_attributes, yyvsp[0].ttype); ; { prefix_attributes = chainon (prefix_attributes, yyvsp[0].ttype); ;
break;} break;}
case 131: case 131:
#line 946 "objc-parse.y" #line 947 "objc-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack); { current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 132: case 132:
#line 950 "objc-parse.y" #line 951 "objc-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack); { current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 133: case 133:
#line 954 "objc-parse.y" #line 955 "objc-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack); { current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 134: case 134:
#line 958 "objc-parse.y" #line 959 "objc-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack); { current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 135: case 135:
#line 962 "objc-parse.y" #line 963 "objc-parse.y"
{ shadow_tag (yyvsp[-1].ttype); ; { shadow_tag (yyvsp[-1].ttype); ;
break;} break;}
case 136: case 136:
#line 964 "objc-parse.y" #line 965 "objc-parse.y"
{ pedwarn ("empty declaration"); ; { pedwarn ("empty declaration"); ;
break;} break;}
case 137: case 137:
#line 966 "objc-parse.y" #line 967 "objc-parse.y"
{ RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ; { RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
break;} break;}
case 138: case 138:
#line 976 "objc-parse.y" #line 977 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ; { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;} break;}
case 139: 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)); ; { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
break;} break;}
case 140: case 140:
#line 982 "objc-parse.y" #line 983 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 141: case 141:
#line 984 "objc-parse.y" #line 985 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 142: case 142:
#line 986 "objc-parse.y" #line 987 "objc-parse.y"
{ if (extra_warnings) { if (extra_warnings)
warning ("`%s' is not at beginning of declaration", warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype)); IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 143: case 143:
#line 991 "objc-parse.y" #line 992 "objc-parse.y"
{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ; { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
break;} break;}
case 144: case 144:
#line 996 "objc-parse.y" #line 997 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ; { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;} break;}
case 145: 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)); ; { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
break;} break;}
case 146: case 146:
#line 1003 "objc-parse.y" #line 1004 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 147: case 147:
#line 1005 "objc-parse.y" #line 1006 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 148: case 148:
#line 1007 "objc-parse.y" #line 1008 "objc-parse.y"
{ if (extra_warnings) { if (extra_warnings)
warning ("`%s' is not at beginning of declaration", warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype)); IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 149: case 149:
#line 1020 "objc-parse.y" #line 1021 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 150: case 150:
#line 1022 "objc-parse.y" #line 1023 "objc-parse.y"
{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ; { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
break;} break;}
case 151: case 151:
#line 1024 "objc-parse.y" #line 1025 "objc-parse.y"
{ yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-1].ttype); ; { yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 152: case 152:
#line 1026 "objc-parse.y" #line 1027 "objc-parse.y"
{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ; { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
break;} break;}
case 153: case 153:
#line 1031 "objc-parse.y" #line 1032 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
TREE_STATIC (yyval.ttype) = 1; ; TREE_STATIC (yyval.ttype) = 1; ;
break;} break;}
case 154: case 154:
#line 1034 "objc-parse.y" #line 1035 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
break;} break;}
case 155: case 155:
#line 1036 "objc-parse.y" #line 1037 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ; TREE_STATIC (yyval.ttype) = 1; ;
break;} break;}
case 156: case 156:
#line 1039 "objc-parse.y" #line 1040 "objc-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration", warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype)); IDENTIFIER_POINTER (yyvsp[0].ttype));
...@@ -3170,180 +3170,180 @@ case 156: ...@@ -3170,180 +3170,180 @@ case 156:
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;} break;}
case 157: case 157:
#line 1053 "objc-parse.y" #line 1054 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ; { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;} break;}
case 158: 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)); ; { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
break;} break;}
case 159: case 159:
#line 1059 "objc-parse.y" #line 1060 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 160: case 160:
#line 1061 "objc-parse.y" #line 1062 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 163: case 163:
#line 1071 "objc-parse.y" #line 1072 "objc-parse.y"
{ /* For a typedef name, record the meaning, not the name. { /* For a typedef name, record the meaning, not the name.
In case of `foo foo, bar;'. */ In case of `foo foo, bar;'. */
yyval.ttype = lookup_name (yyvsp[0].ttype); ; yyval.ttype = lookup_name (yyvsp[0].ttype); ;
break;} break;}
case 164: case 164:
#line 1075 "objc-parse.y" #line 1076 "objc-parse.y"
{ yyval.ttype = get_static_reference (yyvsp[-1].ttype, yyvsp[0].ttype); ; { yyval.ttype = get_static_reference (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;} break;}
case 165: case 165:
#line 1077 "objc-parse.y" #line 1078 "objc-parse.y"
{ yyval.ttype = get_object_reference (yyvsp[0].ttype); ; { yyval.ttype = get_object_reference (yyvsp[0].ttype); ;
break;} break;}
case 166: case 166:
#line 1082 "objc-parse.y" #line 1083 "objc-parse.y"
{ yyval.ttype = get_object_reference (yyvsp[0].ttype); ; { yyval.ttype = get_object_reference (yyvsp[0].ttype); ;
break;} break;}
case 167: case 167:
#line 1084 "objc-parse.y" #line 1085 "objc-parse.y"
{ yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); ; { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); ;
break;} break;}
case 168: case 168:
#line 1086 "objc-parse.y" #line 1087 "objc-parse.y"
{ yyval.ttype = groktypename (yyvsp[-1].ttype); ; { yyval.ttype = groktypename (yyvsp[-1].ttype); ;
break;} break;}
case 176: case 176:
#line 1108 "objc-parse.y" #line 1109 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 177: 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); { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype);
yyval.ttype = yyvsp[-1].ttype; yyval.ttype = yyvsp[-1].ttype;
; ;
break;} break;}
case 178: case 178:
#line 1117 "objc-parse.y" #line 1118 "objc-parse.y"
{ yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1, { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
yyvsp[-1].ttype, prefix_attributes); yyvsp[-1].ttype, prefix_attributes);
start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ; start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
break;} break;}
case 179: case 179:
#line 1122 "objc-parse.y" #line 1123 "objc-parse.y"
{ finish_init (); { finish_init ();
finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ; finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
break;} break;}
case 180: case 180:
#line 1125 "objc-parse.y" #line 1126 "objc-parse.y"
{ tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0, { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
yyvsp[0].ttype, prefix_attributes); yyvsp[0].ttype, prefix_attributes);
finish_decl (d, NULL_TREE, yyvsp[-1].ttype); finish_decl (d, NULL_TREE, yyvsp[-1].ttype);
; ;
break;} break;}
case 181: case 181:
#line 1133 "objc-parse.y" #line 1134 "objc-parse.y"
{ yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1, { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
yyvsp[-1].ttype, prefix_attributes); yyvsp[-1].ttype, prefix_attributes);
start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ; start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
break;} break;}
case 182: case 182:
#line 1138 "objc-parse.y" #line 1139 "objc-parse.y"
{ finish_init (); { finish_init ();
decl_attributes (yyvsp[-1].ttype, yyvsp[-3].ttype, prefix_attributes); decl_attributes (yyvsp[-1].ttype, yyvsp[-3].ttype, prefix_attributes);
finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ; finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
break;} break;}
case 183: case 183:
#line 1142 "objc-parse.y" #line 1143 "objc-parse.y"
{ tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0, { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
yyvsp[0].ttype, prefix_attributes); yyvsp[0].ttype, prefix_attributes);
finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ; finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
break;} break;}
case 184: case 184:
#line 1150 "objc-parse.y" #line 1151 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 185: case 185:
#line 1152 "objc-parse.y" #line 1153 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 186: case 186:
#line 1157 "objc-parse.y" #line 1158 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 187: case 187:
#line 1159 "objc-parse.y" #line 1160 "objc-parse.y"
{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;} break;}
case 188: case 188:
#line 1164 "objc-parse.y" #line 1165 "objc-parse.y"
{ yyval.ttype = yyvsp[-2].ttype; ; { yyval.ttype = yyvsp[-2].ttype; ;
break;} break;}
case 189: case 189:
#line 1169 "objc-parse.y" #line 1170 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 190: case 190:
#line 1171 "objc-parse.y" #line 1172 "objc-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 191: case 191:
#line 1176 "objc-parse.y" #line 1177 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 192: case 192:
#line 1178 "objc-parse.y" #line 1179 "objc-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ; { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
break;} break;}
case 193: 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)); ; { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
break;} break;}
case 194: 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)); ; { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
break;} break;}
case 195: case 195:
#line 1184 "objc-parse.y" #line 1185 "objc-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 201: case 201:
#line 1202 "objc-parse.y" #line 1203 "objc-parse.y"
{ really_start_incremental_init (NULL_TREE); ; { really_start_incremental_init (NULL_TREE); ;
break;} break;}
case 202: case 202:
#line 1204 "objc-parse.y" #line 1205 "objc-parse.y"
{ yyval.ttype = pop_init_level (0); ; { yyval.ttype = pop_init_level (0); ;
break;} break;}
case 203: case 203:
#line 1206 "objc-parse.y" #line 1207 "objc-parse.y"
{ yyval.ttype = error_mark_node; ; { yyval.ttype = error_mark_node; ;
break;} break;}
case 204: case 204:
#line 1212 "objc-parse.y" #line 1213 "objc-parse.y"
{ if (pedantic) { if (pedantic)
pedwarn ("ANSI C forbids empty initializer braces"); ; pedwarn ("ANSI C forbids empty initializer braces"); ;
break;} break;}
case 210: case 210:
#line 1228 "objc-parse.y" #line 1229 "objc-parse.y"
{ set_init_label (yyvsp[-1].ttype); ; { set_init_label (yyvsp[-1].ttype); ;
break;} break;}
case 213: case 213:
#line 1235 "objc-parse.y" #line 1236 "objc-parse.y"
{ push_init_level (0); ; { push_init_level (0); ;
break;} break;}
case 214: case 214:
#line 1237 "objc-parse.y" #line 1238 "objc-parse.y"
{ process_init_element (pop_init_level (0)); ; { process_init_element (pop_init_level (0)); ;
break;} break;}
case 215: case 215:
#line 1239 "objc-parse.y" #line 1240 "objc-parse.y"
{ process_init_element (yyvsp[0].ttype); ; { process_init_element (yyvsp[0].ttype); ;
break;} break;}
case 219: case 219:
#line 1250 "objc-parse.y" #line 1251 "objc-parse.y"
{ set_init_label (yyvsp[0].ttype); ; { set_init_label (yyvsp[0].ttype); ;
break;} break;}
case 220: case 220:
#line 1258 "objc-parse.y" #line 1259 "objc-parse.y"
{ if (pedantic) { if (pedantic)
pedwarn ("ANSI C forbids nested functions"); pedwarn ("ANSI C forbids nested functions");
...@@ -3357,16 +3357,16 @@ case 220: ...@@ -3357,16 +3357,16 @@ case 220:
reinit_parse_for_function (); ; reinit_parse_for_function (); ;
break;} break;}
case 221: case 221:
#line 1270 "objc-parse.y" #line 1271 "objc-parse.y"
{ store_parm_decls (); ; { store_parm_decls (); ;
break;} break;}
case 222: case 222:
#line 1278 "objc-parse.y" #line 1279 "objc-parse.y"
{ finish_function (1); { finish_function (1);
pop_function_context (); ; pop_function_context (); ;
break;} break;}
case 223: case 223:
#line 1284 "objc-parse.y" #line 1285 "objc-parse.y"
{ if (pedantic) { if (pedantic)
pedwarn ("ANSI C forbids nested functions"); pedwarn ("ANSI C forbids nested functions");
...@@ -3380,195 +3380,195 @@ case 223: ...@@ -3380,195 +3380,195 @@ case 223:
reinit_parse_for_function (); ; reinit_parse_for_function (); ;
break;} break;}
case 224: case 224:
#line 1296 "objc-parse.y" #line 1297 "objc-parse.y"
{ store_parm_decls (); ; { store_parm_decls (); ;
break;} break;}
case 225: case 225:
#line 1304 "objc-parse.y" #line 1305 "objc-parse.y"
{ finish_function (1); { finish_function (1);
pop_function_context (); ; pop_function_context (); ;
break;} break;}
case 228: case 228:
#line 1320 "objc-parse.y" #line 1321 "objc-parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ; { yyval.ttype = yyvsp[-1].ttype; ;
break;} break;}
case 229: 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); ; { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
break;} break;}
case 230: case 230:
#line 1327 "objc-parse.y" #line 1328 "objc-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ; { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 231: case 231:
#line 1329 "objc-parse.y" #line 1330 "objc-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ; { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
break;} break;}
case 232: case 232:
#line 1331 "objc-parse.y" #line 1332 "objc-parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;} break;}
case 233: case 233:
#line 1338 "objc-parse.y" #line 1339 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 236: 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); ; { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
break;} break;}
case 237: case 237:
#line 1355 "objc-parse.y" #line 1356 "objc-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ; { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 238: case 238:
#line 1357 "objc-parse.y" #line 1358 "objc-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ; { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
break;} break;}
case 239: case 239:
#line 1359 "objc-parse.y" #line 1360 "objc-parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;} break;}
case 240: case 240:
#line 1366 "objc-parse.y" #line 1367 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 242: 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); ; { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
break;} break;}
case 243: case 243:
#line 1380 "objc-parse.y" #line 1381 "objc-parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ; { yyval.ttype = yyvsp[-1].ttype; ;
break;} break;}
case 244: case 244:
#line 1382 "objc-parse.y" #line 1383 "objc-parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;} break;}
case 245: case 245:
#line 1384 "objc-parse.y" #line 1385 "objc-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ; { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 246: case 246:
#line 1386 "objc-parse.y" #line 1387 "objc-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ; { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
break;} break;}
case 247: case 247:
#line 1393 "objc-parse.y" #line 1394 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 249: case 249:
#line 1399 "objc-parse.y" #line 1400 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 250: case 250:
#line 1401 "objc-parse.y" #line 1402 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 251: case 251:
#line 1406 "objc-parse.y" #line 1407 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 252: case 252:
#line 1408 "objc-parse.y" #line 1409 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 253: case 253:
#line 1413 "objc-parse.y" #line 1414 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 254: case 254:
#line 1415 "objc-parse.y" #line 1416 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 255: case 255:
#line 1420 "objc-parse.y" #line 1421 "objc-parse.y"
{ yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype); { yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype);
/* Start scope of tag before parsing components. */ /* Start scope of tag before parsing components. */
; ;
break;} break;}
case 256: 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)); ; { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
break;} break;}
case 257: case 257:
#line 1426 "objc-parse.y" #line 1427 "objc-parse.y"
{ yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE), { yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE),
yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype)); yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
; ;
break;} break;}
case 258: case 258:
#line 1430 "objc-parse.y" #line 1431 "objc-parse.y"
{ yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ; { yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ;
break;} break;}
case 259: case 259:
#line 1432 "objc-parse.y" #line 1433 "objc-parse.y"
{ yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ; { yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ;
break;} break;}
case 260: 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)); ; { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
break;} break;}
case 261: case 261:
#line 1436 "objc-parse.y" #line 1437 "objc-parse.y"
{ yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE), { yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE),
yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype)); yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
; ;
break;} break;}
case 262: case 262:
#line 1440 "objc-parse.y" #line 1441 "objc-parse.y"
{ yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ; { yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ;
break;} break;}
case 263: case 263:
#line 1442 "objc-parse.y" #line 1443 "objc-parse.y"
{ yyval.ttype = start_enum (yyvsp[-1].ttype); ; { yyval.ttype = start_enum (yyvsp[-1].ttype); ;
break;} break;}
case 264: case 264:
#line 1444 "objc-parse.y" #line 1445 "objc-parse.y"
{ yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype), { yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype),
chainon (yyvsp[-7].ttype, yyvsp[0].ttype)); ; chainon (yyvsp[-7].ttype, yyvsp[0].ttype)); ;
break;} break;}
case 265: case 265:
#line 1447 "objc-parse.y" #line 1448 "objc-parse.y"
{ yyval.ttype = start_enum (NULL_TREE); ; { yyval.ttype = start_enum (NULL_TREE); ;
break;} break;}
case 266: case 266:
#line 1449 "objc-parse.y" #line 1450 "objc-parse.y"
{ yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype), { yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype),
chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ; chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
break;} break;}
case 267: case 267:
#line 1452 "objc-parse.y" #line 1453 "objc-parse.y"
{ yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype); ; { yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype); ;
break;} break;}
case 271: case 271:
#line 1463 "objc-parse.y" #line 1464 "objc-parse.y"
{ if (pedantic && ! flag_isoc99) { if (pedantic && ! flag_isoc99)
pedwarn ("comma at end of enumerator list"); ; pedwarn ("comma at end of enumerator list"); ;
break;} break;}
case 272: case 272:
#line 1469 "objc-parse.y" #line 1470 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 273: case 273:
#line 1471 "objc-parse.y" #line 1472 "objc-parse.y"
{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
pedwarn ("no semicolon at end of struct or union"); ; pedwarn ("no semicolon at end of struct or union"); ;
break;} break;}
case 274: case 274:
#line 1476 "objc-parse.y" #line 1477 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 275: case 275:
#line 1478 "objc-parse.y" #line 1479 "objc-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ; { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 276: case 276:
#line 1480 "objc-parse.y" #line 1481 "objc-parse.y"
{ if (pedantic) { if (pedantic)
pedwarn ("extra semicolon in struct or union specified"); ; pedwarn ("extra semicolon in struct or union specified"); ;
break;} break;}
case 277: case 277:
#line 1484 "objc-parse.y" #line 1485 "objc-parse.y"
{ {
tree interface = lookup_interface (yyvsp[-1].ttype); tree interface = lookup_interface (yyvsp[-1].ttype);
...@@ -3583,14 +3583,14 @@ case 277: ...@@ -3583,14 +3583,14 @@ case 277:
; ;
break;} break;}
case 278: case 278:
#line 1509 "objc-parse.y" #line 1510 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; { yyval.ttype = yyvsp[0].ttype;
current_declspecs = TREE_VALUE (declspec_stack); current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 279: case 279:
#line 1514 "objc-parse.y" #line 1515 "objc-parse.y"
{ {
/* Support for unnamed structs or unions as members of /* Support for unnamed structs or unions as members of
structs or unions (which is [a] useful and [b] supports structs or unions (which is [a] useful and [b] supports
...@@ -3605,151 +3605,151 @@ case 279: ...@@ -3605,151 +3605,151 @@ case 279:
; ;
break;} break;}
case 280: case 280:
#line 1527 "objc-parse.y" #line 1528 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; { yyval.ttype = yyvsp[0].ttype;
current_declspecs = TREE_VALUE (declspec_stack); current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 281: case 281:
#line 1532 "objc-parse.y" #line 1533 "objc-parse.y"
{ if (pedantic) { if (pedantic)
pedwarn ("ANSI C forbids member declarations with no members"); pedwarn ("ANSI C forbids member declarations with no members");
shadow_tag(yyvsp[0].ttype); shadow_tag(yyvsp[0].ttype);
yyval.ttype = NULL_TREE; ; yyval.ttype = NULL_TREE; ;
break;} break;}
case 282: case 282:
#line 1537 "objc-parse.y" #line 1538 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 283: case 283:
#line 1539 "objc-parse.y" #line 1540 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; { yyval.ttype = yyvsp[0].ttype;
RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ; RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
break;} break;}
case 285: case 285:
#line 1546 "objc-parse.y" #line 1547 "objc-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 286: 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); { 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); ; decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
break;} break;}
case 287: 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); { 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); ; decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
break;} break;}
case 288: 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); { 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); ; decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
break;} break;}
case 290: case 290:
#line 1570 "objc-parse.y" #line 1571 "objc-parse.y"
{ if (yyvsp[-2].ttype == error_mark_node) { if (yyvsp[-2].ttype == error_mark_node)
yyval.ttype = yyvsp[-2].ttype; yyval.ttype = yyvsp[-2].ttype;
else else
yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ; yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ;
break;} break;}
case 291: case 291:
#line 1575 "objc-parse.y" #line 1576 "objc-parse.y"
{ yyval.ttype = error_mark_node; ; { yyval.ttype = error_mark_node; ;
break;} break;}
case 292: case 292:
#line 1581 "objc-parse.y" #line 1582 "objc-parse.y"
{ yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ; { yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ;
break;} break;}
case 293: case 293:
#line 1583 "objc-parse.y" #line 1584 "objc-parse.y"
{ yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ; { yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 294: case 294:
#line 1588 "objc-parse.y" #line 1589 "objc-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ; { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;} break;}
case 295: case 295:
#line 1590 "objc-parse.y" #line 1591 "objc-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ; { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;} break;}
case 296: case 296:
#line 1595 "objc-parse.y" #line 1596 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 298: case 298:
#line 1601 "objc-parse.y" #line 1602 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
break;} break;}
case 299: case 299:
#line 1603 "objc-parse.y" #line 1604 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 300: case 300:
#line 1608 "objc-parse.y" #line 1609 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 301: case 301:
#line 1610 "objc-parse.y" #line 1611 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 302: case 302:
#line 1615 "objc-parse.y" #line 1616 "objc-parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ; { yyval.ttype = yyvsp[-1].ttype; ;
break;} break;}
case 303: case 303:
#line 1618 "objc-parse.y" #line 1619 "objc-parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;} break;}
case 304: case 304:
#line 1620 "objc-parse.y" #line 1621 "objc-parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ; { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
break;} break;}
case 305: 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); ; { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
break;} break;}
case 306: case 306:
#line 1624 "objc-parse.y" #line 1625 "objc-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ; { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 307: case 307:
#line 1626 "objc-parse.y" #line 1627 "objc-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ; { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
break;} break;}
case 308: 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); ; { yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
break;} break;}
case 309: case 309:
#line 1630 "objc-parse.y" #line 1631 "objc-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ; { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
break;} break;}
case 310: case 310:
#line 1632 "objc-parse.y" #line 1633 "objc-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ; { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ;
break;} break;}
case 311: case 311:
#line 1636 "objc-parse.y" #line 1637 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 312: case 312:
#line 1645 "objc-parse.y" #line 1646 "objc-parse.y"
{ {
if (pedantic && yyvsp[0].ends_in_label) if (pedantic && yyvsp[0].ends_in_label)
pedwarn ("ANSI C forbids label at end of compound statement"); pedwarn ("ANSI C forbids label at end of compound statement");
; ;
break;} break;}
case 314: case 314:
#line 1654 "objc-parse.y" #line 1655 "objc-parse.y"
{ yyval.ends_in_label = yyvsp[0].ends_in_label; ; { yyval.ends_in_label = yyvsp[0].ends_in_label; ;
break;} break;}
case 315: case 315:
#line 1656 "objc-parse.y" #line 1657 "objc-parse.y"
{ yyval.ends_in_label = 0; ; { yyval.ends_in_label = 0; ;
break;} break;}
case 319: case 319:
#line 1668 "objc-parse.y" #line 1669 "objc-parse.y"
{ emit_line_note (input_filename, lineno); { emit_line_note (input_filename, lineno);
pushlevel (0); pushlevel (0);
clear_last_expr (); clear_last_expr ();
...@@ -3759,12 +3759,12 @@ case 319: ...@@ -3759,12 +3759,12 @@ case 319:
; ;
break;} break;}
case 321: case 321:
#line 1682 "objc-parse.y" #line 1683 "objc-parse.y"
{ if (pedantic) { if (pedantic)
pedwarn ("ANSI C forbids label declarations"); ; pedwarn ("ANSI C forbids label declarations"); ;
break;} break;}
case 324: case 324:
#line 1693 "objc-parse.y" #line 1694 "objc-parse.y"
{ tree link; { tree link;
for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link)) for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
{ {
...@@ -3775,37 +3775,37 @@ case 324: ...@@ -3775,37 +3775,37 @@ case 324:
; ;
break;} break;}
case 325: case 325:
#line 1707 "objc-parse.y" #line 1708 "objc-parse.y"
{; {;
break;} break;}
case 327: case 327:
#line 1711 "objc-parse.y" #line 1712 "objc-parse.y"
{ compstmt_count++; ; { compstmt_count++; ;
break;} break;}
case 328: case 328:
#line 1714 "objc-parse.y" #line 1715 "objc-parse.y"
{ yyval.ttype = convert (void_type_node, integer_zero_node); ; { yyval.ttype = convert (void_type_node, integer_zero_node); ;
break;} break;}
case 329: case 329:
#line 1716 "objc-parse.y" #line 1717 "objc-parse.y"
{ emit_line_note (input_filename, lineno); { emit_line_note (input_filename, lineno);
expand_end_bindings (getdecls (), 1, 0); expand_end_bindings (getdecls (), 1, 0);
yyval.ttype = poplevel (1, 1, 0); ; yyval.ttype = poplevel (1, 1, 0); ;
break;} break;}
case 330: case 330:
#line 1720 "objc-parse.y" #line 1721 "objc-parse.y"
{ emit_line_note (input_filename, lineno); { emit_line_note (input_filename, lineno);
expand_end_bindings (getdecls (), kept_level_p (), 0); expand_end_bindings (getdecls (), kept_level_p (), 0);
yyval.ttype = poplevel (kept_level_p (), 0, 0); ; yyval.ttype = poplevel (kept_level_p (), 0, 0); ;
break;} break;}
case 331: case 331:
#line 1724 "objc-parse.y" #line 1725 "objc-parse.y"
{ emit_line_note (input_filename, lineno); { emit_line_note (input_filename, lineno);
expand_end_bindings (getdecls (), kept_level_p (), 0); expand_end_bindings (getdecls (), kept_level_p (), 0);
yyval.ttype = poplevel (kept_level_p (), 0, 0); ; yyval.ttype = poplevel (kept_level_p (), 0, 0); ;
break;} break;}
case 332: case 332:
#line 1731 "objc-parse.y" #line 1732 "objc-parse.y"
{ if (current_function_decl == 0) { if (current_function_decl == 0)
{ {
error ("braced-group within expression allowed only inside a function"); error ("braced-group within expression allowed only inside a function");
...@@ -3823,11 +3823,11 @@ case 332: ...@@ -3823,11 +3823,11 @@ case 332:
; ;
break;} break;}
case 333: case 333:
#line 1748 "objc-parse.y" #line 1749 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 336: case 336:
#line 1762 "objc-parse.y" #line 1763 "objc-parse.y"
{ emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno); { emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
c_expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0, c_expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0,
compstmt_count); compstmt_count);
...@@ -3837,7 +3837,7 @@ case 336: ...@@ -3837,7 +3837,7 @@ case 336:
position_after_white_space (); ; position_after_white_space (); ;
break;} break;}
case 337: case 337:
#line 1776 "objc-parse.y" #line 1777 "objc-parse.y"
{ stmt_count++; { stmt_count++;
compstmt_count++; compstmt_count++;
emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno); emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
...@@ -3847,43 +3847,43 @@ case 337: ...@@ -3847,43 +3847,43 @@ case 337:
position_after_white_space (); ; position_after_white_space (); ;
break;} break;}
case 338: case 338:
#line 1784 "objc-parse.y" #line 1785 "objc-parse.y"
{ expand_loop_continue_here (); ; { expand_loop_continue_here (); ;
break;} break;}
case 339: case 339:
#line 1788 "objc-parse.y" #line 1789 "objc-parse.y"
{ yyval.filename = input_filename; ; { yyval.filename = input_filename; ;
break;} break;}
case 340: case 340:
#line 1792 "objc-parse.y" #line 1793 "objc-parse.y"
{ yyval.lineno = lineno; ; { yyval.lineno = lineno; ;
break;} break;}
case 341: case 341:
#line 1797 "objc-parse.y" #line 1798 "objc-parse.y"
{ ; { ;
break;} break;}
case 342: case 342:
#line 1802 "objc-parse.y" #line 1803 "objc-parse.y"
{ ; { ;
break;} break;}
case 343: case 343:
#line 1807 "objc-parse.y" #line 1808 "objc-parse.y"
{ yyval.ends_in_label = yyvsp[0].ends_in_label; ; { yyval.ends_in_label = yyvsp[0].ends_in_label; ;
break;} break;}
case 344: case 344:
#line 1812 "objc-parse.y" #line 1813 "objc-parse.y"
{ yyval.ends_in_label = 0; ; { yyval.ends_in_label = 0; ;
break;} break;}
case 345: case 345:
#line 1814 "objc-parse.y" #line 1815 "objc-parse.y"
{ yyval.ends_in_label = 1; ; { yyval.ends_in_label = 1; ;
break;} break;}
case 346: case 346:
#line 1820 "objc-parse.y" #line 1821 "objc-parse.y"
{ stmt_count++; ; { stmt_count++; ;
break;} break;}
case 348: case 348:
#line 1823 "objc-parse.y" #line 1824 "objc-parse.y"
{ stmt_count++; { stmt_count++;
emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
/* It appears that this should not be done--that a non-lvalue array /* It appears that this should not be done--that a non-lvalue array
...@@ -3901,19 +3901,19 @@ case 348: ...@@ -3901,19 +3901,19 @@ case 348:
iterator_expand (yyvsp[-1].ttype); ; iterator_expand (yyvsp[-1].ttype); ;
break;} break;}
case 349: case 349:
#line 1839 "objc-parse.y" #line 1840 "objc-parse.y"
{ c_expand_start_else (); { c_expand_start_else ();
yyvsp[-1].itype = stmt_count; yyvsp[-1].itype = stmt_count;
position_after_white_space (); ; position_after_white_space (); ;
break;} break;}
case 350: case 350:
#line 1843 "objc-parse.y" #line 1844 "objc-parse.y"
{ c_expand_end_cond (); { c_expand_end_cond ();
if (extra_warnings && stmt_count == yyvsp[-3].itype) if (extra_warnings && stmt_count == yyvsp[-3].itype)
warning ("empty body in an else-statement"); ; warning ("empty body in an else-statement"); ;
break;} break;}
case 351: case 351:
#line 1847 "objc-parse.y" #line 1848 "objc-parse.y"
{ c_expand_end_cond (); { c_expand_end_cond ();
/* This warning is here instead of in simple_if, because we /* This warning is here instead of in simple_if, because we
do not want a warning if an empty if is followed by an do not want a warning if an empty if is followed by an
...@@ -3924,11 +3924,11 @@ case 351: ...@@ -3924,11 +3924,11 @@ case 351:
"empty body in an if-statement"); ; "empty body in an if-statement"); ;
break;} break;}
case 352: case 352:
#line 1859 "objc-parse.y" #line 1860 "objc-parse.y"
{ c_expand_end_cond (); ; { c_expand_end_cond (); ;
break;} break;}
case 353: case 353:
#line 1861 "objc-parse.y" #line 1862 "objc-parse.y"
{ stmt_count++; { stmt_count++;
emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno); emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
/* The emit_nop used to come before emit_line_note, /* The emit_nop used to come before emit_line_note,
...@@ -3940,7 +3940,7 @@ case 353: ...@@ -3940,7 +3940,7 @@ case 353:
emit_nop (); ; emit_nop (); ;
break;} break;}
case 354: case 354:
#line 1871 "objc-parse.y" #line 1872 "objc-parse.y"
{ /* Don't start the loop till we have succeeded { /* Don't start the loop till we have succeeded
in parsing the end test. This is to make sure in parsing the end test. This is to make sure
that we end every loop we start. */ that we end every loop we start. */
...@@ -3951,22 +3951,22 @@ case 354: ...@@ -3951,22 +3951,22 @@ case 354:
position_after_white_space (); ; position_after_white_space (); ;
break;} break;}
case 355: case 355:
#line 1880 "objc-parse.y" #line 1881 "objc-parse.y"
{ expand_end_loop (); ; { expand_end_loop (); ;
break;} break;}
case 356: case 356:
#line 1883 "objc-parse.y" #line 1884 "objc-parse.y"
{ emit_line_note (input_filename, lineno); { emit_line_note (input_filename, lineno);
expand_exit_loop_if_false (NULL_PTR, expand_exit_loop_if_false (NULL_PTR,
truthvalue_conversion (yyvsp[-2].ttype)); truthvalue_conversion (yyvsp[-2].ttype));
expand_end_loop (); ; expand_end_loop (); ;
break;} break;}
case 357: case 357:
#line 1889 "objc-parse.y" #line 1890 "objc-parse.y"
{ expand_end_loop (); ; { expand_end_loop (); ;
break;} break;}
case 358: case 358:
#line 1892 "objc-parse.y" #line 1893 "objc-parse.y"
{ stmt_count++; { stmt_count++;
emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno); emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
/* See comment in `while' alternative, above. */ /* See comment in `while' alternative, above. */
...@@ -3979,12 +3979,12 @@ case 358: ...@@ -3979,12 +3979,12 @@ case 358:
; ;
break;} break;}
case 359: case 359:
#line 1904 "objc-parse.y" #line 1905 "objc-parse.y"
{ yyvsp[0].lineno = lineno; { yyvsp[0].lineno = lineno;
yyval.filename = input_filename; ; yyval.filename = input_filename; ;
break;} break;}
case 360: case 360:
#line 1907 "objc-parse.y" #line 1908 "objc-parse.y"
{ {
/* Start the loop. Doing this after parsing /* Start the loop. Doing this after parsing
all the expressions ensures we will end the loop. */ all the expressions ensures we will end the loop. */
...@@ -3999,7 +3999,7 @@ case 360: ...@@ -3999,7 +3999,7 @@ case 360:
position_after_white_space (); ; position_after_white_space (); ;
break;} break;}
case 361: case 361:
#line 1920 "objc-parse.y" #line 1921 "objc-parse.y"
{ /* Emit the increment expression, with a line number. */ { /* Emit the increment expression, with a line number. */
emit_line_note (yyvsp[-4].filename, yyvsp[-5].lineno); emit_line_note (yyvsp[-4].filename, yyvsp[-5].lineno);
expand_loop_continue_here (); expand_loop_continue_here ();
...@@ -4008,44 +4008,44 @@ case 361: ...@@ -4008,44 +4008,44 @@ case 361:
expand_end_loop (); ; expand_end_loop (); ;
break;} break;}
case 362: case 362:
#line 1927 "objc-parse.y" #line 1928 "objc-parse.y"
{ stmt_count++; { stmt_count++;
emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno); emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
c_expand_start_case (yyvsp[-1].ttype); c_expand_start_case (yyvsp[-1].ttype);
position_after_white_space (); ; position_after_white_space (); ;
break;} break;}
case 363: case 363:
#line 1932 "objc-parse.y" #line 1933 "objc-parse.y"
{ expand_end_case (yyvsp[-3].ttype); ; { expand_end_case (yyvsp[-3].ttype); ;
break;} break;}
case 364: case 364:
#line 1934 "objc-parse.y" #line 1935 "objc-parse.y"
{ stmt_count++; { stmt_count++;
emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
if ( ! expand_exit_something ()) if ( ! expand_exit_something ())
error ("break statement not within loop or switch"); ; error ("break statement not within loop or switch"); ;
break;} break;}
case 365: case 365:
#line 1939 "objc-parse.y" #line 1940 "objc-parse.y"
{ stmt_count++; { stmt_count++;
emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
if (! expand_continue_loop (NULL_PTR)) if (! expand_continue_loop (NULL_PTR))
error ("continue statement not within a loop"); ; error ("continue statement not within a loop"); ;
break;} break;}
case 366: case 366:
#line 1944 "objc-parse.y" #line 1945 "objc-parse.y"
{ stmt_count++; { stmt_count++;
emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
c_expand_return (NULL_TREE); ; c_expand_return (NULL_TREE); ;
break;} break;}
case 367: case 367:
#line 1948 "objc-parse.y" #line 1949 "objc-parse.y"
{ stmt_count++; { stmt_count++;
emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno); emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
c_expand_return (yyvsp[-1].ttype); ; c_expand_return (yyvsp[-1].ttype); ;
break;} break;}
case 368: case 368:
#line 1952 "objc-parse.y" #line 1953 "objc-parse.y"
{ stmt_count++; { stmt_count++;
emit_line_note (yyvsp[-7].filename, yyvsp[-6].lineno); emit_line_note (yyvsp[-7].filename, yyvsp[-6].lineno);
STRIP_NOPS (yyvsp[-2].ttype); STRIP_NOPS (yyvsp[-2].ttype);
...@@ -4057,7 +4057,7 @@ case 368: ...@@ -4057,7 +4057,7 @@ case 368:
error ("argument of `asm' is not a constant string"); ; error ("argument of `asm' is not a constant string"); ;
break;} break;}
case 369: case 369:
#line 1963 "objc-parse.y" #line 1964 "objc-parse.y"
{ stmt_count++; { stmt_count++;
emit_line_note (yyvsp[-9].filename, yyvsp[-8].lineno); emit_line_note (yyvsp[-9].filename, yyvsp[-8].lineno);
c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE, c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
...@@ -4065,7 +4065,7 @@ case 369: ...@@ -4065,7 +4065,7 @@ case 369:
input_filename, lineno); ; input_filename, lineno); ;
break;} break;}
case 370: case 370:
#line 1970 "objc-parse.y" #line 1971 "objc-parse.y"
{ stmt_count++; { stmt_count++;
emit_line_note (yyvsp[-11].filename, yyvsp[-10].lineno); emit_line_note (yyvsp[-11].filename, yyvsp[-10].lineno);
c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
...@@ -4073,7 +4073,7 @@ case 370: ...@@ -4073,7 +4073,7 @@ case 370:
input_filename, lineno); ; input_filename, lineno); ;
break;} break;}
case 371: case 371:
#line 1978 "objc-parse.y" #line 1979 "objc-parse.y"
{ stmt_count++; { stmt_count++;
emit_line_note (yyvsp[-13].filename, yyvsp[-12].lineno); 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, c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
...@@ -4081,7 +4081,7 @@ case 371: ...@@ -4081,7 +4081,7 @@ case 371:
input_filename, lineno); ; input_filename, lineno); ;
break;} break;}
case 372: case 372:
#line 1984 "objc-parse.y" #line 1985 "objc-parse.y"
{ tree decl; { tree decl;
stmt_count++; stmt_count++;
emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno); emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
...@@ -4094,7 +4094,7 @@ case 372: ...@@ -4094,7 +4094,7 @@ case 372:
; ;
break;} break;}
case 373: case 373:
#line 1995 "objc-parse.y" #line 1996 "objc-parse.y"
{ if (pedantic) { if (pedantic)
pedwarn ("ANSI C forbids `goto *expr;'"); pedwarn ("ANSI C forbids `goto *expr;'");
stmt_count++; stmt_count++;
...@@ -4102,7 +4102,7 @@ case 373: ...@@ -4102,7 +4102,7 @@ case 373:
expand_computed_goto (convert (ptr_type_node, yyvsp[-1].ttype)); ; expand_computed_goto (convert (ptr_type_node, yyvsp[-1].ttype)); ;
break;} break;}
case 376: case 376:
#line 2010 "objc-parse.y" #line 2011 "objc-parse.y"
{ {
/* The value returned by this action is */ /* The value returned by this action is */
/* 1 if everything is OK */ /* 1 if everything is OK */
...@@ -4125,14 +4125,14 @@ case 376: ...@@ -4125,14 +4125,14 @@ case 376:
; ;
break;} break;}
case 377: case 377:
#line 2031 "objc-parse.y" #line 2032 "objc-parse.y"
{ {
if (yyvsp[-1].itype) if (yyvsp[-1].itype)
iterator_for_loop_end (yyvsp[-3].ttype); iterator_for_loop_end (yyvsp[-3].ttype);
; ;
break;} break;}
case 378: case 378:
#line 2062 "objc-parse.y" #line 2063 "objc-parse.y"
{ register tree value = check_case_value (yyvsp[-1].ttype); { register tree value = check_case_value (yyvsp[-1].ttype);
register tree label register tree label
= build_decl (LABEL_DECL, NULL_TREE, NULL_TREE); = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
...@@ -4165,7 +4165,7 @@ case 378: ...@@ -4165,7 +4165,7 @@ case 378:
position_after_white_space (); ; position_after_white_space (); ;
break;} break;}
case 379: case 379:
#line 2093 "objc-parse.y" #line 2094 "objc-parse.y"
{ register tree value1 = check_case_value (yyvsp[-3].ttype); { register tree value1 = check_case_value (yyvsp[-3].ttype);
register tree value2 = check_case_value (yyvsp[-1].ttype); register tree value2 = check_case_value (yyvsp[-1].ttype);
register tree label register tree label
...@@ -4198,7 +4198,7 @@ case 379: ...@@ -4198,7 +4198,7 @@ case 379:
position_after_white_space (); ; position_after_white_space (); ;
break;} break;}
case 380: case 380:
#line 2124 "objc-parse.y" #line 2125 "objc-parse.y"
{ {
tree duplicate; tree duplicate;
register tree label register tree label
...@@ -4215,7 +4215,7 @@ case 380: ...@@ -4215,7 +4215,7 @@ case 380:
position_after_white_space (); ; position_after_white_space (); ;
break;} break;}
case 381: case 381:
#line 2139 "objc-parse.y" #line 2140 "objc-parse.y"
{ tree label = define_label (input_filename, lineno, yyvsp[-2].ttype); { tree label = define_label (input_filename, lineno, yyvsp[-2].ttype);
stmt_count++; stmt_count++;
emit_nop (); emit_nop ();
...@@ -4227,52 +4227,52 @@ case 381: ...@@ -4227,52 +4227,52 @@ case 381:
position_after_white_space (); ; position_after_white_space (); ;
break;} break;}
case 382: case 382:
#line 2154 "objc-parse.y" #line 2155 "objc-parse.y"
{ emit_line_note (input_filename, lineno); { emit_line_note (input_filename, lineno);
yyval.ttype = NULL_TREE; ; yyval.ttype = NULL_TREE; ;
break;} break;}
case 383: case 383:
#line 2157 "objc-parse.y" #line 2158 "objc-parse.y"
{ emit_line_note (input_filename, lineno); ; { emit_line_note (input_filename, lineno); ;
break;} break;}
case 384: case 384:
#line 2162 "objc-parse.y" #line 2163 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 386: case 386:
#line 2169 "objc-parse.y" #line 2170 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 389: case 389:
#line 2176 "objc-parse.y" #line 2177 "objc-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;} break;}
case 390: case 390:
#line 2181 "objc-parse.y" #line 2182 "objc-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;} break;}
case 391: 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); ; { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ;
break;} break;}
case 392: 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); ; { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ;
break;} break;}
case 393: case 393:
#line 2194 "objc-parse.y" #line 2195 "objc-parse.y"
{ pushlevel (0); { pushlevel (0);
clear_parm_order (); clear_parm_order ();
declare_parm_level (0); ; declare_parm_level (0); ;
break;} break;}
case 394: case 394:
#line 2198 "objc-parse.y" #line 2199 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; { yyval.ttype = yyvsp[0].ttype;
parmlist_tags_warning (); parmlist_tags_warning ();
poplevel (0, 0, 0); ; poplevel (0, 0, 0); ;
break;} break;}
case 396: case 396:
#line 2206 "objc-parse.y" #line 2207 "objc-parse.y"
{ tree parm; { tree parm;
if (pedantic) if (pedantic)
pedwarn ("ANSI C forbids forward parameter declarations"); pedwarn ("ANSI C forbids forward parameter declarations");
...@@ -4282,19 +4282,19 @@ case 396: ...@@ -4282,19 +4282,19 @@ case 396:
clear_parm_order (); ; clear_parm_order (); ;
break;} break;}
case 397: case 397:
#line 2214 "objc-parse.y" #line 2215 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ; { yyval.ttype = yyvsp[0].ttype; ;
break;} break;}
case 398: case 398:
#line 2216 "objc-parse.y" #line 2217 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ; { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ;
break;} break;}
case 399: case 399:
#line 2222 "objc-parse.y" #line 2223 "objc-parse.y"
{ yyval.ttype = get_parm_info (0); ; { yyval.ttype = get_parm_info (0); ;
break;} break;}
case 400: case 400:
#line 2224 "objc-parse.y" #line 2225 "objc-parse.y"
{ yyval.ttype = get_parm_info (0); { yyval.ttype = get_parm_info (0);
/* Gcc used to allow this as an extension. However, it does /* Gcc used to allow this as an extension. However, it does
not work for all targets, and thus has been disabled. not work for all targets, and thus has been disabled.
...@@ -4306,23 +4306,23 @@ case 400: ...@@ -4306,23 +4306,23 @@ case 400:
; ;
break;} break;}
case 401: case 401:
#line 2234 "objc-parse.y" #line 2235 "objc-parse.y"
{ yyval.ttype = get_parm_info (1); ; { yyval.ttype = get_parm_info (1); ;
break;} break;}
case 402: case 402:
#line 2236 "objc-parse.y" #line 2237 "objc-parse.y"
{ yyval.ttype = get_parm_info (0); ; { yyval.ttype = get_parm_info (0); ;
break;} break;}
case 403: case 403:
#line 2241 "objc-parse.y" #line 2242 "objc-parse.y"
{ push_parm_decl (yyvsp[0].ttype); ; { push_parm_decl (yyvsp[0].ttype); ;
break;} break;}
case 404: case 404:
#line 2243 "objc-parse.y" #line 2244 "objc-parse.y"
{ push_parm_decl (yyvsp[0].ttype); ; { push_parm_decl (yyvsp[0].ttype); ;
break;} break;}
case 405: case 405:
#line 2250 "objc-parse.y" #line 2251 "objc-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs, { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype), yyvsp[-1].ttype),
build_tree_list (prefix_attributes, build_tree_list (prefix_attributes,
...@@ -4332,7 +4332,7 @@ case 405: ...@@ -4332,7 +4332,7 @@ case 405:
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 406: case 406:
#line 2258 "objc-parse.y" #line 2259 "objc-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs, { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype), yyvsp[-1].ttype),
build_tree_list (prefix_attributes, build_tree_list (prefix_attributes,
...@@ -4342,7 +4342,7 @@ case 406: ...@@ -4342,7 +4342,7 @@ case 406:
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 407: case 407:
#line 2266 "objc-parse.y" #line 2267 "objc-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs, { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype), yyvsp[-1].ttype),
build_tree_list (prefix_attributes, build_tree_list (prefix_attributes,
...@@ -4352,7 +4352,7 @@ case 407: ...@@ -4352,7 +4352,7 @@ case 407:
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 408: case 408:
#line 2274 "objc-parse.y" #line 2275 "objc-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs, { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype), yyvsp[-1].ttype),
build_tree_list (prefix_attributes, build_tree_list (prefix_attributes,
...@@ -4362,7 +4362,7 @@ case 408: ...@@ -4362,7 +4362,7 @@ case 408:
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 409: case 409:
#line 2283 "objc-parse.y" #line 2284 "objc-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs, { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype), yyvsp[-1].ttype),
build_tree_list (prefix_attributes, build_tree_list (prefix_attributes,
...@@ -4372,19 +4372,19 @@ case 409: ...@@ -4372,19 +4372,19 @@ case 409:
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 410: case 410:
#line 2296 "objc-parse.y" #line 2297 "objc-parse.y"
{ pushlevel (0); { pushlevel (0);
clear_parm_order (); clear_parm_order ();
declare_parm_level (1); ; declare_parm_level (1); ;
break;} break;}
case 411: case 411:
#line 2300 "objc-parse.y" #line 2301 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; { yyval.ttype = yyvsp[0].ttype;
parmlist_tags_warning (); parmlist_tags_warning ();
poplevel (0, 0, 0); ; poplevel (0, 0, 0); ;
break;} break;}
case 413: case 413:
#line 2308 "objc-parse.y" #line 2309 "objc-parse.y"
{ tree t; { tree t;
for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t)) for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t))
if (TREE_VALUE (t) == NULL_TREE) if (TREE_VALUE (t) == NULL_TREE)
...@@ -4392,29 +4392,29 @@ case 413: ...@@ -4392,29 +4392,29 @@ case 413:
yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ; yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
break;} break;}
case 414: case 414:
#line 2318 "objc-parse.y" #line 2319 "objc-parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
break;} break;}
case 415: 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)); ; { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;} break;}
case 416: case 416:
#line 2326 "objc-parse.y" #line 2327 "objc-parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
break;} break;}
case 417: 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)); ; { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;} break;}
case 418: case 418:
#line 2333 "objc-parse.y" #line 2334 "objc-parse.y"
{ yyval.ttype = SAVE_WARN_FLAGS(); { yyval.ttype = SAVE_WARN_FLAGS();
pedantic = 0; pedantic = 0;
warn_pointer_arith = 0; ; warn_pointer_arith = 0; ;
break;} break;}
case 424: case 424:
#line 2347 "objc-parse.y" #line 2348 "objc-parse.y"
{ {
if (objc_implementation_context) if (objc_implementation_context)
{ {
...@@ -4427,27 +4427,27 @@ case 424: ...@@ -4427,27 +4427,27 @@ case 424:
; ;
break;} break;}
case 425: case 425:
#line 2362 "objc-parse.y" #line 2363 "objc-parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
break;} break;}
case 426: 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)); ; { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;} break;}
case 427: case 427:
#line 2369 "objc-parse.y" #line 2370 "objc-parse.y"
{ {
objc_declare_class (yyvsp[-1].ttype); objc_declare_class (yyvsp[-1].ttype);
; ;
break;} break;}
case 428: case 428:
#line 2375 "objc-parse.y" #line 2376 "objc-parse.y"
{ {
objc_declare_alias (yyvsp[-2].ttype, yyvsp[-1].ttype); objc_declare_alias (yyvsp[-2].ttype, yyvsp[-1].ttype);
; ;
break;} break;}
case 429: case 429:
#line 2381 "objc-parse.y" #line 2382 "objc-parse.y"
{ {
objc_interface_context = objc_ivar_context objc_interface_context = objc_ivar_context
= start_class (CLASS_INTERFACE_TYPE, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype); = start_class (CLASS_INTERFACE_TYPE, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
...@@ -4455,20 +4455,20 @@ case 429: ...@@ -4455,20 +4455,20 @@ case 429:
; ;
break;} break;}
case 430: case 430:
#line 2387 "objc-parse.y" #line 2388 "objc-parse.y"
{ {
continue_class (objc_interface_context); continue_class (objc_interface_context);
; ;
break;} break;}
case 431: case 431:
#line 2392 "objc-parse.y" #line 2393 "objc-parse.y"
{ {
finish_class (objc_interface_context); finish_class (objc_interface_context);
objc_interface_context = NULL_TREE; objc_interface_context = NULL_TREE;
; ;
break;} break;}
case 432: case 432:
#line 2398 "objc-parse.y" #line 2399 "objc-parse.y"
{ {
objc_interface_context objc_interface_context
= start_class (CLASS_INTERFACE_TYPE, yyvsp[-1].ttype, NULL_TREE, yyvsp[0].ttype); = start_class (CLASS_INTERFACE_TYPE, yyvsp[-1].ttype, NULL_TREE, yyvsp[0].ttype);
...@@ -4476,14 +4476,14 @@ case 432: ...@@ -4476,14 +4476,14 @@ case 432:
; ;
break;} break;}
case 433: case 433:
#line 2405 "objc-parse.y" #line 2406 "objc-parse.y"
{ {
finish_class (objc_interface_context); finish_class (objc_interface_context);
objc_interface_context = NULL_TREE; objc_interface_context = NULL_TREE;
; ;
break;} break;}
case 434: case 434:
#line 2411 "objc-parse.y" #line 2412 "objc-parse.y"
{ {
objc_interface_context = objc_ivar_context objc_interface_context = objc_ivar_context
= start_class (CLASS_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[-1].ttype); = start_class (CLASS_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[-1].ttype);
...@@ -4491,20 +4491,20 @@ case 434: ...@@ -4491,20 +4491,20 @@ case 434:
; ;
break;} break;}
case 435: case 435:
#line 2417 "objc-parse.y" #line 2418 "objc-parse.y"
{ {
continue_class (objc_interface_context); continue_class (objc_interface_context);
; ;
break;} break;}
case 436: case 436:
#line 2422 "objc-parse.y" #line 2423 "objc-parse.y"
{ {
finish_class (objc_interface_context); finish_class (objc_interface_context);
objc_interface_context = NULL_TREE; objc_interface_context = NULL_TREE;
; ;
break;} break;}
case 437: case 437:
#line 2428 "objc-parse.y" #line 2429 "objc-parse.y"
{ {
objc_interface_context objc_interface_context
= start_class (CLASS_INTERFACE_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); = start_class (CLASS_INTERFACE_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
...@@ -4512,14 +4512,14 @@ case 437: ...@@ -4512,14 +4512,14 @@ case 437:
; ;
break;} break;}
case 438: case 438:
#line 2435 "objc-parse.y" #line 2436 "objc-parse.y"
{ {
finish_class (objc_interface_context); finish_class (objc_interface_context);
objc_interface_context = NULL_TREE; objc_interface_context = NULL_TREE;
; ;
break;} break;}
case 439: case 439:
#line 2441 "objc-parse.y" #line 2442 "objc-parse.y"
{ {
objc_implementation_context = objc_ivar_context objc_implementation_context = objc_ivar_context
= start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE); = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
...@@ -4527,14 +4527,14 @@ case 439: ...@@ -4527,14 +4527,14 @@ case 439:
; ;
break;} break;}
case 440: case 440:
#line 2447 "objc-parse.y" #line 2448 "objc-parse.y"
{ {
objc_ivar_chain objc_ivar_chain
= continue_class (objc_implementation_context); = continue_class (objc_implementation_context);
; ;
break;} break;}
case 441: case 441:
#line 2453 "objc-parse.y" #line 2454 "objc-parse.y"
{ {
objc_implementation_context objc_implementation_context
= start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[0].ttype, NULL_TREE, NULL_TREE); = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[0].ttype, NULL_TREE, NULL_TREE);
...@@ -4543,7 +4543,7 @@ case 441: ...@@ -4543,7 +4543,7 @@ case 441:
; ;
break;} break;}
case 442: case 442:
#line 2461 "objc-parse.y" #line 2462 "objc-parse.y"
{ {
objc_implementation_context = objc_ivar_context objc_implementation_context = objc_ivar_context
= start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE); = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE);
...@@ -4551,14 +4551,14 @@ case 442: ...@@ -4551,14 +4551,14 @@ case 442:
; ;
break;} break;}
case 443: case 443:
#line 2467 "objc-parse.y" #line 2468 "objc-parse.y"
{ {
objc_ivar_chain objc_ivar_chain
= continue_class (objc_implementation_context); = continue_class (objc_implementation_context);
; ;
break;} break;}
case 444: case 444:
#line 2473 "objc-parse.y" #line 2474 "objc-parse.y"
{ {
objc_implementation_context objc_implementation_context
= start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE);
...@@ -4567,7 +4567,7 @@ case 444: ...@@ -4567,7 +4567,7 @@ case 444:
; ;
break;} break;}
case 445: case 445:
#line 2481 "objc-parse.y" #line 2482 "objc-parse.y"
{ {
objc_interface_context objc_interface_context
= start_class (CATEGORY_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); = start_class (CATEGORY_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype);
...@@ -4575,14 +4575,14 @@ case 445: ...@@ -4575,14 +4575,14 @@ case 445:
; ;
break;} break;}
case 446: case 446:
#line 2488 "objc-parse.y" #line 2489 "objc-parse.y"
{ {
finish_class (objc_interface_context); finish_class (objc_interface_context);
objc_interface_context = NULL_TREE; objc_interface_context = NULL_TREE;
; ;
break;} break;}
case 447: case 447:
#line 2494 "objc-parse.y" #line 2495 "objc-parse.y"
{ {
objc_implementation_context objc_implementation_context
= start_class (CATEGORY_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE); = start_class (CATEGORY_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE);
...@@ -4591,7 +4591,7 @@ case 447: ...@@ -4591,7 +4591,7 @@ case 447:
; ;
break;} break;}
case 448: case 448:
#line 2504 "objc-parse.y" #line 2505 "objc-parse.y"
{ {
remember_protocol_qualifiers (); remember_protocol_qualifiers ();
objc_interface_context objc_interface_context
...@@ -4599,7 +4599,7 @@ case 448: ...@@ -4599,7 +4599,7 @@ case 448:
; ;
break;} break;}
case 449: case 449:
#line 2510 "objc-parse.y" #line 2511 "objc-parse.y"
{ {
forget_protocol_qualifiers(); forget_protocol_qualifiers();
finish_protocol(objc_interface_context); finish_protocol(objc_interface_context);
...@@ -4607,13 +4607,13 @@ case 449: ...@@ -4607,13 +4607,13 @@ case 449:
; ;
break;} break;}
case 450: case 450:
#line 2519 "objc-parse.y" #line 2520 "objc-parse.y"
{ {
yyval.ttype = NULL_TREE; yyval.ttype = NULL_TREE;
; ;
break;} break;}
case 452: case 452:
#line 2527 "objc-parse.y" #line 2528 "objc-parse.y"
{ {
if (yyvsp[-2].code == LT_EXPR && yyvsp[0].code == GT_EXPR) if (yyvsp[-2].code == LT_EXPR && yyvsp[0].code == GT_EXPR)
yyval.ttype = yyvsp[-1].ttype; yyval.ttype = yyvsp[-1].ttype;
...@@ -4622,54 +4622,54 @@ case 452: ...@@ -4622,54 +4622,54 @@ case 452:
; ;
break;} break;}
case 455: case 455:
#line 2541 "objc-parse.y" #line 2542 "objc-parse.y"
{ objc_public_flag = 2; ; { objc_public_flag = 2; ;
break;} break;}
case 456: case 456:
#line 2542 "objc-parse.y" #line 2543 "objc-parse.y"
{ objc_public_flag = 0; ; { objc_public_flag = 0; ;
break;} break;}
case 457: case 457:
#line 2543 "objc-parse.y" #line 2544 "objc-parse.y"
{ objc_public_flag = 1; ; { objc_public_flag = 1; ;
break;} break;}
case 458: case 458:
#line 2548 "objc-parse.y" #line 2549 "objc-parse.y"
{ {
yyval.ttype = NULL_TREE; yyval.ttype = NULL_TREE;
; ;
break;} break;}
case 460: case 460:
#line 2553 "objc-parse.y" #line 2554 "objc-parse.y"
{ {
if (pedantic) if (pedantic)
pedwarn ("extra semicolon in struct or union specified"); pedwarn ("extra semicolon in struct or union specified");
; ;
break;} break;}
case 461: case 461:
#line 2571 "objc-parse.y" #line 2572 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; { yyval.ttype = yyvsp[0].ttype;
current_declspecs = TREE_VALUE (declspec_stack); current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 462: case 462:
#line 2576 "objc-parse.y" #line 2577 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; { yyval.ttype = yyvsp[0].ttype;
current_declspecs = TREE_VALUE (declspec_stack); current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 463: case 463:
#line 2581 "objc-parse.y" #line 2582 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 464: case 464:
#line 2586 "objc-parse.y" #line 2587 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ; { yyval.ttype = NULL_TREE; ;
break;} break;}
case 467: case 467:
#line 2593 "objc-parse.y" #line 2594 "objc-parse.y"
{ {
yyval.ttype = add_instance_variable (objc_ivar_context, yyval.ttype = add_instance_variable (objc_ivar_context,
objc_public_flag, objc_public_flag,
...@@ -4678,7 +4678,7 @@ case 467: ...@@ -4678,7 +4678,7 @@ case 467:
; ;
break;} break;}
case 468: case 468:
#line 2600 "objc-parse.y" #line 2601 "objc-parse.y"
{ {
yyval.ttype = add_instance_variable (objc_ivar_context, yyval.ttype = add_instance_variable (objc_ivar_context,
objc_public_flag, objc_public_flag,
...@@ -4686,7 +4686,7 @@ case 468: ...@@ -4686,7 +4686,7 @@ case 468:
; ;
break;} break;}
case 469: case 469:
#line 2606 "objc-parse.y" #line 2607 "objc-parse.y"
{ {
yyval.ttype = add_instance_variable (objc_ivar_context, yyval.ttype = add_instance_variable (objc_ivar_context,
objc_public_flag, objc_public_flag,
...@@ -4695,7 +4695,7 @@ case 469: ...@@ -4695,7 +4695,7 @@ case 469:
; ;
break;} break;}
case 470: case 470:
#line 2616 "objc-parse.y" #line 2617 "objc-parse.y"
{ {
remember_protocol_qualifiers (); remember_protocol_qualifiers ();
if (objc_implementation_context) if (objc_implementation_context)
...@@ -4705,7 +4705,7 @@ case 470: ...@@ -4705,7 +4705,7 @@ case 470:
; ;
break;} break;}
case 471: case 471:
#line 2624 "objc-parse.y" #line 2625 "objc-parse.y"
{ {
forget_protocol_qualifiers (); forget_protocol_qualifiers ();
add_class_method (objc_implementation_context, yyvsp[0].ttype); add_class_method (objc_implementation_context, yyvsp[0].ttype);
...@@ -4714,20 +4714,20 @@ case 471: ...@@ -4714,20 +4714,20 @@ case 471:
; ;
break;} break;}
case 472: case 472:
#line 2631 "objc-parse.y" #line 2632 "objc-parse.y"
{ {
continue_method_def (); continue_method_def ();
; ;
break;} break;}
case 473: case 473:
#line 2635 "objc-parse.y" #line 2636 "objc-parse.y"
{ {
finish_method_def (); finish_method_def ();
objc_method_context = NULL_TREE; objc_method_context = NULL_TREE;
; ;
break;} break;}
case 474: case 474:
#line 2641 "objc-parse.y" #line 2642 "objc-parse.y"
{ {
remember_protocol_qualifiers (); remember_protocol_qualifiers ();
if (objc_implementation_context) if (objc_implementation_context)
...@@ -4737,7 +4737,7 @@ case 474: ...@@ -4737,7 +4737,7 @@ case 474:
; ;
break;} break;}
case 475: case 475:
#line 2649 "objc-parse.y" #line 2650 "objc-parse.y"
{ {
forget_protocol_qualifiers (); forget_protocol_qualifiers ();
add_instance_method (objc_implementation_context, yyvsp[0].ttype); add_instance_method (objc_implementation_context, yyvsp[0].ttype);
...@@ -4746,28 +4746,28 @@ case 475: ...@@ -4746,28 +4746,28 @@ case 475:
; ;
break;} break;}
case 476: case 476:
#line 2656 "objc-parse.y" #line 2657 "objc-parse.y"
{ {
continue_method_def (); continue_method_def ();
; ;
break;} break;}
case 477: case 477:
#line 2660 "objc-parse.y" #line 2661 "objc-parse.y"
{ {
finish_method_def (); finish_method_def ();
objc_method_context = NULL_TREE; objc_method_context = NULL_TREE;
; ;
break;} break;}
case 479: case 479:
#line 2672 "objc-parse.y" #line 2673 "objc-parse.y"
{yyval.ttype = NULL_TREE; ; {yyval.ttype = NULL_TREE; ;
break;} break;}
case 484: case 484:
#line 2679 "objc-parse.y" #line 2680 "objc-parse.y"
{yyval.ttype = NULL_TREE; ; {yyval.ttype = NULL_TREE; ;
break;} break;}
case 488: case 488:
#line 2689 "objc-parse.y" #line 2690 "objc-parse.y"
{ {
/* Remember protocol qualifiers in prototypes. */ /* Remember protocol qualifiers in prototypes. */
remember_protocol_qualifiers (); remember_protocol_qualifiers ();
...@@ -4775,7 +4775,7 @@ case 488: ...@@ -4775,7 +4775,7 @@ case 488:
; ;
break;} break;}
case 489: case 489:
#line 2695 "objc-parse.y" #line 2696 "objc-parse.y"
{ {
/* Forget protocol qualifiers here. */ /* Forget protocol qualifiers here. */
forget_protocol_qualifiers (); forget_protocol_qualifiers ();
...@@ -4783,7 +4783,7 @@ case 489: ...@@ -4783,7 +4783,7 @@ case 489:
; ;
break;} break;}
case 491: case 491:
#line 2703 "objc-parse.y" #line 2704 "objc-parse.y"
{ {
/* Remember protocol qualifiers in prototypes. */ /* Remember protocol qualifiers in prototypes. */
remember_protocol_qualifiers (); remember_protocol_qualifiers ();
...@@ -4791,7 +4791,7 @@ case 491: ...@@ -4791,7 +4791,7 @@ case 491:
; ;
break;} break;}
case 492: case 492:
#line 2709 "objc-parse.y" #line 2710 "objc-parse.y"
{ {
/* Forget protocol qualifiers here. */ /* Forget protocol qualifiers here. */
forget_protocol_qualifiers (); forget_protocol_qualifiers ();
...@@ -4799,93 +4799,93 @@ case 492: ...@@ -4799,93 +4799,93 @@ case 492:
; ;
break;} break;}
case 494: 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); yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE);
; ;
break;} break;}
case 495: 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); yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[0].ttype, NULL_TREE);
; ;
break;} break;}
case 496: 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); yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
; ;
break;} break;}
case 497: 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); yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype);
; ;
break;} break;}
case 506: case 506:
#line 2764 "objc-parse.y" #line 2765 "objc-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack); { current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack); ; declspec_stack = TREE_CHAIN (declspec_stack); ;
break;} break;}
case 507: case 507:
#line 2768 "objc-parse.y" #line 2769 "objc-parse.y"
{ shadow_tag (yyvsp[-1].ttype); ; { shadow_tag (yyvsp[-1].ttype); ;
break;} break;}
case 508: case 508:
#line 2770 "objc-parse.y" #line 2771 "objc-parse.y"
{ pedwarn ("empty declaration"); ; { pedwarn ("empty declaration"); ;
break;} break;}
case 509: case 509:
#line 2775 "objc-parse.y" #line 2776 "objc-parse.y"
{ push_parm_decl (yyvsp[0].ttype); ; { push_parm_decl (yyvsp[0].ttype); ;
break;} break;}
case 510: case 510:
#line 2777 "objc-parse.y" #line 2778 "objc-parse.y"
{ push_parm_decl (yyvsp[0].ttype); ; { push_parm_decl (yyvsp[0].ttype); ;
break;} break;}
case 511: case 511:
#line 2785 "objc-parse.y" #line 2786 "objc-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs, { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype), yyvsp[-1].ttype),
build_tree_list (prefix_attributes, build_tree_list (prefix_attributes,
yyvsp[0].ttype)); ; yyvsp[0].ttype)); ;
break;} break;}
case 512: case 512:
#line 2790 "objc-parse.y" #line 2791 "objc-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs, { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype), yyvsp[-1].ttype),
build_tree_list (prefix_attributes, build_tree_list (prefix_attributes,
yyvsp[0].ttype)); ; yyvsp[0].ttype)); ;
break;} break;}
case 513: case 513:
#line 2795 "objc-parse.y" #line 2796 "objc-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs, { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype), yyvsp[-1].ttype),
build_tree_list (prefix_attributes, build_tree_list (prefix_attributes,
yyvsp[0].ttype)); ; yyvsp[0].ttype)); ;
break;} break;}
case 514: case 514:
#line 2803 "objc-parse.y" #line 2804 "objc-parse.y"
{ {
yyval.ttype = NULL_TREE; yyval.ttype = NULL_TREE;
; ;
break;} break;}
case 515: case 515:
#line 2807 "objc-parse.y" #line 2808 "objc-parse.y"
{ {
/* oh what a kludge! */ /* oh what a kludge! */
yyval.ttype = (tree)1; yyval.ttype = (tree)1;
; ;
break;} break;}
case 516: case 516:
#line 2812 "objc-parse.y" #line 2813 "objc-parse.y"
{ {
pushlevel (0); pushlevel (0);
; ;
break;} break;}
case 517: case 517:
#line 2816 "objc-parse.y" #line 2817 "objc-parse.y"
{ {
/* returns a tree list node generated by get_parm_info */ /* returns a tree list node generated by get_parm_info */
yyval.ttype = yyvsp[0].ttype; yyval.ttype = yyvsp[0].ttype;
...@@ -4893,119 +4893,119 @@ case 517: ...@@ -4893,119 +4893,119 @@ case 517:
; ;
break;} break;}
case 520: case 520:
#line 2831 "objc-parse.y" #line 2832 "objc-parse.y"
{ {
yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
; ;
break;} break;}
case 525: case 525:
#line 2844 "objc-parse.y" #line 2845 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ; { yyval.ttype = get_identifier (token_buffer); ;
break;} break;}
case 526: case 526:
#line 2845 "objc-parse.y" #line 2846 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ; { yyval.ttype = get_identifier (token_buffer); ;
break;} break;}
case 527: case 527:
#line 2846 "objc-parse.y" #line 2847 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ; { yyval.ttype = get_identifier (token_buffer); ;
break;} break;}
case 528: case 528:
#line 2847 "objc-parse.y" #line 2848 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ; { yyval.ttype = get_identifier (token_buffer); ;
break;} break;}
case 529: case 529:
#line 2848 "objc-parse.y" #line 2849 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ; { yyval.ttype = get_identifier (token_buffer); ;
break;} break;}
case 530: case 530:
#line 2849 "objc-parse.y" #line 2850 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ; { yyval.ttype = get_identifier (token_buffer); ;
break;} break;}
case 531: case 531:
#line 2850 "objc-parse.y" #line 2851 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ; { yyval.ttype = get_identifier (token_buffer); ;
break;} break;}
case 532: case 532:
#line 2851 "objc-parse.y" #line 2852 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ; { yyval.ttype = get_identifier (token_buffer); ;
break;} break;}
case 533: case 533:
#line 2852 "objc-parse.y" #line 2853 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ; { yyval.ttype = get_identifier (token_buffer); ;
break;} break;}
case 534: case 534:
#line 2853 "objc-parse.y" #line 2854 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ; { yyval.ttype = get_identifier (token_buffer); ;
break;} break;}
case 535: case 535:
#line 2854 "objc-parse.y" #line 2855 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ; { yyval.ttype = get_identifier (token_buffer); ;
break;} break;}
case 536: case 536:
#line 2855 "objc-parse.y" #line 2856 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ; { yyval.ttype = get_identifier (token_buffer); ;
break;} break;}
case 537: case 537:
#line 2856 "objc-parse.y" #line 2857 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ; { yyval.ttype = get_identifier (token_buffer); ;
break;} break;}
case 538: case 538:
#line 2857 "objc-parse.y" #line 2858 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ; { yyval.ttype = get_identifier (token_buffer); ;
break;} break;}
case 539: case 539:
#line 2858 "objc-parse.y" #line 2859 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ; { yyval.ttype = get_identifier (token_buffer); ;
break;} break;}
case 540: case 540:
#line 2859 "objc-parse.y" #line 2860 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ; { yyval.ttype = get_identifier (token_buffer); ;
break;} break;}
case 541: case 541:
#line 2860 "objc-parse.y" #line 2861 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ; { yyval.ttype = get_identifier (token_buffer); ;
break;} break;}
case 542: case 542:
#line 2861 "objc-parse.y" #line 2862 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ; { yyval.ttype = get_identifier (token_buffer); ;
break;} break;}
case 543: case 543:
#line 2862 "objc-parse.y" #line 2863 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ; { yyval.ttype = get_identifier (token_buffer); ;
break;} break;}
case 546: 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); yyval.ttype = build_keyword_decl (yyvsp[-5].ttype, yyvsp[-2].ttype, yyvsp[0].ttype);
; ;
break;} break;}
case 547: 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); yyval.ttype = build_keyword_decl (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
; ;
break;} break;}
case 548: 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); yyval.ttype = build_keyword_decl (NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype);
; ;
break;} break;}
case 549: case 549:
#line 2883 "objc-parse.y" #line 2884 "objc-parse.y"
{ {
yyval.ttype = build_keyword_decl (NULL_TREE, NULL_TREE, yyvsp[0].ttype); yyval.ttype = build_keyword_decl (NULL_TREE, NULL_TREE, yyvsp[0].ttype);
; ;
break;} break;}
case 553: case 553:
#line 2896 "objc-parse.y" #line 2897 "objc-parse.y"
{ {
yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
; ;
break;} break;}
case 554: case 554:
#line 2904 "objc-parse.y" #line 2905 "objc-parse.y"
{ {
if (TREE_CHAIN (yyvsp[0].ttype) == NULL_TREE) if (TREE_CHAIN (yyvsp[0].ttype) == NULL_TREE)
/* just return the expr., remove a level of indirection */ /* just return the expr., remove a level of indirection */
...@@ -5016,76 +5016,76 @@ case 554: ...@@ -5016,76 +5016,76 @@ case 554:
; ;
break;} break;}
case 555: case 555:
#line 2916 "objc-parse.y" #line 2917 "objc-parse.y"
{ {
yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype);
; ;
break;} break;}
case 556: case 556:
#line 2920 "objc-parse.y" #line 2921 "objc-parse.y"
{ {
yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype);
; ;
break;} break;}
case 558: case 558:
#line 2928 "objc-parse.y" #line 2929 "objc-parse.y"
{ {
yyval.ttype = get_class_reference (yyvsp[0].ttype); yyval.ttype = get_class_reference (yyvsp[0].ttype);
; ;
break;} break;}
case 559: case 559:
#line 2935 "objc-parse.y" #line 2936 "objc-parse.y"
{ objc_receiver_context = 1; ; { objc_receiver_context = 1; ;
break;} break;}
case 560: case 560:
#line 2937 "objc-parse.y" #line 2938 "objc-parse.y"
{ objc_receiver_context = 0; ; { objc_receiver_context = 0; ;
break;} break;}
case 561: case 561:
#line 2939 "objc-parse.y" #line 2940 "objc-parse.y"
{ {
yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype);
; ;
break;} break;}
case 565: case 565:
#line 2952 "objc-parse.y" #line 2953 "objc-parse.y"
{ {
yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
; ;
break;} break;}
case 566: case 566:
#line 2959 "objc-parse.y" #line 2960 "objc-parse.y"
{ {
yyval.ttype = build_tree_list (yyvsp[-1].ttype, NULL_TREE); yyval.ttype = build_tree_list (yyvsp[-1].ttype, NULL_TREE);
; ;
break;} break;}
case 567: case 567:
#line 2963 "objc-parse.y" #line 2964 "objc-parse.y"
{ {
yyval.ttype = build_tree_list (NULL_TREE, NULL_TREE); yyval.ttype = build_tree_list (NULL_TREE, NULL_TREE);
; ;
break;} break;}
case 568: case 568:
#line 2970 "objc-parse.y" #line 2971 "objc-parse.y"
{ {
yyval.ttype = yyvsp[-1].ttype; yyval.ttype = yyvsp[-1].ttype;
; ;
break;} break;}
case 569: case 569:
#line 2977 "objc-parse.y" #line 2978 "objc-parse.y"
{ {
yyval.ttype = yyvsp[-1].ttype; yyval.ttype = yyvsp[-1].ttype;
; ;
break;} break;}
case 570: case 570:
#line 2986 "objc-parse.y" #line 2987 "objc-parse.y"
{ {
yyval.ttype = groktypename (yyvsp[-1].ttype); yyval.ttype = groktypename (yyvsp[-1].ttype);
; ;
break;} break;}
} }
/* the action file gets copied in in place of this dollarsign */ /* the action file gets copied in in place of this dollarsign */
#line 543 "/usr/share/misc/bison.simple" #line 543 "/usr/lib/bison.simple"
yyvsp -= yylen; yyvsp -= yylen;
yyssp -= yylen; yyssp -= yylen;
...@@ -5305,5 +5305,5 @@ yyerrhandle: ...@@ -5305,5 +5305,5 @@ yyerrhandle:
} }
return 1; return 1;
} }
#line 2991 "objc-parse.y" #line 2992 "objc-parse.y"
/*WARNING: This file is automatically generated!*/ /*WARNING: This file is automatically generated!*/
/* YACC parser for C syntax and for Objective C. -*-c-*- /* YACC parser for C syntax and for Objective C. -*-c-*-
Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996,
1999, 2000 Free Software Foundation, Inc. 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GNU CC.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment