#define YYBISON 1
#define IDENTIFIER 257
#define TYPENAME 258
#define SCSPEC 259
#define TYPESPEC 260
#define TYPE_QUAL 261
#define CONSTANT 262
#define STRING 263
#define ELLIPSIS 264
#define SIZEOF 265
#define ENUM 266
#define STRUCT 267
#define UNION 268
#define IF 269
#define ELSE 270
#define WHILE 271
#define DO 272
#define FOR 273
#define SWITCH 274
#define CASE 275
#define DEFAULT 276
#define BREAK 277
#define CONTINUE 278
#define RETURN 279
#define GOTO 280
#define ASM_KEYWORD 281
#define TYPEOF 282
#define ALIGNOF 283
#define ATTRIBUTE 284
#define EXTENSION 285
#define LABEL 286
#define REALPART 287
#define IMAGPART 288
#define VEC_STEP 289
#define ASSIGN 290
#define OROR 291
#define ANDAND 292
#define EQCOMPARE 293
#define ARITHCOMPARE 294
#define LSHIFT 295
#define RSHIFT 296
#define UNARY 297
#define PLUSPLUS 298
#define MINUSMINUS 299
#define HYPERUNARY 300
#define POINTSAT 301
#define INTERFACE 302
#define IMPLEMENTATION 303
#define END 304
#define SELECTOR 305
#define DEFS 306
#define ENCODE 307
#define CLASSNAME 308
#define PUBLIC 309
#define PRIVATE 310
#define PROTECTED 311
#define PROTOCOL 312
#define OBJECTNAME 313
#define CLASS 314
#define ALIAS 315
#define OBJC_STRING 316
#line 56 "c-parse.y"
#include "config.h"
#include "system.h"
#include <setjmp.h>
#include "tree.h"
#include "input.h"
#include "c-lex.h"
#include "c-tree.h"
#include "flags.h"
#include "output.h"
#include "toplev.h"
#ifdef MULTIBYTE_CHARS
#include <locale.h>
#endif
char *language_string = "GNU C";
static tree last_compound_expr, last_compound_list;
#ifndef errno
extern int errno;
#endif
void yyerror ();
#define YYERROR1 { yyerror ("syntax error"); YYERROR; }
#define YYDEBUG 1
#line 95 "c-parse.y"
typedef union {long itype; tree ttype; enum tree_code code;
char *filename; int lineno; int ends_in_label; } YYSTYPE;
#line 215 "c-parse.y"
static int stmt_count;
static int compstmt_count;
static char *if_stmt_file;
static int if_stmt_line;
static tree current_declspecs = NULL_TREE;
static tree prefix_attributes = NULL_TREE;
static tree declspec_stack;
static int undeclared_variable_notice;
#define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
extern void yyprint PROTO ((FILE *, int, YYSTYPE));
#include <stdio.h>
#ifndef __cplusplus
#ifndef __STDC__
#define const
#endif
#endif
#define YYFINAL 705
#define YYFLAG -32768
#define YYNTBASE 85
#define YYTRANSLATE(x) ((unsigned)(x) <= 316 ? yytranslate[x] : 245)
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, 81, 2, 2, 2, 53, 44, 2, 60,
77, 51, 49, 82, 50, 59, 52, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 39, 78, 2,
37, 2, 38, 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,
61, 2, 84, 43, 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, 83, 42, 79, 80, 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, 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, 3, 4, 5, 6,
7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
40, 41, 45, 46, 47, 48, 54, 55, 56, 57,
58, 62, 63, 64, 65, 66, 67, 68, 69, 70,
71, 72, 73, 74, 75, 76
};
#if YYDEBUG != 0
static const short yyprhs[] = { 0,
0, 1, 3, 4, 7, 8, 12, 14, 16, 22,
25, 29, 34, 39, 42, 45, 48, 51, 53, 54,
55, 63, 68, 69, 70, 78, 83, 84, 85, 92,
96, 98, 100, 102, 104, 106, 108, 110, 112, 114,
116, 117, 119, 121, 125, 127, 130, 133, 136, 139,
142, 147, 150, 155, 158, 163, 166, 169, 171, 173,
175, 177, 182, 183, 191, 193, 197, 201, 205, 209,
213, 217, 221, 225, 229, 233, 237, 241, 242, 247,
248, 253, 254, 255, 263, 264, 270, 274, 278, 280,
282, 284, 288, 292, 293, 298, 303, 308, 312, 316,
319, 322, 324, 327, 328, 330, 333, 337, 339, 341,
344, 347, 352, 357, 360, 363, 367, 369, 371, 374,
377, 378, 379, 384, 389, 393, 397, 400, 403, 406,
409, 413, 414, 417, 420, 423, 426, 430, 431, 434,
437, 439, 441, 444, 447, 449, 451, 454, 457, 460,
464, 465, 468, 470, 472, 474, 479, 484, 486, 488,
490, 492, 496, 498, 502, 503, 508, 509, 516, 520,
521, 528, 532, 533, 535, 537, 540, 547, 549, 553,
554, 556, 561, 568, 573, 575, 577, 579, 581, 583,
584, 589, 591, 592, 595, 597, 601, 605, 608, 609,
614, 616, 617, 622, 624, 626, 628, 631, 634, 640,
644, 645, 650, 651, 657, 658, 659, 665, 666, 667,
673, 675, 677, 681, 685, 690, 694, 698, 702, 704,
708, 713, 718, 722, 726, 730, 732, 736, 740, 744,
749, 754, 758, 762, 764, 766, 769, 771, 774, 776,
779, 780, 788, 794, 797, 798, 806, 812, 815, 816,
825, 826, 834, 837, 838, 840, 841, 843, 845, 848,
849, 853, 856, 860, 862, 866, 868, 870, 873, 875,
879, 884, 891, 897, 899, 903, 905, 907, 911, 914,
917, 918, 920, 922, 925, 926, 929, 933, 937, 940,
944, 949, 953, 956, 960, 963, 967, 969, 971, 974,
977, 978, 980, 983, 984, 985, 987, 989, 992, 996,
998, 1001, 1003, 1006, 1013, 1019, 1025, 1028, 1031, 1036,
1037, 1042, 1043, 1044, 1048, 1053, 1057, 1059, 1061, 1063,
1065, 1068, 1069, 1074, 1076, 1080, 1081, 1082, 1090, 1096,
1099, 1100, 1101, 1102, 1115, 1116, 1123, 1126, 1129, 1132,
1136, 1143, 1152, 1163, 1176, 1180, 1185, 1187, 1189, 1190,
1197, 1201, 1207, 1210, 1214, 1215, 1217, 1218, 1220, 1221,
1223, 1225, 1229, 1234, 1236, 1240, 1241, 1244, 1247, 1248,
1253, 1256, 1257, 1259, 1261, 1265, 1267, 1271, 1276, 1281,
1286, 1291, 1296, 1297, 1300, 1302, 1305, 1307, 1311, 1313,
1317
};
static const short yyrhs[] = { -1,
86, 0, 0, 87, 89, 0, 0, 86, 88, 89,
0, 91, 0, 90, 0, 27, 60, 100, 77, 78,
0, 244, 89, 0, 124, 138, 78, 0, 131, 124,
138, 78, 0, 127, 124, 137, 78, 0, 131, 78,
0, 127, 78, 0, 1, 78, 0, 1, 79, 0,
78, 0, 0, 0, 127, 124, 168, 92, 118, 93,
202, 0, 127, 124, 168, 1, 0, 0, 0, 131,
124, 171, 94, 118, 95, 202, 0, 131, 124, 171,
1, 0, 0, 0, 124, 171, 96, 118, 97, 202,
0, 124, 171, 1, 0, 3, 0, 4, 0, 44,
0, 50, 0, 49, 0, 55, 0, 56, 0, 80,
0, 81, 0, 102, 0, 0, 102, 0, 109, 0,
102, 82, 109, 0, 115, 0, 51, 107, 0, 244,
107, 0, 99, 107, 0, 41, 98, 0, 104, 103,
0, 104, 60, 189, 77, 0, 105, 103, 0, 105,
60, 189, 77, 0, 106, 103, 0, 106, 60, 189,
77, 0, 33, 107, 0, 34, 107, 0, 11, 0,
29, 0, 35, 0, 103, 0, 60, 189, 77, 107,
0, 0, 60, 189, 77, 83, 108, 152, 79, 0,
107, 0, 109, 49, 109, 0, 109, 50, 109, 0,
109, 51, 109, 0, 109, 52, 109, 0, 109, 53,
109, 0, 109, 47, 109, 0, 109, 48, 109, 0,
109, 46, 109, 0, 109, 45, 109, 0, 109, 44,
109, 0, 109, 42, 109, 0, 109, 43, 109, 0,
0, 109, 41, 110, 109, 0, 0, 109, 40, 111,
109, 0, 0, 0, 109, 38, 112, 100, 39, 113,
109, 0, 0, 109, 38, 114, 39, 109, 0, 109,
37, 109, 0, 109, 36, 109, 0, 3, 0, 8,
0, 117, 0, 60, 100, 77, 0, 60, 1, 77,
0, 0, 60, 116, 204, 77, 0, 115, 60, 101,
77, 0, 115, 61, 100, 84, 0, 115, 59, 98,
0, 115, 58, 98, 0, 115, 55, 0, 115, 56,
0, 9, 0, 117, 9, 0, 0, 120, 0, 120,
10, 0, 209, 210, 121, 0, 119, 0, 197, 0,
120, 119, 0, 119, 197, 0, 129, 124, 137, 78,
0, 132, 124, 138, 78, 0, 129, 78, 0, 132,
78, 0, 209, 210, 126, 0, 122, 0, 197, 0,
123, 122, 0, 122, 197, 0, 0, 0, 127, 124,
137, 78, 0, 131, 124, 138, 78, 0, 127, 124,
162, 0, 131, 124, 165, 0, 127, 78, 0, 131,
78, 0, 244, 126, 0, 135, 128, 0, 131, 135,
128, 0, 0, 128, 136, 0, 128, 5, 0, 128,
145, 0, 135, 130, 0, 132, 135, 130, 0, 0,
130, 136, 0, 130, 5, 0, 132, 0, 145, 0,
131, 132, 0, 131, 145, 0, 7, 0, 5, 0,
132, 7, 0, 132, 5, 0, 135, 134, 0, 191,
135, 134, 0, 0, 134, 136, 0, 6, 0, 175,
0, 4, 0, 28, 60, 100, 77, 0, 28, 60,
189, 77, 0, 6, 0, 7, 0, 175, 0, 140,
0, 137, 82, 140, 0, 142, 0, 138, 82, 140,
0, 0, 27, 60, 117, 77, 0, 0, 168, 139,
144, 37, 141, 150, 0, 168, 139, 144, 0, 0,
171, 139, 144, 37, 143, 150, 0, 171, 139, 144,
0, 0, 145, 0, 146, 0, 145, 146, 0, 30,
60, 60, 147, 77, 77, 0, 148, 0, 147, 82,
148, 0, 0, 149, 0, 149, 60, 3, 77, 0,
149, 60, 3, 82, 102, 77, 0, 149, 60, 101,
77, 0, 98, 0, 5, 0, 6, 0, 7, 0,
109, 0, 0, 83, 151, 152, 79, 0, 1, 0,
0, 153, 180, 0, 154, 0, 153, 82, 154, 0,
158, 37, 156, 0, 159, 156, 0, 0, 98, 39,
155, 156, 0, 156, 0, 0, 83, 157, 152, 79,
0, 109, 0, 1, 0, 159, 0, 158, 159, 0,
59, 98, 0, 61, 109, 10, 109, 84, 0, 61,
109, 84, 0, 0, 98, 39, 160, 154, 0, 0,
59, 98, 37, 161, 154, 0, 0, 0, 168, 163,
118, 164, 204, 0, 0, 0, 171, 166, 118, 167,
204, 0, 169, 0, 171, 0, 60, 169, 77, 0,
169, 60, 239, 0, 169, 61, 100, 84, 0, 169,
61, 84, 0, 51, 192, 169, 0, 145, 125, 169,
0, 4, 0, 170, 60, 239, 0, 170, 61, 51,
84, 0, 170, 61, 100, 84, 0, 170, 61, 84,
0, 51, 192, 170, 0, 145, 125, 170, 0, 4,
0, 171, 60, 239, 0, 60, 171, 77, 0, 51,
192, 171, 0, 171, 61, 51, 84, 0, 171, 61,
100, 84, 0, 171, 61, 84, 0, 145, 125, 171,
0, 3, 0, 13, 0, 13, 145, 0, 14, 0,
14, 145, 0, 12, 0, 12, 145, 0, 0, 172,
98, 83, 176, 182, 79, 144, 0, 172, 83, 182,
79, 144, 0, 172, 98, 0, 0, 173, 98, 83,
177, 182, 79, 144, 0, 173, 83, 182, 79, 144,
0, 173, 98, 0, 0, 174, 98, 83, 178, 187,
181, 79, 144, 0, 0, 174, 83, 179, 187, 181,
79, 144, 0, 174, 98, 0, 0, 82, 0, 0,
82, 0, 183, 0, 183, 184, 0, 0, 183, 184,
78, 0, 183, 78, 0, 133, 124, 185, 0, 133,
0, 191, 124, 185, 0, 191, 0, 1, 0, 244,
184, 0, 186, 0, 185, 82, 186, 0, 209, 210,
168, 144, 0, 209, 210, 168, 39, 109, 144, 0,
209, 210, 39, 109, 144, 0, 188, 0, 187, 82,
188, 0, 1, 0, 98, 0, 98, 37, 109, 0,
133, 190, 0, 191, 190, 0, 0, 193, 0, 7,
0, 191, 7, 0, 0, 192, 7, 0, 60, 193,
77, 0, 51, 192, 193, 0, 51, 192, 0, 193,
60, 232, 0, 193, 61, 100, 84, 0, 193, 61,
84, 0, 60, 232, 0, 61, 100, 84, 0, 61,
84, 0, 145, 125, 193, 0, 195, 0, 212, 0,
195, 212, 0, 195, 197, 0, 0, 194, 0, 1,
78, 0, 0, 0, 200, 0, 201, 0, 200, 201,
0, 32, 243, 78, 0, 204, 0, 1, 204, 0,
83, 0, 203, 79, 0, 203, 198, 199, 123, 196,
79, 0, 203, 198, 199, 1, 79, 0, 203, 198,
199, 194, 79, 0, 206, 211, 0, 206, 1, 0,
15, 60, 100, 77, 0, 0, 18, 208, 211, 17,
0, 0, 0, 209, 210, 214, 0, 209, 210, 225,
211, 0, 209, 210, 213, 0, 214, 0, 225, 0,
204, 0, 222, 0, 100, 78, 0, 0, 205, 16,
215, 211, 0, 205, 0, 205, 16, 1, 0, 0,
0, 17, 216, 60, 100, 77, 217, 211, 0, 207,
60, 100, 77, 78, 0, 207, 1, 0, 0, 0,
0, 19, 60, 227, 78, 218, 227, 78, 219, 227,
77, 220, 211, 0, 0, 20, 60, 100, 77, 221,
211, 0, 23, 78, 0, 24, 78, 0, 25, 78,
0, 25, 100, 78, 0, 27, 226, 60, 100, 77,
78, 0, 27, 226, 60, 100, 39, 228, 77, 78,
0, 27, 226, 60, 100, 39, 228, 39, 228, 77,
78, 0, 27, 226, 60, 100, 39, 228, 39, 228,
39, 231, 77, 78, 0, 26, 98, 78, 0, 26,
51, 100, 78, 0, 78, 0, 223, 0, 0, 19,
60, 115, 77, 224, 211, 0, 21, 109, 39, 0,
21, 109, 10, 109, 39, 0, 22, 39, 0, 98,
39, 144, 0, 0, 7, 0, 0, 100, 0, 0,
229, 0, 230, 0, 229, 82, 230, 0, 9, 60,
100, 77, 0, 117, 0, 231, 82, 117, 0, 0,
233, 234, 0, 236, 77, 0, 0, 237, 78, 235,
234, 0, 1, 77, 0, 0, 10, 0, 237, 0,
237, 82, 10, 0, 238, 0, 237, 82, 238, 0,
127, 124, 170, 144, 0, 127, 124, 171, 144, 0,
127, 124, 190, 144, 0, 131, 124, 171, 144, 0,
131, 124, 190, 144, 0, 0, 240, 241, 0, 234,
0, 242, 77, 0, 3, 0, 242, 82, 3, 0,
98, 0, 243, 82, 98, 0, 31, 0
};
#endif
#if YYDEBUG != 0
static const short yyrline[] = { 0,
244, 249, 263, 265, 265, 266, 268, 270, 271, 279,
284, 295, 300, 305, 307, 309, 310, 311, 316, 326,
330, 341, 346, 358, 360, 370, 375, 387, 389, 399,
406, 408, 411, 413, 415, 417, 419, 421, 423, 427,
432, 435, 438, 441, 445, 447, 450, 453, 457, 485,
491, 494, 497, 500, 503, 506, 508, 512, 516, 520,
524, 526, 549, 553, 580, 582, 584, 586, 588, 590,
592, 594, 596, 598, 600, 602, 604, 606, 610, 612,
616, 618, 621, 625, 627, 634, 637, 645, 656, 755,
756, 758, 764, 766, 780, 803, 807, 809, 813, 819,
821, 826, 828, 833, 835, 836, 846, 851, 853, 854,
855, 862, 868, 873, 876, 884, 889, 891, 892, 893,
900, 911, 915, 921, 926, 931, 936, 938, 940, 949,
952, 956, 958, 960, 965, 969, 972, 976, 979, 981,
993, 996, 998, 1000, 1004, 1008, 1010, 1013, 1026, 1029,
1033, 1035, 1043, 1046, 1047, 1051, 1053, 1059, 1060, 1061,
1064, 1066, 1069, 1071, 1074, 1077, 1083, 1090, 1092, 1100,
1107, 1110, 1117, 1120, 1124, 1127, 1131, 1136, 1139, 1143,
1146, 1148, 1150, 1152, 1159, 1161, 1162, 1163, 1168, 1170,
1175, 1183, 1188, 1192, 1195, 1197, 1202, 1204, 1205, 1208,
1208, 1211, 1214, 1216, 1218, 1221, 1223, 1226, 1232, 1234,
1236, 1239, 1239, 1242, 1244, 1261, 1269, 1278, 1295, 1303,
1315, 1317, 1322, 1325, 1330, 1332, 1334, 1341, 1343, 1351,
1357, 1362, 1364, 1366, 1373, 1375, 1381, 1387, 1389, 1391,
1396, 1398, 1405, 1407, 1410, 1413, 1417, 1420, 1424, 1427,
1431, 1436, 1438, 1442, 1444, 1446, 1448, 1452, 1454, 1457,
1460, 1463, 1466, 1470, 1472, 1475, 1477, 1482, 1485, 1490,
1492, 1494, 1508, 1515, 1520, 1526, 1531, 1533, 1538, 1540,
1544, 1548, 1552, 1562, 1564, 1569, 1574, 1577, 1581, 1584,
1588, 1591, 1594, 1597, 1601, 1604, 1608, 1612, 1614, 1616,
1618, 1620, 1622, 1624, 1626, 1630, 1638, 1646, 1648, 1650,
1654, 1656, 1659, 1662, 1673, 1675, 1680, 1682, 1685, 1699,
1702, 1705, 1707, 1709, 1717, 1725, 1736, 1741, 1744, 1758,
1767, 1771, 1775, 1779, 1785, 1789, 1794, 1797, 1802, 1805,
1806, 1823, 1828, 1831, 1843, 1845, 1855, 1865, 1866, 1874,
1877, 1889, 1893, 1910, 1920, 1929, 1934, 1939, 1944, 1948,
1952, 1963, 1970, 1977, 1984, 1995, 2001, 2004, 2009, 2032,
2066, 2097, 2128, 2143, 2157, 2161, 2165, 2168, 2173, 2175,
2178, 2180, 2184, 2189, 2192, 2198, 2203, 2208, 2210, 2219,
2220, 2226, 2228, 2238, 2240, 2244, 2247, 2253, 2263, 2272,
2281, 2291, 2305, 2310, 2315, 2317, 2326, 2329, 2334, 2337,
2341
};
#endif
#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
"TYPENAME","SCSPEC","TYPESPEC","TYPE_QUAL","CONSTANT","STRING","ELLIPSIS","SIZEOF",
"ENUM","STRUCT","UNION","IF","ELSE","WHILE","DO","FOR","SWITCH","CASE","DEFAULT",
"BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF","ATTRIBUTE",
"EXTENSION","LABEL","REALPART","IMAGPART","VEC_STEP","ASSIGN","'='","'?'","':'",
"OROR","ANDAND","'|'","'^'","'&'","EQCOMPARE","ARITHCOMPARE","LSHIFT","RSHIFT",
"'+'","'-'","'*'","'/'","'%'","UNARY","PLUSPLUS","MINUSMINUS","HYPERUNARY","POINTSAT",
"'.'","'('","'['","INTERFACE","IMPLEMENTATION","END","SELECTOR","DEFS","ENCODE",
"CLASSNAME","PUBLIC","PRIVATE","PROTECTED","PROTOCOL","OBJECTNAME","CLASS","ALIAS",
"OBJC_STRING","')'","';'","'}'","'~'","'!'","','","'{'","']'","program","extdefs",
"@1","@2","extdef","datadef","fndef","@3","@4","@5","@6","@7","@8","identifier",
"unop","expr","exprlist","nonnull_exprlist","unary_expr","sizeof","alignof",
"vec_step","cast_expr","@9","expr_no_commas","@10","@11","@12","@13","@14","primary",
"@15","string","old_style_parm_decls","lineno_datadecl","datadecls","datadecl",
"lineno_decl","decls","setspecs","setattrs","decl","typed_declspecs","reserved_declspecs",
"typed_declspecs_no_prefix_attr","reserved_declspecs_no_prefix_attr","declmods",
"declmods_no_prefix_attr","typed_typespecs","reserved_typespecquals","typespec",
"typespecqual_reserved","initdecls","notype_initdecls","maybeasm","initdcl",
"@16","notype_initdcl","@17","maybe_attribute","attributes","attribute","attribute_list",
"attrib","any_word","init","@18","initlist_maybe_comma","initlist1","initelt",
"@19","initval","@20","designator_list","designator","@21","@22","nested_function",
"@23","@24","notype_nested_function","@25","@26","declarator","after_type_declarator",
"parm_declarator","notype_declarator","struct_head","union_head","enum_head",
"structsp","@27","@28","@29","@30","maybecomma","maybecomma_warn","component_decl_list",
"component_decl_list2","component_decl","components","component_declarator",
"enumlist","enumerator","typename","absdcl","nonempty_type_quals","type_quals",
"absdcl1","stmts","lineno_stmt_or_labels","xstmts","errstmt","pushlevel","maybe_label_decls",
"label_decls","label_decl","compstmt_or_error","compstmt_start","compstmt","simple_if",
"if_prefix","do_stmt_start","@31","save_filename","save_lineno","lineno_labeled_stmt",
"lineno_stmt_or_label","stmt_or_label","stmt","@32","@33","@34","@35","@36",
"@37","@38","all_iter_stmt","all_iter_stmt_simple","@39","label","maybe_type_qual",
"xexpr","asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
"@40","parmlist_1","@41","parmlist_2","parms","parm","parmlist_or_identifiers",
"@42","parmlist_or_identifiers_1","identifiers","identifiers_or_typenames","extension", NULL
};
#endif
static const short yyr1[] = { 0,
85, 85, 87, 86, 88, 86, 89, 89, 89, 89,
90, 90, 90, 90, 90, 90, 90, 90, 92, 93,
91, 91, 94, 95, 91, 91, 96, 97, 91, 91,
98, 98, 99, 99, 99, 99, 99, 99, 99, 100,
101, 101, 102, 102, 103, 103, 103, 103, 103, 103,
103, 103, 103, 103, 103, 103, 103, 104, 105, 106,
107, 107, 108, 107, 109, 109, 109, 109, 109, 109,
109, 109, 109, 109, 109, 109, 109, 110, 109, 111,
109, 112, 113, 109, 114, 109, 109, 109, 115, 115,
115, 115, 115, 116, 115, 115, 115, 115, 115, 115,
115, 117, 117, 118, 118, 118, 119, 120, 120, 120,
120, 121, 121, 121, 121, 122, 123, 123, 123, 123,
124, 125, 126, 126, 126, 126, 126, 126, 126, 127,
127, 128, 128, 128, 128, 129, 129, 130, 130, 130,
131, 131, 131, 131, 132, 132, 132, 132, 133, 133,
134, 134, 135, 135, 135, 135, 135, 136, 136, 136,
137, 137, 138, 138, 139, 139, 141, 140, 140, 143,
142, 142, 144, 144, 145, 145, 146, 147, 147, 148,
148, 148, 148, 148, 149, 149, 149, 149, 150, 151,
150, 150, 152, 152, 153, 153, 154, 154, 155, 154,
154, 157, 156, 156, 156, 158, 158, 159, 159, 159,
160, 159, 161, 159, 163, 164, 162, 166, 167, 165,
168, 168, 169, 169, 169, 169, 169, 169, 169, 170,
170, 170, 170, 170, 170, 170, 171, 171, 171, 171,
171, 171, 171, 171, 172, 172, 173, 173, 174, 174,
176, 175, 175, 175, 177, 175, 175, 175, 178, 175,
179, 175, 175, 180, 180, 181, 181, 182, 182, 183,
183, 183, 184, 184, 184, 184, 184, 184, 185, 185,
186, 186, 186, 187, 187, 187, 188, 188, 189, 189,
190, 190, 191, 191, 192, 192, 193, 193, 193, 193,
193, 193, 193, 193, 193, 193, 194, 195, 195, 195,
196, 196, 197, 198, 199, 199, 200, 200, 201, 202,
202, 203, 204, 204, 204, 204, 205, 205, 206, 208,
207, 209, 210, 211, 211, 212, 213, 213, 214, 214,
214, 215, 214, 214, 214, 216, 217, 214, 214, 214,
218, 219, 220, 214, 221, 214, 214, 214, 214, 214,
214, 214, 214, 214, 214, 214, 214, 222, 224, 223,
225, 225, 225, 225, 226, 226, 227, 227, 228, 228,
229, 229, 230, 231, 231, 233, 232, 234, 235, 234,
234, 236, 236, 236, 236, 237, 237, 238, 238, 238,
238, 238, 240, 239, 241, 241, 242, 242, 243, 243,
244
};
static const short yyr2[] = { 0,
0, 1, 0, 2, 0, 3, 1, 1, 5, 2,
3, 4, 4, 2, 2, 2, 2, 1, 0, 0,
7, 4, 0, 0, 7, 4, 0, 0, 6, 3,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
0, 1, 1, 3, 1, 2, 2, 2, 2, 2,
4, 2, 4, 2, 4, 2, 2, 1, 1, 1,
1, 4, 0, 7, 1, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 0, 4, 0,
4, 0, 0, 7, 0, 5, 3, 3, 1, 1,
1, 3, 3, 0, 4, 4, 4, 3, 3, 2,
2, 1, 2, 0, 1, 2, 3, 1, 1, 2,
2, 4, 4, 2, 2, 3, 1, 1, 2, 2,
0, 0, 4, 4, 3, 3, 2, 2, 2, 2,
3, 0, 2, 2, 2, 2, 3, 0, 2, 2,
1, 1, 2, 2, 1, 1, 2, 2, 2, 3,
0, 2, 1, 1, 1, 4, 4, 1, 1, 1,
1, 3, 1, 3, 0, 4, 0, 6, 3, 0,
6, 3, 0, 1, 1, 2, 6, 1, 3, 0,
1, 4, 6, 4, 1, 1, 1, 1, 1, 0,
4, 1, 0, 2, 1, 3, 3, 2, 0, 4,
1, 0, 4, 1, 1, 1, 2, 2, 5, 3,
0, 4, 0, 5, 0, 0, 5, 0, 0, 5,
1, 1, 3, 3, 4, 3, 3, 3, 1, 3,
4, 4, 3, 3, 3, 1, 3, 3, 3, 4,
4, 3, 3, 1, 1, 2, 1, 2, 1, 2,
0, 7, 5, 2, 0, 7, 5, 2, 0, 8,
0, 7, 2, 0, 1, 0, 1, 1, 2, 0,
3, 2, 3, 1, 3, 1, 1, 2, 1, 3,
4, 6, 5, 1, 3, 1, 1, 3, 2, 2,
0, 1, 1, 2, 0, 2, 3, 3, 2, 3,
4, 3, 2, 3, 2, 3, 1, 1, 2, 2,
0, 1, 2, 0, 0, 1, 1, 2, 3, 1,
2, 1, 2, 6, 5, 5, 2, 2, 4, 0,
4, 0, 0, 3, 4, 3, 1, 1, 1, 1,
2, 0, 4, 1, 3, 0, 0, 7, 5, 2,
0, 0, 0, 12, 0, 6, 2, 2, 2, 3,
6, 8, 10, 12, 3, 4, 1, 1, 0, 6,
3, 5, 2, 3, 0, 1, 0, 1, 0, 1,
1, 3, 4, 1, 3, 0, 2, 2, 0, 4,
2, 0, 1, 1, 3, 1, 3, 4, 4, 4,
4, 4, 0, 2, 1, 2, 1, 3, 1, 3,
1
};
static const short yydefact[] = { 3,
5, 0, 0, 0, 155, 146, 153, 145, 249, 245,
247, 0, 0, 0, 411, 18, 4, 8, 7, 0,
121, 121, 141, 132, 142, 175, 0, 0, 0, 154,
0, 6, 16, 17, 250, 246, 248, 0, 0, 0,
244, 295, 0, 0, 163, 122, 0, 15, 0, 14,
0, 143, 132, 144, 148, 147, 130, 176, 31, 32,
270, 254, 270, 258, 261, 263, 10, 89, 90, 102,
58, 59, 0, 0, 60, 0, 33, 35, 34, 0,
36, 37, 0, 38, 39, 0, 0, 40, 61, 0,
0, 0, 65, 43, 45, 91, 0, 293, 0, 291,
151, 0, 291, 180, 0, 0, 11, 0, 0, 30,
0, 403, 0, 0, 173, 229, 295, 0, 0, 161,
122, 0, 221, 222, 0, 0, 131, 134, 158, 159,
133, 135, 160, 0, 0, 251, 0, 255, 0, 259,
56, 57, 49, 46, 0, 0, 0, 0, 48, 0,
0, 0, 50, 0, 52, 0, 54, 0, 0, 82,
80, 78, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 100, 101, 0, 0, 41, 0,
103, 47, 156, 295, 386, 0, 122, 289, 292, 149,
157, 294, 151, 290, 186, 187, 188, 185, 0, 178,
181, 296, 239, 238, 164, 165, 243, 0, 237, 0,
0, 242, 0, 0, 28, 0, 332, 109, 333, 172,
174, 0, 0, 13, 0, 0, 22, 0, 173, 403,
0, 12, 26, 0, 173, 277, 272, 121, 269, 121,
0, 270, 173, 270, 286, 287, 266, 284, 0, 93,
92, 322, 314, 0, 0, 9, 44, 0, 0, 0,
88, 87, 0, 0, 0, 0, 76, 77, 75, 74,
73, 71, 72, 66, 67, 68, 69, 70, 99, 98,
0, 42, 0, 299, 0, 303, 0, 305, 0, 0,
386, 0, 152, 150, 0, 180, 41, 0, 0, 407,
393, 121, 121, 405, 0, 394, 396, 404, 0, 240,
241, 313, 0, 111, 106, 110, 0, 170, 227, 223,
162, 228, 20, 169, 224, 226, 0, 24, 253, 332,
271, 332, 278, 0, 257, 0, 0, 267, 0, 266,
323, 315, 95, 63, 62, 51, 53, 55, 0, 0,
81, 79, 96, 97, 298, 297, 387, 304, 306, 300,
302, 0, 177, 179, 89, 0, 166, 391, 291, 291,
388, 389, 0, 406, 0, 0, 29, 320, 107, 121,
121, 138, 0, 0, 167, 225, 0, 273, 279, 333,
275, 173, 173, 288, 285, 173, 0, 0, 0, 316,
317, 0, 83, 86, 301, 182, 0, 184, 236, 295,
386, 122, 173, 173, 173, 295, 122, 173, 173, 0,
395, 397, 408, 321, 114, 0, 115, 0, 138, 136,
192, 190, 189, 171, 21, 0, 25, 332, 0, 252,
256, 262, 173, 409, 0, 0, 0, 332, 0, 0,
118, 333, 308, 318, 205, 89, 0, 0, 202, 0,
204, 0, 264, 195, 201, 0, 0, 0, 0, 299,
0, 403, 0, 398, 399, 400, 299, 0, 401, 402,
390, 0, 0, 165, 137, 140, 139, 0, 168, 280,
0, 173, 260, 319, 0, 325, 120, 119, 312, 0,
326, 310, 333, 309, 0, 208, 0, 0, 199, 64,
0, 194, 0, 0, 207, 198, 84, 183, 234, 235,
230, 0, 233, 0, 112, 113, 0, 173, 0, 281,
410, 324, 0, 155, 0, 346, 330, 0, 0, 0,
0, 0, 0, 0, 0, 375, 367, 0, 0, 116,
121, 121, 339, 344, 0, 0, 336, 337, 340, 368,
338, 0, 213, 0, 210, 0, 0, 0, 196, 197,
211, 231, 232, 191, 283, 173, 0, 0, 332, 377,
0, 0, 373, 357, 358, 359, 0, 0, 0, 376,
0, 173, 341, 127, 0, 128, 0, 0, 328, 333,
327, 350, 0, 129, 0, 0, 203, 200, 212, 282,
0, 0, 0, 378, 45, 0, 0, 0, 371, 360,
0, 365, 0, 374, 0, 125, 215, 0, 126, 218,
345, 332, 0, 0, 214, 209, 329, 0, 331, 369,
351, 355, 0, 366, 0, 123, 0, 124, 0, 343,
334, 332, 0, 347, 332, 377, 332, 372, 379, 0,
216, 219, 335, 349, 332, 370, 0, 356, 0, 0,
380, 381, 361, 0, 0, 348, 352, 0, 379, 0,
0, 217, 220, 377, 0, 0, 362, 382, 0, 383,
0, 0, 353, 384, 0, 363, 332, 0, 0, 354,
364, 385, 0, 0, 0
};
static const short yydefgoto[] = { 703,
1, 2, 3, 17, 18, 19, 228, 384, 234, 387,
114, 313, 460, 86, 146, 281, 88, 89, 90, 91,
92, 93, 402, 94, 266, 265, 263, 468, 264, 95,
147, 96, 215, 216, 217, 379, 447, 448, 20, 109,
550, 302, 57, 380, 430, 303, 23, 100, 190, 24,
131, 119, 44, 115, 120, 436, 45, 383, 220, 221,
26, 199, 200, 201, 434, 488, 462, 463, 464, 567,
465, 508, 466, 467, 568, 605, 626, 647, 674, 629,
649, 675, 206, 123, 413, 124, 27, 28, 29, 30,
242, 244, 249, 139, 512, 339, 134, 135, 239, 388,
389, 247, 248, 102, 188, 103, 105, 189, 449, 450,
500, 218, 342, 399, 400, 401, 377, 253, 378, 554,
555, 556, 579, 600, 317, 601, 453, 557, 558, 632,
578, 665, 656, 684, 697, 657, 559, 560, 655, 561,
591, 616, 670, 671, 672, 695, 286, 287, 304, 420,
305, 306, 307, 209, 210, 308, 309, 445, 97
};
static const short yypact[] = { 87,
111, 498, 498, 258,-32768,-32768,-32768,-32768, 92, 92,
92, -2, 75, 109,-32768,-32768,-32768,-32768,-32768, 504,
81, 615, 69,-32768, 92,-32768, 58, 99, 114,-32768,
498,-32768,-32768,-32768, 92, 92, 92, 2273, 2185, 123,
-32768,-32768, 504, 15,-32768, 92, 587,-32768, 371,-32768,
504, 69,-32768, 92,-32768,-32768, 735,-32768,-32768,-32768,
-32768, 107,-32768, 128,-32768, 137,-32768,-32768,-32768,-32768,
-32768,-32768, 2273, 2273,-32768, 340,-32768,-32768,-32768, 2273,
-32768,-32768, 1117,-32768,-32768, 2273, 140, 155,-32768, 2307,
2341, 2375,-32768, 1957, 711, 234, 2273,-32768, 198, 287,
-32768, 220, 1646, 874, 431, 138,-32768, 371, 504,-32768,
248,-32768, 1530, 398, 92,-32768,-32768, 371, 27,-32768,
92, 776, 333, 346, 131, 1484, 735,-32768,-32768,-32768,
-32768, 92,-32768, 236, 957,-32768, 242,-32768, 445,-32768,
-32768,-32768,-32768,-32768, 252, 292, 288, 300,-32768, 306,
2273, 1117,-32768, 1117,-32768, 1117,-32768, 2273, 2273, 361,
-32768,-32768, 2273, 2273, 2273, 2273, 2273, 2273, 2273, 2273,
2273, 2273, 2273, 2273,-32768,-32768, 340, 340, 2273, 2273,
-32768,-32768,-32768,-32768, 287, 1584, 92,-32768, 393, 459,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 163,-32768,
373,-32768, 346,-32768,-32768, 413, 346, 442,-32768, 1036,
1638,-32768, 374, 384,-32768, 174, 54,-32768,-32768, 437,
92, 321, 232,-32768, 371, 371,-32768, 398, 92,-32768,
1692,-32768,-32768, 398, 92,-32768,-32768, 406, 390, 411,
1189,-32768, 92,-32768,-32768, 451, 397,-32768, 445,-32768,
-32768,-32768, 419, 440, 2072,-32768, 1957, 447, 450, 453,
1957, 1957, 2273, 494, 2273, 2273, 2041, 1664, 1501, 2154,
1384, 884, 884, 377, 377,-32768,-32768,-32768,-32768,-32768,
458, 155, 454, 574, 360,-32768, 277,-32768, 461, 287,
-32768, 1746,-32768, 459, 469, 874, 2409, 59, 471,-32768,
-32768,-32768, 780,-32768, 475, 141,-32768,-32768, 170,-32768,
-32768,-32768, 62,-32768,-32768,-32768, 879,-32768, 333,-32768,
-32768, 333,-32768, 516,-32768,-32768, 472,-32768,-32768,-32768,
-32768,-32768,-32768, 480,-32768, 483, 2273, 340, 484, 397,
-32768, 537,-32768,-32768,-32768,-32768,-32768,-32768, 531, 2273,
1771, 1824,-32768,-32768, 393,-32768,-32768,-32768, 393,-32768,
-32768, 500,-32768,-32768, 187, 505,-32768,-32768, 319, 188,
-32768,-32768, 1452,-32768, 583, 288,-32768,-32768,-32768, 512,
1308,-32768, 1419, 62,-32768,-32768, 62, 515,-32768,-32768,
515, 92, 92, 1957,-32768, 92, 519, 340, 897, 537,
-32768, 1175,-32768, 1718,-32768,-32768, 2273,-32768,-32768,-32768,
188, 92, 225, 280, 92,-32768, 92, 280, 92, 277,
-32768,-32768,-32768,-32768,-32768, 371,-32768, 504,-32768, 856,
-32768,-32768, 1957,-32768,-32768, 1419,-32768,-32768, 1102,-32768,
-32768,-32768, 92,-32768, 149, 418, 816, 523, 524, 695,
-32768,-32768,-32768,-32768,-32768, 566, 340, 2273,-32768, 567,
1957, 528, 527,-32768,-32768, 173, 1236, 2273, 219, 200,
319,-32768, 1800,-32768,-32768,-32768, 506, 188,-32768,-32768,
-32768, 151, 195, 72, 856,-32768,-32768, 1175,-32768,-32768,
2273, 134,-32768,-32768, 340,-32768,-32768,-32768,-32768, 533,
-32768,-32768,-32768,-32768, 1936,-32768, 2435, 1175, 185,-32768,
1297,-32768, 1475, 571,-32768,-32768, 1718,-32768, 462, 462,
-32768, 1854,-32768, 532,-32768,-32768, 544, 2480, 2273,-32768,
-32768,-32768, 2017, 592, 577,-32768,-32768, 578, 581, 2273,
605, 548, 572, 2219, 202, 644,-32768, 617, 579,-32768,
582, 1592,-32768, 647, 978, 68,-32768,-32768,-32768,-32768,
-32768, 2130,-32768, 2273,-32768, 585, 1475, 1358,-32768,-32768,
-32768,-32768,-32768,-32768,-32768, 2480, 2273, 606,-32768, 2273,
2273, 1880,-32768,-32768,-32768,-32768, 589, 2273, 590,-32768,
611, 92,-32768,-32768, 371,-32768, 504, 1059,-32768,-32768,
-32768,-32768, 2273,-32768, 1358, 2455,-32768,-32768,-32768,-32768,
597, 2273, 660,-32768, 620, 608, 607, 2273,-32768,-32768,
609,-32768, 2273,-32768, 268,-32768, 305, 314,-32768, 612,
-32768,-32768, 2017, 614,-32768,-32768,-32768, 618,-32768,-32768,
-32768,-32768, 2504,-32768, 38,-32768, 398,-32768, 398,-32768,
-32768,-32768, 610,-32768,-32768, 2273,-32768,-32768, 680, 622,
-32768,-32768,-32768,-32768,-32768,-32768, 623,-32768, 632, 43,
626,-32768,-32768, 288, 288,-32768,-32768, 2273, 680, 631,
680,-32768,-32768, 2273, 634, 61,-32768,-32768, 648,-32768,
442, 649,-32768, 234, 222,-32768,-32768, 653, 442,-32768,
-32768, 234, 733, 737,-32768
};
static const short yypgoto[] = {-32768,
-32768,-32768,-32768, 77,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768, -25,-32768, -38, 438, -127, 386,-32768,-32768,
-32768, 10,-32768, 194,-32768,-32768,-32768,-32768,-32768, 158,
-32768, -199, -204, 526,-32768,-32768, 304,-32768, 28, -101,
191, 11, 701,-32768, 327, 13, -15, -79, 564, -5,
-167, -395, -46, -112, -65,-32768,-32768,-32768, 240, 16,
35,-32768, 463,-32768, 324,-32768, -323,-32768, -410,-32768,
-401,-32768,-32768, 297,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768, -41, -72, 70, -14,-32768,-32768,-32768, -35,
-32768,-32768,-32768,-32768,-32768, 424, -28,-32768, 538, 464,
353, 546, 460, 40, -75, -78, -96, -144, 349,-32768,
-32768, -171,-32768,-32768,-32768, 400, 29,-32768, -114,-32768,
-32768,-32768,-32768, -60, -342, -526, 351,-32768, 169,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 172,
-32768, -571, 130,-32768, 126,-32768, 520,-32768, -248,-32768,
-32768,-32768, 441, -198,-32768,-32768,-32768,-32768, 9
};
#define YYLAST 2557
static const short yytable[] = { 87,
99, 62, 64, 66, 125, 47, 52, 122, 298, 229,
31, 31, 21, 21, 22, 22, 53, 25, 25, 226,
222, 133, 293, 323, 35, 36, 37, 194, 106, 328,
482, 325, 254, 101, 137, 46, 126, 54, 357, 31,
285, 21, 205, 22, 314, 223, 25, 439, 49, 51,
143, 282, 613, 219, -105, 238, 240, 38, 46, 58,
59, 60, 376, 315, 121, 516, 46, 181, 602, 58,
58, 58, 132, 55, 213, 56, 659, 101, 198, 32,
58, 679, 141, 142, 667, 290, -1, 284, 58, 144,
203, 133, 107, 229, 207, 149, 108, 193, 111, 691,
569, 59, 60, 106, 224, 650, 182, 67, 225, 505,
-2, 570, 689, 246, 660, 187, 59, 60, 187, 680,
46, 14, 148, 121, 46, 663, 293, 603, 666, 101,
668, 112, 113, 121, 39, 367, -105, 692, 676, 355,
61, 283, 132, 241, 252, 359, 101, 289, 101, 319,
101, 279, 280, 322, 133, 58, 219, 609, 48, 321,
533, 238, 240, 14, 527, 608, 58, 219, 40, 282,
700, 481, 529, 219, 214, 59, 60, -108, -108, -108,
-108, 63, 104, -108, 566, -108, -108, -108, -211, 136,
41, 258, 327, 259, 635, 260, 65, 112, 113, 625,
187, -108, 41, 409, 59, 60, 202, 203, 232, 513,
138, 207, 108, 334, 204, 336, 150, 14, 372, 140,
144, 58, 373, 246, 349, 25, 494, 451, 525, 14,
495, 457, 225, 458, 193, 101, 151, 121, 416, 295,
121, 121, 181, -211, 296, -211, 374, 411, 186, 241,
410, 375, 588, 362, 14, 58, -108, 633, 133, 411,
186, 424, 487, 406, 345, 330, 285, 332, 407, 390,
198, 390, 526, 521, 183, 497, 108, 299, 502, 469,
5, 6, 7, 8, 472, 473, 301, 52, 9, 10,
11, 230, 231, 415, 419, 518, 191, 53, 698, 187,
151, 381, 25, 699, 13, 187, 14, 208, 320, 14,
471, 382, 246, 470, 235, 478, 14, 487, 54, 477,
243, 41, 409, 41, 116, 355, 359, 202, 250, 369,
370, 111, 355, 359, -165, 33, 34, 184, 452, 112,
113, -165, 59, 60, 257, 646, 185, 186, 14, 225,
14, 261, 262, -392, 414, 418, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, 277, 278, 251, 410,
252, 117, 444, 41, 116, 429, 255, 390, 411, 186,
118, 483, -165, 256, 412, 417, -165, 452, 25, 503,
553, 648, 230, 231, 133, 108, 106, 492, 214, -85,
14, -332, -332, -332, -332, 112, 113, 426, 428, -332,
-332, -332, 435, 484, 5, 437, 7, 192, 553, 291,
292, 117, 9, 10, 11, -332, 417, 172, 173, 174,
118, 506, 297, 41, 524, 25, 356, 202, 13, 111,
514, 121, 661, 46, 662, 245, 58, 59, 60, 133,
70, 58, 291, 292, 121, 203, 207, 311, 351, 352,
14, 312, 203, 207, 129, 130, 549, 331, 324, 531,
9, 10, 11, 318, 329, 153, 155, 157, 338, 548,
-104, 42, 335, -274, -274, 412, 412, 337, -276, -276,
43, 694, 417, 417, 549, 312, 496, 341, 4, 702,
-121, 5, 6, 7, 8, 587, 41, 548, 41, 9,
10, 11, 202, 562, 229, 551, 343, 552, 553, 589,
25, 472, 473, 346, 12, 13, 347, 14, 15, 348,
394, 144, 350, 14, 353, 14, 52, 354, 611, 519,
520, 614, 617, 404, 358, 363, 53, 368, -121, 621,
628, 371, 385, 627, 42, 386, 416, -121, 392, 682,
683, 393, 396, 43, 634, 411, 186, 54, 398, 403,
562, 182, 551, 638, 552, 16, 433, 25, 595, 597,
202, 408, 630, 405, 645, 423, 219, 110, 219, 425,
-27, -27, -27, -27, 549, 461, 438, 443, -27, -27,
-27, -311, 501, 14, -31, 509, 510, 548, 511, 571,
121, 532, 46, 111, -27, 573, -165, 614, 5, 6,
7, 8, 574, -165, 184, 584, 9, 10, 11, 433,
-32, 440, 441, 185, 186, 442, 577, 580, 111, 685,
581, -165, 13, 583, 14, 614, 112, 113, -165, 585,
590, 507, 474, 475, 476, 592, 593, 479, 480, 594,
461, 517, 598, 607, -165, 612, 620, 622, -165, -27,
623, 112, 113, 637, 175, 176, 639, 177, 178, 179,
180, 461, 493, 642, 528, 641, 644, 664, 669, -165,
653, 678, 50, -165, 654, 214, 640, -332, -332, 673,
677, 461, -332, -332, 461, -332, 461, 681, 687, -332,
690, -332, -332, -332, -332, -332, -332, -332, -332, -332,
-332, -332, 576, -332, 693, -332, 696, -332, -332, -332,
701, 530, 704, 582, 366, -332, 705, 615, -332, 128,
129, 130, 316, -332, -332, -332, 9, 10, 11, -332,
-332, 498, 604, 127, -332, 485, 294, 606, 364, 489,
461, 461, 515, 397, 14, 175, 176, 575, 177, 178,
179, 180, -332, -307, -332, -332, 227, -332, 333, -19,
-19, -19, -19, 5, 6, 7, 8, -19, -19, -19,
490, 9, 10, 11, 340, 391, 499, 395, 461, 454,
504, 651, 111, -19, 652, -165, 688, 13, 686, 14,
360, 643, -165, 422, 0, 610, 214, 0, -117, -117,
-117, -117, -117, -117, -117, 0, -117, -117, -117, -117,
-117, 624, -117, -117, -117, -117, -117, -117, -117, -117,
-117, -117, -117, -117, -117, -117, -117, 0, -117, -117,
-117, 0, 0, -165, 0, 0, -117, -165, -19, -117,
486, 129, 130, 0, -117, -117, -117, 9, 10, 11,
-117, -117, 0, 0, 0, -117, 59, 60, 195, 196,
197, 0, 5, 6, 7, 8, 0, 0, 0, 0,
9, 10, 11, -117, -117, -117, -117, 446, -117, -332,
-332, -332, -332, -332, -332, -332, 13, -332, -332, -332,
-332, -332, 0, -332, -332, -332, -332, -332, -332, -332,
-332, -332, -332, -332, -332, -332, -332, -332, 0, -332,
-332, -332, 170, 171, 172, 173, 174, -332, 0, 0,
-332, 0, 0, 0, 0, -332, -332, -332, 0, 0,
0, -332, -332, 0, 0, 0, -332, 236, 0, 0,
5, 0, 7, 98, 0, 0, 0, 0, 9, 10,
11, 0, 0, 0, -332, 0, -332, -332, 599, -332,
-332, -332, 0, 0, 13, -332, -332, 15, -332, 0,
0, 0, -332, 0, -332, -332, -332, -332, -332, -332,
-332, -332, -332, -332, -332, 0, -332, 0, -332, 0,
-332, -332, -332, 0, 0, 0, 0, 0, -332, 0,
0, -332, 0, 0, 0, 0, -332, -332, -332, 0,
0, 0, -332, -332, 237, -268, 299, -332, 300, 5,
6, 7, 8, 0, 0, 301, 0, 9, 10, 11,
0, 0, 0, 0, 0, -332, 0, -332, -332, 631,
-332, -342, -342, 13, 0, 14, -342, -342, 0, -342,
0, 0, 0, -342, 0, -342, -342, -342, -342, -342,
-342, -342, -342, -342, -342, -342, 0, -342, 0, -342,
0, -342, -342, -342, 0, 0, 0, 0, 0, -342,
0, 0, -342, 0, 41, 116, 0, -342, -342, -342,
0, 0, -392, -342, -342, 0, 0, 145, -342, 68,
5, 0, 7, 98, 69, 70, 0, 71, 9, 10,
11, 14, 0, 0, 0, 0, -342, 0, -342, -342,
491, -342, 0, 0, 13, 72, 0, 15, 0, 73,
74, 75, 117, 0, 0, 0, 0, 76, 0, 0,
77, 118, 0, 0, 0, 78, 79, 80, 0, 0,
0, 81, 82, 0, 0, 455, 83, 456, 60, 0,
0, 0, 69, 70, 0, 71, 0, 0, 0, 236,
0, 0, 5, 0, 7, 98, 84, 85, 0, -94,
9, 10, 11, 72, 0, 15, 0, 73, 74, 75,
0, 0, 0, 0, 0, 76, 13, 0, 77, 15,
0, 0, 0, 78, 79, 80, 0, 0, 0, 81,
82, 0, 0, 457, 83, 458, 455, 0, 68, -206,
0, 0, 0, 69, 70, 0, 71, 0, 0, 0,
0, 0, 0, -193, 84, 85, 0, 459, 0, 0,
0, 0, 0, 0, 72, 0, 15, 0, 73, 74,
75, 0, -206, 0, 0, 0, 76, 0, 0, 77,
0, 0, 0, 0, 78, 79, 80, 0, 0, 0,
81, 82, 0, 0, -206, 83, -206, 455, 0, 456,
60, 0, 0, 0, 69, 70, 0, 71, 0, 0,
0, 5, 55, 7, 56, 84, 85, 0, 459, 9,
10, 11, 0, 0, 0, 72, 0, 15, 0, 73,
74, 75, 0, 0, 0, 13, 0, 76, 0, 0,
77, 0, 0, 0, 0, 78, 79, 80, 0, 0,
0, 81, 82, 0, 0, 457, 83, 458, 455, 0,
456, 60, 0, 0, 0, 69, 70, 0, 71, 0,
0, 0, 0, 0, 0, -265, 84, 85, 0, 459,
0, 0, 0, 0, 0, 427, 72, 0, 15, 0,
73, 74, 75, 0, 0, 0, 0, 0, 76, 0,
0, 77, 0, 0, 0, 0, 78, 79, 80, 0,
0, 0, 81, 82, 0, 0, 457, 83, 458, 431,
0, 68, 0, 0, 0, 0, 69, 70, 0, 71,
168, 169, 170, 171, 172, 173, 174, 84, 85, 0,
459, 0, 0, 0, 0, 0, 0, 72, 0, 15,
0, 73, 74, 75, 0, 5, 6, 7, 8, 76,
0, 421, 77, 9, 10, 11, 0, 78, 79, 80,
0, 0, 0, 81, 82, 455, 0, 68, 83, 13,
0, 14, 69, 70, 233, 71, 0, -23, -23, -23,
-23, 0, 0, 0, 0, -23, -23, -23, 84, 85,
0, 432, 0, 72, 0, 15, 0, 73, 74, 75,
111, -23, 0, -165, 0, 76, 0, 0, 77, 0,
-165, 0, 0, 78, 79, 80, 0, 0, 0, 81,
82, 0, 68, 0, 83, 0, 0, 69, 70, 0,
71, 0, 0, 112, 113, 166, 167, 168, 169, 170,
171, 172, 173, 174, 84, 85, 0, 459, 72, 0,
15, -165, 73, 74, 75, -165, -23, 0, 0, 0,
76, 0, 0, 77, 0, 0, 0, 0, 78, 79,
211, 0, 0, 0, 81, 82, 68, 0, 0, 83,
0, 69, 70, 0, 71, 5, 6, 7, 8, 0,
0, 0, 0, 9, 10, 11, 0, 0, 0, 84,
85, 0, 72, 212, 15, 0, 73, 74, 75, 13,
0, 14, 0, 0, 76, 0, 0, 77, 0, 0,
0, 0, 78, 79, 80, 0, 0, 0, 81, 82,
68, 0, 0, 83, 0, 69, 70, 0, 71, 5,
0, 7, 192, 0, 0, 0, 0, 9, 10, 11,
0, 0, 0, 84, 85, 0, 72, 288, 15, 596,
73, 74, 75, 13, 0, 14, 0, 0, 76, 0,
0, 77, 0, 0, 0, 0, 78, 79, 80, 0,
0, 0, 81, 82, 68, 0, 184, 83, 0, 69,
70, 0, 71, 0, 0, 185, 186, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 84, 85, 0,
72, 310, 15, 0, 73, 74, 75, 0, 0, 0,
0, 0, 76, 0, 0, 77, 0, 0, 0, 0,
78, 79, 80, 0, 0, 0, 81, 82, 68, 0,
0, 83, 0, 69, 70, 160, 71, 161, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 84, 85, 0, 72, 326, 15, 0, 73, 74,
75, 0, 0, 0, 0, 0, 76, 0, 0, 77,
0, 0, 0, 0, 78, 79, 80, 0, 0, 0,
81, 82, 68, 0, 0, 83, 0, 69, 70, 0,
71, 162, 163, 164, 165, 166, 167, 168, 169, 170,
171, 172, 173, 174, 0, 84, 85, 0, 72, 361,
15, 0, 73, 74, 75, 0, 0, 0, 0, 0,
76, 0, 0, 77, 0, 0, 0, 0, 78, 79,
522, 0, 0, 0, 81, 82, 68, 0, 0, 83,
0, 69, 70, 0, 71, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 0, 0, 84,
85, 0, 72, 523, 15, 0, 73, 74, 75, 618,
0, 0, 0, 0, 76, 0, 0, 77, 0, 0,
0, 0, 78, 79, 80, 0, 0, 0, 81, 82,
0, 0, 0, 83, 0, 158, 159, 160, 619, 161,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 84, 85, 0, 0, 572, 456, 534,
6, 7, 8, 69, 70, 0, 71, 9, 10, 11,
535, 0, 536, 537, 538, 539, 540, 541, 542, 543,
544, 545, 546, 13, 72, 14, 15, 0, 73, 74,
75, 0, 0, 0, 0, 0, 76, 0, 0, 77,
0, 0, 0, 0, 78, 79, 80, 0, 0, 0,
81, 82, 158, 159, 160, 83, 161, 162, 163, 164,
165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
0, 0, 0, 547, 0, 84, 85, 0, 252, 456,
60, 0, 0, 0, 69, 70, 0, 71, 0, 0,
0, 535, 0, 536, 537, 538, 539, 540, 541, 542,
543, 544, 545, 546, 0, 72, 0, 15, 0, 73,
74, 75, 0, 0, 0, 0, 0, 76, 0, 0,
77, 0, 0, 0, 0, 78, 79, 80, 0, 0,
0, 81, 82, 0, 68, 0, 83, 0, 0, 69,
70, 0, 71, 164, 165, 166, 167, 168, 169, 170,
171, 172, 173, 174, 547, 0, 84, 85, 0, 252,
72, 0, 15, 0, 73, 74, 75, 0, 0, 0,
0, 0, 76, 0, 0, 77, 0, 0, 0, 0,
78, 79, 80, 0, 0, 0, 81, 82, 0, 0,
0, 83, 68, 5, 6, 7, 8, 69, 70, 0,
71, 9, 10, 11, 0, 0, 0, 0, 0, 0,
0, 84, 85, 0, 344, 0, 0, 13, 72, 14,
15, 0, 73, 74, 75, 0, 0, 0, 0, 0,
76, 0, 0, 77, 0, 0, 0, 0, 78, 79,
80, 0, 0, 0, 81, 82, 0, 68, 5, 83,
7, 98, 69, 70, 0, 71, 9, 10, 11, 167,
168, 169, 170, 171, 172, 173, 174, 0, 0, 84,
85, 0, 13, 72, 0, 15, 0, 73, 74, 75,
0, 68, 0, 0, 0, 76, 69, 70, 77, 71,
0, 0, 0, 78, 79, 80, 0, 0, 0, 81,
82, 0, 0, 0, 83, 0, 0, 72, 0, 15,
0, 73, 74, 75, 0, 0, 0, 0, 0, 76,
0, 0, 77, 0, 84, 85, 0, 78, 79, 80,
0, 0, 0, 81, 82, 68, 0, 0, 83, 0,
69, 70, 0, 71, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 586, 0, 84, 85,
0, 72, 0, 15, 0, 73, 74, 75, 0, 68,
0, 0, 0, 76, 69, 70, 77, 71, 0, 0,
0, 78, 79, 80, 0, 0, 0, 81, 82, 0,
0, 0, 83, 0, 0, 72, 0, 15, 0, 73,
74, 75, 0, 68, 0, 0, 0, 76, 69, 70,
77, 71, 84, 85, 0, 78, 79, 80, 0, 0,
0, 81, 82, 0, 0, 0, 152, 0, 0, 72,
0, 15, 0, 73, 74, 75, 0, 68, 0, 0,
0, 76, 69, 70, 77, 71, 84, 85, 0, 78,
79, 80, 0, 0, 0, 81, 82, 0, 0, 0,
154, 0, 0, 72, 0, 15, 0, 73, 74, 75,
0, 365, 0, 0, 0, 76, 69, 70, 77, 71,
84, 85, 0, 78, 79, 80, 0, 0, 0, 81,
82, 0, 0, 0, 156, 0, 0, 72, 0, 15,
0, 73, 74, 75, 564, 0, 0, 0, 0, 76,
0, 0, 77, 0, 84, 85, 0, 78, 79, 80,
0, 0, 0, 81, 82, 0, 0, 0, 83, 0,
158, 159, 160, 0, 161, 162, 163, 164, 165, 166,
167, 168, 169, 170, 171, 172, 173, 174, 84, 85,
158, 159, 160, 0, 161, 162, 163, 164, 165, 166,
167, 168, 169, 170, 171, 172, 173, 174, 0, 14,
0, 0, 0, 0, 0, 158, 159, 160, 565, 161,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 0, 0, 0, 0, 0, 636, 158,
159, 160, 658, 161, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174
};
static const short yycheck[] = { 38,
39, 27, 28, 29, 51, 20, 22, 49, 208, 122,
2, 3, 2, 3, 2, 3, 22, 2, 3, 121,
117, 57, 190, 228, 9, 10, 11, 103, 43, 234,
426, 230, 147, 39, 63, 20, 51, 22, 287, 31,
185, 31, 108, 31, 216, 118, 31, 390, 21, 22,
76, 179, 579, 114, 1, 135, 135, 60, 43, 25,
3, 4, 1, 10, 49, 467, 51, 9, 1, 35,
36, 37, 57, 5, 113, 7, 39, 83, 104, 3,
46, 39, 73, 74, 656, 187, 0, 184, 54, 80,
105, 127, 78, 206, 109, 86, 82, 103, 27, 39,
511, 3, 4, 118, 78, 632, 97, 31, 82, 452,
0, 513, 684, 139, 77, 100, 3, 4, 103, 77,
105, 30, 83, 108, 109, 652, 294, 60, 655, 135,
657, 60, 61, 118, 60, 77, 83, 77, 665, 284,
83, 180, 127, 135, 83, 290, 152, 186, 154, 222,
156, 177, 178, 226, 190, 121, 217, 568, 78, 225,
503, 241, 241, 30, 488, 567, 132, 228, 60, 297,
697, 420, 39, 234, 1, 3, 4, 4, 5, 6,
7, 83, 60, 10, 508, 12, 13, 14, 4, 83,
3, 152, 231, 154, 605, 156, 83, 60, 61, 595,
185, 28, 3, 4, 3, 4, 7, 222, 78, 37,
83, 226, 82, 242, 77, 244, 77, 30, 78, 83,
211, 187, 82, 249, 263, 210, 78, 399, 78, 30,
82, 59, 82, 61, 240, 241, 82, 222, 51, 77,
225, 226, 9, 59, 82, 61, 77, 60, 61, 241,
51, 82, 51, 292, 30, 221, 83, 600, 294, 60,
61, 376, 430, 77, 255, 238, 411, 240, 82, 330,
296, 332, 78, 472, 77, 447, 82, 1, 450, 407,
4, 5, 6, 7, 60, 61, 10, 303, 12, 13,
14, 60, 61, 369, 370, 77, 77, 303, 77, 284,
82, 317, 287, 82, 28, 290, 30, 60, 77, 30,
412, 317, 338, 410, 79, 417, 30, 485, 303, 416,
79, 3, 4, 3, 4, 470, 471, 7, 77, 302,
303, 27, 477, 478, 30, 78, 79, 51, 399, 60,
61, 37, 3, 4, 151, 78, 60, 61, 30, 82,
30, 158, 159, 77, 369, 370, 163, 164, 165, 166,
167, 168, 169, 170, 171, 172, 173, 174, 77, 51,
83, 51, 398, 3, 4, 381, 77, 438, 60, 61,
60, 428, 78, 78, 369, 370, 82, 448, 373, 450,
505, 78, 60, 61, 430, 82, 411, 439, 1, 39,
30, 4, 5, 6, 7, 60, 61, 380, 381, 12,
13, 14, 384, 428, 4, 387, 6, 7, 533, 60,
61, 51, 12, 13, 14, 28, 411, 51, 52, 53,
60, 457, 60, 3, 473, 420, 77, 7, 28, 27,
466, 426, 647, 428, 649, 1, 412, 3, 4, 485,
9, 417, 60, 61, 439, 470, 471, 84, 265, 266,
30, 78, 477, 478, 6, 7, 505, 78, 229, 495,
12, 13, 14, 37, 235, 90, 91, 92, 82, 505,
83, 51, 243, 78, 79, 470, 471, 37, 78, 79,
60, 691, 477, 478, 533, 78, 79, 79, 1, 699,
3, 4, 5, 6, 7, 544, 3, 533, 3, 12,
13, 14, 7, 505, 627, 505, 77, 505, 633, 545,
505, 60, 61, 77, 27, 28, 77, 30, 31, 77,
337, 522, 39, 30, 77, 30, 552, 84, 577, 470,
471, 580, 581, 350, 84, 77, 552, 77, 51, 588,
597, 77, 37, 595, 51, 84, 51, 60, 79, 674,
675, 79, 79, 60, 603, 60, 61, 552, 32, 39,
562, 562, 562, 612, 562, 78, 383, 562, 551, 552,
7, 77, 597, 84, 623, 3, 647, 1, 649, 78,
4, 5, 6, 7, 633, 402, 82, 79, 12, 13,
14, 79, 79, 30, 39, 39, 79, 633, 82, 39,
595, 79, 597, 27, 28, 84, 30, 656, 4, 5,
6, 7, 79, 37, 51, 78, 12, 13, 14, 436,
39, 392, 393, 60, 61, 396, 60, 60, 27, 678,
60, 30, 28, 39, 30, 684, 60, 61, 37, 78,
7, 458, 413, 414, 415, 39, 78, 418, 419, 78,
467, 468, 16, 79, 78, 60, 78, 78, 82, 83,
60, 60, 61, 77, 55, 56, 17, 58, 59, 60,
61, 488, 443, 77, 491, 78, 78, 78, 9, 78,
77, 60, 78, 82, 77, 1, 77, 3, 4, 78,
78, 508, 8, 9, 511, 11, 513, 82, 78, 15,
77, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 529, 29, 77, 31, 78, 33, 34, 35,
78, 492, 0, 540, 297, 41, 0, 580, 44, 5,
6, 7, 217, 49, 50, 51, 12, 13, 14, 55,
56, 448, 562, 53, 60, 429, 193, 564, 296, 436,
567, 568, 466, 340, 30, 55, 56, 528, 58, 59,
60, 61, 78, 79, 80, 81, 1, 83, 241, 4,
5, 6, 7, 4, 5, 6, 7, 12, 13, 14,
438, 12, 13, 14, 249, 332, 448, 338, 605, 400,
450, 633, 27, 28, 633, 30, 681, 28, 679, 30,
291, 618, 37, 373, -1, 576, 1, -1, 3, 4,
5, 6, 7, 8, 9, -1, 11, 12, 13, 14,
15, 592, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, -1, 33, 34,
35, -1, -1, 78, -1, -1, 41, 82, 83, 44,
5, 6, 7, -1, 49, 50, 51, 12, 13, 14,
55, 56, -1, -1, -1, 60, 3, 4, 5, 6,
7, -1, 4, 5, 6, 7, -1, -1, -1, -1,
12, 13, 14, 78, 79, 80, 81, 1, 83, 3,
4, 5, 6, 7, 8, 9, 28, 11, 12, 13,
14, 15, -1, 17, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, -1, 33,
34, 35, 49, 50, 51, 52, 53, 41, -1, -1,
44, -1, -1, -1, -1, 49, 50, 51, -1, -1,
-1, 55, 56, -1, -1, -1, 60, 1, -1, -1,
4, -1, 6, 7, -1, -1, -1, -1, 12, 13,
14, -1, -1, -1, 78, -1, 80, 81, 1, 83,
3, 4, -1, -1, 28, 8, 9, 31, 11, -1,
-1, -1, 15, -1, 17, 18, 19, 20, 21, 22,
23, 24, 25, 26, 27, -1, 29, -1, 31, -1,
33, 34, 35, -1, -1, -1, -1, -1, 41, -1,
-1, 44, -1, -1, -1, -1, 49, 50, 51, -1,
-1, -1, 55, 56, 78, 79, 1, 60, 3, 4,
5, 6, 7, -1, -1, 10, -1, 12, 13, 14,
-1, -1, -1, -1, -1, 78, -1, 80, 81, 1,
83, 3, 4, 28, -1, 30, 8, 9, -1, 11,
-1, -1, -1, 15, -1, 17, 18, 19, 20, 21,
22, 23, 24, 25, 26, 27, -1, 29, -1, 31,
-1, 33, 34, 35, -1, -1, -1, -1, -1, 41,
-1, -1, 44, -1, 3, 4, -1, 49, 50, 51,
-1, -1, 77, 55, 56, -1, -1, 1, 60, 3,
4, -1, 6, 7, 8, 9, -1, 11, 12, 13,
14, 30, -1, -1, -1, -1, 78, -1, 80, 81,
39, 83, -1, -1, 28, 29, -1, 31, -1, 33,
34, 35, 51, -1, -1, -1, -1, 41, -1, -1,
44, 60, -1, -1, -1, 49, 50, 51, -1, -1,
-1, 55, 56, -1, -1, 1, 60, 3, 4, -1,
-1, -1, 8, 9, -1, 11, -1, -1, -1, 1,
-1, -1, 4, -1, 6, 7, 80, 81, -1, 83,
12, 13, 14, 29, -1, 31, -1, 33, 34, 35,
-1, -1, -1, -1, -1, 41, 28, -1, 44, 31,
-1, -1, -1, 49, 50, 51, -1, -1, -1, 55,
56, -1, -1, 59, 60, 61, 1, -1, 3, 4,
-1, -1, -1, 8, 9, -1, 11, -1, -1, -1,
-1, -1, -1, 79, 80, 81, -1, 83, -1, -1,
-1, -1, -1, -1, 29, -1, 31, -1, 33, 34,
35, -1, 37, -1, -1, -1, 41, -1, -1, 44,
-1, -1, -1, -1, 49, 50, 51, -1, -1, -1,
55, 56, -1, -1, 59, 60, 61, 1, -1, 3,
4, -1, -1, -1, 8, 9, -1, 11, -1, -1,
-1, 4, 5, 6, 7, 80, 81, -1, 83, 12,
13, 14, -1, -1, -1, 29, -1, 31, -1, 33,
34, 35, -1, -1, -1, 28, -1, 41, -1, -1,
44, -1, -1, -1, -1, 49, 50, 51, -1, -1,
-1, 55, 56, -1, -1, 59, 60, 61, 1, -1,
3, 4, -1, -1, -1, 8, 9, -1, 11, -1,
-1, -1, -1, -1, -1, 79, 80, 81, -1, 83,
-1, -1, -1, -1, -1, 78, 29, -1, 31, -1,
33, 34, 35, -1, -1, -1, -1, -1, 41, -1,
-1, 44, -1, -1, -1, -1, 49, 50, 51, -1,
-1, -1, 55, 56, -1, -1, 59, 60, 61, 1,
-1, 3, -1, -1, -1, -1, 8, 9, -1, 11,
47, 48, 49, 50, 51, 52, 53, 80, 81, -1,
83, -1, -1, -1, -1, -1, -1, 29, -1, 31,
-1, 33, 34, 35, -1, 4, 5, 6, 7, 41,
-1, 10, 44, 12, 13, 14, -1, 49, 50, 51,
-1, -1, -1, 55, 56, 1, -1, 3, 60, 28,
-1, 30, 8, 9, 1, 11, -1, 4, 5, 6,
7, -1, -1, -1, -1, 12, 13, 14, 80, 81,
-1, 83, -1, 29, -1, 31, -1, 33, 34, 35,
27, 28, -1, 30, -1, 41, -1, -1, 44, -1,
37, -1, -1, 49, 50, 51, -1, -1, -1, 55,
56, -1, 3, -1, 60, -1, -1, 8, 9, -1,
11, -1, -1, 60, 61, 45, 46, 47, 48, 49,
50, 51, 52, 53, 80, 81, -1, 83, 29, -1,
31, 78, 33, 34, 35, 82, 83, -1, -1, -1,
41, -1, -1, 44, -1, -1, -1, -1, 49, 50,
51, -1, -1, -1, 55, 56, 3, -1, -1, 60,
-1, 8, 9, -1, 11, 4, 5, 6, 7, -1,
-1, -1, -1, 12, 13, 14, -1, -1, -1, 80,
81, -1, 29, 84, 31, -1, 33, 34, 35, 28,
-1, 30, -1, -1, 41, -1, -1, 44, -1, -1,
-1, -1, 49, 50, 51, -1, -1, -1, 55, 56,
3, -1, -1, 60, -1, 8, 9, -1, 11, 4,
-1, 6, 7, -1, -1, -1, -1, 12, 13, 14,
-1, -1, -1, 80, 81, -1, 29, 84, 31, 78,
33, 34, 35, 28, -1, 30, -1, -1, 41, -1,
-1, 44, -1, -1, -1, -1, 49, 50, 51, -1,
-1, -1, 55, 56, 3, -1, 51, 60, -1, 8,
9, -1, 11, -1, -1, 60, 61, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 80, 81, -1,
29, 84, 31, -1, 33, 34, 35, -1, -1, -1,
-1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
49, 50, 51, -1, -1, -1, 55, 56, 3, -1,
-1, 60, -1, 8, 9, 38, 11, 40, 41, 42,
43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
53, 80, 81, -1, 29, 84, 31, -1, 33, 34,
35, -1, -1, -1, -1, -1, 41, -1, -1, 44,
-1, -1, -1, -1, 49, 50, 51, -1, -1, -1,
55, 56, 3, -1, -1, 60, -1, 8, 9, -1,
11, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, 51, 52, 53, -1, 80, 81, -1, 29, 84,
31, -1, 33, 34, 35, -1, -1, -1, -1, -1,
41, -1, -1, 44, -1, -1, -1, -1, 49, 50,
51, -1, -1, -1, 55, 56, 3, -1, -1, 60,
-1, 8, 9, -1, 11, 42, 43, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, -1, -1, 80,
81, -1, 29, 84, 31, -1, 33, 34, 35, 10,
-1, -1, -1, -1, 41, -1, -1, 44, -1, -1,
-1, -1, 49, 50, 51, -1, -1, -1, 55, 56,
-1, -1, -1, 60, -1, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
51, 52, 53, 80, 81, -1, -1, 84, 3, 4,
5, 6, 7, 8, 9, -1, 11, 12, 13, 14,
15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, -1, 33, 34,
35, -1, -1, -1, -1, -1, 41, -1, -1, 44,
-1, -1, -1, -1, 49, 50, 51, -1, -1, -1,
55, 56, 36, 37, 38, 60, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
-1, -1, -1, 78, -1, 80, 81, -1, 83, 3,
4, -1, -1, -1, 8, 9, -1, 11, -1, -1,
-1, 15, -1, 17, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, -1, 29, -1, 31, -1, 33,
34, 35, -1, -1, -1, -1, -1, 41, -1, -1,
44, -1, -1, -1, -1, 49, 50, 51, -1, -1,
-1, 55, 56, -1, 3, -1, 60, -1, -1, 8,
9, -1, 11, 43, 44, 45, 46, 47, 48, 49,
50, 51, 52, 53, 78, -1, 80, 81, -1, 83,
29, -1, 31, -1, 33, 34, 35, -1, -1, -1,
-1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
49, 50, 51, -1, -1, -1, 55, 56, -1, -1,
-1, 60, 3, 4, 5, 6, 7, 8, 9, -1,
11, 12, 13, 14, -1, -1, -1, -1, -1, -1,
-1, 80, 81, -1, 83, -1, -1, 28, 29, 30,
31, -1, 33, 34, 35, -1, -1, -1, -1, -1,
41, -1, -1, 44, -1, -1, -1, -1, 49, 50,
51, -1, -1, -1, 55, 56, -1, 3, 4, 60,
6, 7, 8, 9, -1, 11, 12, 13, 14, 46,
47, 48, 49, 50, 51, 52, 53, -1, -1, 80,
81, -1, 28, 29, -1, 31, -1, 33, 34, 35,
-1, 3, -1, -1, -1, 41, 8, 9, 44, 11,
-1, -1, -1, 49, 50, 51, -1, -1, -1, 55,
56, -1, -1, -1, 60, -1, -1, 29, -1, 31,
-1, 33, 34, 35, -1, -1, -1, -1, -1, 41,
-1, -1, 44, -1, 80, 81, -1, 49, 50, 51,
-1, -1, -1, 55, 56, 3, -1, -1, 60, -1,
8, 9, -1, 11, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 78, -1, 80, 81,
-1, 29, -1, 31, -1, 33, 34, 35, -1, 3,
-1, -1, -1, 41, 8, 9, 44, 11, -1, -1,
-1, 49, 50, 51, -1, -1, -1, 55, 56, -1,
-1, -1, 60, -1, -1, 29, -1, 31, -1, 33,
34, 35, -1, 3, -1, -1, -1, 41, 8, 9,
44, 11, 80, 81, -1, 49, 50, 51, -1, -1,
-1, 55, 56, -1, -1, -1, 60, -1, -1, 29,
-1, 31, -1, 33, 34, 35, -1, 3, -1, -1,
-1, 41, 8, 9, 44, 11, 80, 81, -1, 49,
50, 51, -1, -1, -1, 55, 56, -1, -1, -1,
60, -1, -1, 29, -1, 31, -1, 33, 34, 35,
-1, 3, -1, -1, -1, 41, 8, 9, 44, 11,
80, 81, -1, 49, 50, 51, -1, -1, -1, 55,
56, -1, -1, -1, 60, -1, -1, 29, -1, 31,
-1, 33, 34, 35, 10, -1, -1, -1, -1, 41,
-1, -1, 44, -1, 80, 81, -1, 49, 50, 51,
-1, -1, -1, 55, 56, -1, -1, -1, 60, -1,
36, 37, 38, -1, 40, 41, 42, 43, 44, 45,
46, 47, 48, 49, 50, 51, 52, 53, 80, 81,
36, 37, 38, -1, 40, 41, 42, 43, 44, 45,
46, 47, 48, 49, 50, 51, 52, 53, -1, 30,
-1, -1, -1, -1, -1, 36, 37, 38, 84, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
51, 52, 53, -1, -1, -1, -1, -1, 84, 36,
37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53
};
#line 3 "/usr/share/bison.simple"
#ifndef YYSTACK_USE_ALLOCA
#ifdef alloca
#define YYSTACK_USE_ALLOCA
#else
#ifdef __GNUC__
#define YYSTACK_USE_ALLOCA
#define alloca __builtin_alloca
#else
#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
#define YYSTACK_USE_ALLOCA
#include <alloca.h>
#else
#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
#if 0
#include <malloc.h>
#endif
#else
#if defined(_AIX)
#pragma alloca
#define YYSTACK_USE_ALLOCA
#else
#if 0
#ifdef __hpux
#define YYSTACK_USE_ALLOCA
#define alloca __builtin_alloca
#endif
#endif
#endif
#endif
#endif
#endif
#endif
#endif
#ifdef YYSTACK_USE_ALLOCA
#define YYSTACK_ALLOC alloca
#else
#define YYSTACK_ALLOC malloc
#endif
#define yyerrok (yyerrstatus = 0)
#define yyclearin (yychar = YYEMPTY)
#define YYEMPTY -2
#define YYEOF 0
#define YYACCEPT goto yyacceptlab
#define YYABORT goto yyabortlab
#define YYERROR goto yyerrlab1
#define YYFAIL goto yyerrlab
#define YYRECOVERING() (!!yyerrstatus)
#define YYBACKUP(token, value) \
do \
if (yychar == YYEMPTY && yylen == 1) \
{ yychar = (token), yylval = (value); \
yychar1 = YYTRANSLATE (yychar); \
YYPOPSTACK; \
goto yybackup; \
} \
else \
{ yyerror ("syntax error: cannot back up"); YYERROR; } \
while (0)
#define YYTERROR 1
#define YYERRCODE 256
#ifndef YYPURE
#define YYLEX yylex()
#endif
#ifdef YYPURE
#ifdef YYLSP_NEEDED
#ifdef YYLEX_PARAM
#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
#else
#define YYLEX yylex(&yylval, &yylloc)
#endif
#else
#ifdef YYLEX_PARAM
#define YYLEX yylex(&yylval, YYLEX_PARAM)
#else
#define YYLEX yylex(&yylval)
#endif
#endif
#endif
#ifndef YYPURE
int yychar;
YYSTYPE yylval;
#ifdef YYLSP_NEEDED
YYLTYPE yylloc;
#endif
int yynerrs;
#endif
#if YYDEBUG != 0
int yydebug;
#endif
#ifndef YYINITDEPTH
#define YYINITDEPTH 200
#endif
#if YYMAXDEPTH == 0
#undef YYMAXDEPTH
#endif
#ifndef YYMAXDEPTH
#define YYMAXDEPTH 10000
#endif
#if __GNUC__ > 1
#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
#else
#ifndef __cplusplus
static void
__yy_memcpy (to, from, count)
char *to;
char *from;
unsigned int count;
{
register char *f = from;
register char *t = to;
register int i = count;
while (i-- > 0)
*t++ = *f++;
}
#else
static void
__yy_memcpy (char *to, char *from, unsigned int count)
{
register char *t = to;
register char *f = from;
register int i = count;
while (i-- > 0)
*t++ = *f++;
}
#endif
#endif
#line 217 "/usr/share/bison.simple"
#ifdef YYPARSE_PARAM
#ifdef __cplusplus
#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
#define YYPARSE_PARAM_DECL
#else
#define YYPARSE_PARAM_ARG YYPARSE_PARAM
#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
#endif
#else
#define YYPARSE_PARAM_ARG
#define YYPARSE_PARAM_DECL
#endif
#ifdef __GNUC__
#ifdef YYPARSE_PARAM
int yyparse (void *);
#else
int yyparse (void);
#endif
#endif
int
yyparse(YYPARSE_PARAM_ARG)
YYPARSE_PARAM_DECL
{
register int yystate;
register int yyn;
register short *yyssp;
register YYSTYPE *yyvsp;
int yyerrstatus;
int yychar1 = 0;
short yyssa[YYINITDEPTH];
YYSTYPE yyvsa[YYINITDEPTH];
short *yyss = yyssa;
YYSTYPE *yyvs = yyvsa;
#ifdef YYLSP_NEEDED
YYLTYPE yylsa[YYINITDEPTH];
YYLTYPE *yyls = yylsa;
YYLTYPE *yylsp;
#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
#else
#define YYPOPSTACK (yyvsp--, yyssp--)
#endif
int yystacksize = YYINITDEPTH;
int yyfree_stacks = 0;
#ifdef YYPURE
int yychar;
YYSTYPE yylval;
int yynerrs;
#ifdef YYLSP_NEEDED
YYLTYPE yylloc;
#endif
#endif
YYSTYPE yyval;
int yylen;
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Starting parse\n");
#endif
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
yychar = YYEMPTY;
yyssp = yyss - 1;
yyvsp = yyvs;
#ifdef YYLSP_NEEDED
yylsp = yyls;
#endif
yynewstate:
*++yyssp = yystate;
if (yyssp >= yyss + yystacksize - 1)
{
YYSTYPE *yyvs1 = yyvs;
short *yyss1 = yyss;
#ifdef YYLSP_NEEDED
YYLTYPE *yyls1 = yyls;
#endif
int size = yyssp - yyss + 1;
#ifdef yyoverflow
#ifdef YYLSP_NEEDED
yyoverflow("parser stack overflow",
&yyss1, size * sizeof (*yyssp),
&yyvs1, size * sizeof (*yyvsp),
&yyls1, size * sizeof (*yylsp),
&yystacksize);
#else
yyoverflow("parser stack overflow",
&yyss1, size * sizeof (*yyssp),
&yyvs1, size * sizeof (*yyvsp),
&yystacksize);
#endif
yyss = yyss1; yyvs = yyvs1;
#ifdef YYLSP_NEEDED
yyls = yyls1;
#endif
#else
if (yystacksize >= YYMAXDEPTH)
{
yyerror("parser stack overflow");
if (yyfree_stacks)
{
free (yyss);
free (yyvs);
#ifdef YYLSP_NEEDED
free (yyls);
#endif
}
return 2;
}
yystacksize *= 2;
if (yystacksize > YYMAXDEPTH)
yystacksize = YYMAXDEPTH;
#ifndef YYSTACK_USE_ALLOCA
yyfree_stacks = 1;
#endif
yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
__yy_memcpy ((char *)yyss, (char *)yyss1,
size * (unsigned int) sizeof (*yyssp));
yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
__yy_memcpy ((char *)yyvs, (char *)yyvs1,
size * (unsigned int) sizeof (*yyvsp));
#ifdef YYLSP_NEEDED
yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
__yy_memcpy ((char *)yyls, (char *)yyls1,
size * (unsigned int) sizeof (*yylsp));
#endif
#endif
yyssp = yyss + size - 1;
yyvsp = yyvs + size - 1;
#ifdef YYLSP_NEEDED
yylsp = yyls + size - 1;
#endif
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Stack size increased to %d\n", yystacksize);
#endif
if (yyssp >= yyss + yystacksize - 1)
YYABORT;
}
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Entering state %d\n", yystate);
#endif
goto yybackup;
yybackup:
yyn = yypact[yystate];
if (yyn == YYFLAG)
goto yydefault;
if (yychar == YYEMPTY)
{
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Reading a token: ");
#endif
yychar = YYLEX;
}
if (yychar <= 0)
{
yychar1 = 0;
yychar = YYEOF;
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Now at end of input.\n");
#endif
}
else
{
yychar1 = YYTRANSLATE(yychar);
#if YYDEBUG != 0
if (yydebug)
{
fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
#ifdef YYPRINT
YYPRINT (stderr, yychar, yylval);
#endif
fprintf (stderr, ")\n");
}
#endif
}
yyn += yychar1;
if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
goto yydefault;
yyn = yytable[yyn];
if (yyn < 0)
{
if (yyn == YYFLAG)
goto yyerrlab;
yyn = -yyn;
goto yyreduce;
}
else if (yyn == 0)
goto yyerrlab;
if (yyn == YYFINAL)
YYACCEPT;
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
#endif
if (yychar != YYEOF)
yychar = YYEMPTY;
*++yyvsp = yylval;
#ifdef YYLSP_NEEDED
*++yylsp = yylloc;
#endif
if (yyerrstatus) yyerrstatus--;
yystate = yyn;
goto yynewstate;
yydefault:
yyn = yydefact[yystate];
if (yyn == 0)
goto yyerrlab;
yyreduce:
yylen = yyr2[yyn];
if (yylen > 0)
yyval = yyvsp[1-yylen];
#if YYDEBUG != 0
if (yydebug)
{
int i;
fprintf (stderr, "Reducing via rule %d (line %d), ",
yyn, yyrline[yyn]);
for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
fprintf (stderr, "%s ", yytname[yyrhs[i]]);
fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
}
#endif
switch (yyn) {
case 1:
#line 245 "c-parse.y"
{ if (pedantic)
pedwarn ("ANSI C forbids an empty source file");
finish_file ();
;
break;}
case 2:
#line 250 "c-parse.y"
{
while (! global_bindings_p ())
poplevel (0, 0, 0);
finish_file ();
;
break;}
case 3:
#line 264 "c-parse.y"
{yyval.ttype = NULL_TREE; ;
break;}
case 5:
#line 265 "c-parse.y"
{yyval.ttype = NULL_TREE; ;
break;}
case 9:
#line 272 "c-parse.y"
{ STRIP_NOPS (yyvsp[-2].ttype);
if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR
&& TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST)
|| TREE_CODE (yyvsp[-2].ttype) == STRING_CST)
assemble_asm (yyvsp[-2].ttype);
else
error ("argument of `asm' is not a constant string"); ;
break;}
case 10:
#line 280 "c-parse.y"
{ pedantic = yyvsp[-1].itype; ;
break;}
case 11:
#line 286 "c-parse.y"
{ if (pedantic)
error ("ANSI C forbids data definition with no type or storage class");
else if (!flag_traditional)
warning ("data definition has no type or storage class");
current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 12:
#line 296 "c-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 13:
#line 301 "c-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 14:
#line 306 "c-parse.y"
{ pedwarn ("empty declaration"); ;
break;}
case 15:
#line 308 "c-parse.y"
{ shadow_tag (yyvsp[-1].ttype); ;
break;}
case 18:
#line 312 "c-parse.y"
{ if (pedantic)
pedwarn ("ANSI C does not allow extra `;' outside of a function"); ;
break;}
case 19:
#line 318 "c-parse.y"
{
if (! start_function (current_declspecs, yyvsp[0].ttype,
prefix_attributes, NULL_TREE, 0))
YYERROR1;
reinit_parse_for_function ();
;
break;}
case 20:
#line 326 "c-parse.y"
{
store_parm_decls ();
;
break;}
case 21:
#line 330 "c-parse.y"
{
finish_function (0);
current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-5].itype);
if (flag_dump_symbols)
printf ("-fm %u\n", lineno);
if (flag_gen_index)
dump_symbol_info ("-fm ", NULL, lineno);
;
break;}
case 22:
#line 342 "c-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 23:
#line 347 "c-parse.y"
{ if (! start_function (current_declspecs, yyvsp[0].ttype,
prefix_attributes, NULL_TREE, 0))
YYERROR1;
if (flag_dump_symbols)
printf ("+fm %s %u\n",
IDENTIFIER_POINTER (TREE_OPERAND (yyvsp[0].ttype,0)), lineno);
if (flag_gen_index)
dump_symbol_info ("+fm ", IDENTIFIER_POINTER (TREE_OPERAND (yyvsp[0].ttype,0)),
lineno);
reinit_parse_for_function (); ;
break;}
case 24:
#line 358 "c-parse.y"
{ store_parm_decls (); ;
break;}
case 25:
#line 360 "c-parse.y"
{
if (flag_dump_symbols)
printf ("-fm %u\n", lineno);
if (flag_gen_index)
dump_symbol_info ("-fm ", NULL, lineno);
finish_function (0);
current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-5].itype); ;
break;}
case 26:
#line 371 "c-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 27:
#line 376 "c-parse.y"
{ if (! start_function (NULL_TREE, yyvsp[0].ttype,
prefix_attributes, NULL_TREE, 0))
YYERROR1;
if (flag_dump_symbols)
printf ("+fm %s %u\n",
IDENTIFIER_POINTER (TREE_OPERAND (yyvsp[0].ttype,0)), lineno);
if (flag_gen_index)
dump_symbol_info ("+fm ", IDENTIFIER_POINTER (TREE_OPERAND (yyvsp[0].ttype,0)),
lineno);
reinit_parse_for_function (); ;
break;}
case 28:
#line 387 "c-parse.y"
{ store_parm_decls (); ;
break;}
case 29:
#line 389 "c-parse.y"
{
if (flag_dump_symbols)
printf ("-fm %u\n", lineno);
if (flag_gen_index)
dump_symbol_info ("-fm ", NULL, lineno);
finish_function (0);
current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-5].itype); ;
break;}
case 30:
#line 400 "c-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 33:
#line 412 "c-parse.y"
{ yyval.code = ADDR_EXPR; ;
break;}
case 34:
#line 414 "c-parse.y"
{ yyval.code = NEGATE_EXPR; ;
break;}
case 35:
#line 416 "c-parse.y"
{ yyval.code = CONVERT_EXPR; ;
break;}
case 36:
#line 418 "c-parse.y"
{ yyval.code = PREINCREMENT_EXPR; ;
break;}
case 37:
#line 420 "c-parse.y"
{ yyval.code = PREDECREMENT_EXPR; ;
break;}
case 38:
#line 422 "c-parse.y"
{ yyval.code = BIT_NOT_EXPR; ;
break;}
case 39:
#line 424 "c-parse.y"
{ yyval.code = TRUTH_NOT_EXPR; ;
break;}
case 40:
#line 428 "c-parse.y"
{ yyval.ttype = last_compound_expr
= build_compound_expr (last_compound_list = yyvsp[0].ttype); ;
break;}
case 41:
#line 434 "c-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 43:
#line 440 "c-parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
break;}
case 44:
#line 442 "c-parse.y"
{ chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
case 46:
#line 448 "c-parse.y"
{ yyval.ttype = build_indirect_ref (yyvsp[0].ttype, "unary *"); ;
break;}
case 47:
#line 451 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
pedantic = yyvsp[-1].itype; ;
break;}
case 48:
#line 454 "c-parse.y"
{ yyval.ttype = build_unary_op (yyvsp[-1].code, yyvsp[0].ttype, 0);
overflow_warning (yyval.ttype); ;
break;}
case 49:
#line 458 "c-parse.y"
{ tree label = lookup_label (yyvsp[0].ttype);
if (pedantic)
pedwarn ("ANSI C forbids `&&'");
if (label == 0)
yyval.ttype = null_pointer_node;
else
{
TREE_USED (label) = 1;
yyval.ttype = build1 (ADDR_EXPR, ptr_type_node, label);
TREE_CONSTANT (yyval.ttype) = 1;
}
;
break;}
case 50:
#line 486 "c-parse.y"
{ skip_evaluation--;
if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
&& DECL_C_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
error ("`sizeof' applied to a bit-field");
yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
break;}
case 51:
#line 492 "c-parse.y"
{ skip_evaluation--;
yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
break;}
case 52:
#line 495 "c-parse.y"
{ skip_evaluation--;
yyval.ttype = c_alignof_expr (yyvsp[0].ttype); ;
break;}
case 53:
#line 498 "c-parse.y"
{ skip_evaluation--;
yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
break;}
case 54:
#line 501 "c-parse.y"
{ skip_evaluation--;
yyval.ttype = c_vec_step_expr (yyvsp[0].ttype); ;
break;}
case 55:
#line 504 "c-parse.y"
{ skip_evaluation--;
yyval.ttype = c_vec_step (groktypename (yyvsp[-1].ttype)); ;
break;}
case 56:
#line 507 "c-parse.y"
{ yyval.ttype = build_unary_op (REALPART_EXPR, yyvsp[0].ttype, 0); ;
break;}
case 57:
#line 509 "c-parse.y"
{ yyval.ttype = build_unary_op (IMAGPART_EXPR, yyvsp[0].ttype, 0); ;
break;}
case 58:
#line 513 "c-parse.y"
{ skip_evaluation++; ;
break;}
case 59:
#line 517 "c-parse.y"
{ skip_evaluation++; ;
break;}
case 60:
#line 521 "c-parse.y"
{ skip_evaluation++; ;
break;}
case 62:
#line 527 "c-parse.y"
{ tree type = groktypename (yyvsp[-2].ttype);
tree last = yyvsp[0].ttype;
STRIP_NOPS(last);
if (TREE_CODE (type) == VECTOR_TYPE
&& yyvsp[0].ttype == last_compound_expr
&& ((TREE_CODE (last) == COMPOUND_EXPR)?
(TREE_CODE (TREE_VALUE(last)) == INTEGER_CST
|| TREE_CODE (TREE_VALUE(last)) == REAL_CST):
(TREE_CODE (last) == INTEGER_CST
|| TREE_CODE (last) == REAL_CST)))
yyval.ttype = build_vector_constant (type, last_compound_list);
else
yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
break;}
case 63:
#line 550 "c-parse.y"
{ start_init (NULL_TREE, NULL, 0);
yyvsp[-2].ttype = groktypename (yyvsp[-2].ttype);
really_start_incremental_init (yyvsp[-2].ttype); ;
break;}
case 64:
#line 554 "c-parse.y"
{ char *name;
tree result = pop_init_level (0);
tree type = yyvsp[-5].ttype;
finish_init ();
if (pedantic && ! flag_isoc9x)
pedwarn ("ANSI C forbids constructor expressions");
if (TYPE_NAME (type) != 0)
{
if (TREE_CODE (TYPE_NAME (type)) == IDENTIFIER_NODE)
name = IDENTIFIER_POINTER (TYPE_NAME (type));
else
name = IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (type)));
}
else
name = "";
yyval.ttype = result;
if (TREE_CODE (type) == ARRAY_TYPE && TYPE_SIZE (type) == 0)
{
int failure = complete_array_type (type, yyval.ttype, 1);
if (failure)
abort ();
}
;
break;}
case 66:
#line 583 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 67:
#line 585 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 68:
#line 587 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 69:
#line 589 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 70:
#line 591 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 71:
#line 593 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 72:
#line 595 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 73:
#line 597 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 74:
#line 599 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 75:
#line 601 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 76:
#line 603 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 77:
#line 605 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 78:
#line 607 "c-parse.y"
{ yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
break;}
case 79:
#line 610 "c-parse.y"
{ skip_evaluation -= yyvsp[-3].ttype == boolean_false_node;
yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
break;}
case 80:
#line 613 "c-parse.y"
{ yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
break;}
case 81:
#line 616 "c-parse.y"
{ skip_evaluation -= yyvsp[-3].ttype == boolean_true_node;
yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
break;}
case 82:
#line 619 "c-parse.y"
{ yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
break;}
case 83:
#line 622 "c-parse.y"
{ skip_evaluation += ((yyvsp[-4].ttype == boolean_true_node)
- (yyvsp[-4].ttype == boolean_false_node)); ;
break;}
case 84:
#line 625 "c-parse.y"
{ skip_evaluation -= yyvsp[-6].ttype == boolean_true_node;
yyval.ttype = build_conditional_expr (yyvsp[-6].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
break;}
case 85:
#line 628 "c-parse.y"
{ if (pedantic)
pedwarn ("ANSI C forbids omitting the middle term of a ?: expression");
yyvsp[0].ttype = save_expr (yyvsp[-1].ttype);
yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[0].ttype));
skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
break;}
case 86:
#line 635 "c-parse.y"
{ skip_evaluation -= yyvsp[-4].ttype == boolean_true_node;
yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
break;}
case 87:
#line 638 "c-parse.y"
{ char class;
yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype);
class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
if (class == 'e' || class == '1'
|| class == '2' || class == '<')
C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR);
;
break;}
case 88:
#line 646 "c-parse.y"
{ char class;
yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype);
class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
if (class == 'e' || class == '1'
|| class == '2' || class == '<')
C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK);
;
break;}
case 89:
#line 658 "c-parse.y"
{
yyval.ttype = lastiddecl;
if (!yyval.ttype || yyval.ttype == error_mark_node)
{
if (yychar == YYEMPTY)
yychar = YYLEX;
if (yychar == '(')
{
{
yyval.ttype = implicitly_declare (yyvsp[0].ttype);
assemble_external (yyval.ttype);
TREE_USED (yyval.ttype) = 1;
}
}
else if (current_function_decl == 0)
{
error ("`%s' undeclared here (not in a function)",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = error_mark_node;
}
else
{
{
if (IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) != error_mark_node
|| IDENTIFIER_ERROR_LOCUS (yyvsp[0].ttype) != current_function_decl)
{
error ("`%s' undeclared (first use in this function)",
IDENTIFIER_POINTER (yyvsp[0].ttype));
if (! undeclared_variable_notice)
{
error ("(Each undeclared identifier is reported only once");
error ("for each function it appears in.)");
undeclared_variable_notice = 1;
}
}
yyval.ttype = error_mark_node;
IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) = error_mark_node;
IDENTIFIER_ERROR_LOCUS (yyvsp[0].ttype) = current_function_decl;
}
}
}
else if (TREE_TYPE (yyval.ttype) == error_mark_node)
yyval.ttype = error_mark_node;
else if (C_DECL_ANTICIPATED (yyval.ttype))
{
C_DECL_ANTICIPATED (yyval.ttype) = 0;
if (yychar == YYEMPTY)
yychar = YYLEX;
if (yychar == '(')
{
if (TREE_CODE (yyval.ttype) != FUNCTION_DECL)
error ("`%s' implicitly declared as function",
IDENTIFIER_POINTER (DECL_NAME (yyval.ttype)));
else if ((TYPE_MODE (TREE_TYPE (TREE_TYPE (yyval.ttype)))
!= TYPE_MODE (integer_type_node))
&& (TREE_TYPE (TREE_TYPE (yyval.ttype))
!= void_type_node))
pedwarn ("type mismatch in implicit declaration for built-in function `%s'",
IDENTIFIER_POINTER (DECL_NAME (yyval.ttype)));
if (TREE_TYPE (TREE_TYPE (yyval.ttype)) == void_type_node)
TREE_TYPE (yyval.ttype)
= build_function_type (integer_type_node,
TYPE_ARG_TYPES (TREE_TYPE (yyval.ttype)));
}
else
pedwarn ("built-in function `%s' used without declaration",
IDENTIFIER_POINTER (DECL_NAME (yyval.ttype)));
assemble_external (yyval.ttype);
TREE_USED (yyval.ttype) = 1;
}
else
{
assemble_external (yyval.ttype);
TREE_USED (yyval.ttype) = 1;
}
if (TREE_CODE (yyval.ttype) == CONST_DECL)
{
yyval.ttype = DECL_INITIAL (yyval.ttype);
yyval.ttype = build1 (NOP_EXPR, TREE_TYPE (yyval.ttype), yyval.ttype);
TREE_CONSTANT (yyval.ttype) = 1;
}
;
break;}
case 91:
#line 757 "c-parse.y"
{ yyval.ttype = combine_strings (yyvsp[0].ttype); ;
break;}
case 92:
#line 759 "c-parse.y"
{ char class = TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype));
if (class == 'e' || class == '1'
|| class == '2' || class == '<')
C_SET_EXP_ORIGINAL_CODE (yyvsp[-1].ttype, ERROR_MARK);
yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 93:
#line 765 "c-parse.y"
{ yyval.ttype = error_mark_node; ;
break;}
case 94:
#line 767 "c-parse.y"
{ if (current_function_decl == 0)
{
error ("braced-group within expression allowed only inside a function");
YYERROR;
}
keep_next_level ();
push_iterator_stack ();
push_label_level ();
yyval.ttype = expand_start_stmt_expr (); ;
break;}
case 95:
#line 781 "c-parse.y"
{ tree rtl_exp;
if (pedantic)
pedwarn ("ANSI C forbids braced-groups within expressions");
pop_iterator_stack ();
pop_label_level ();
rtl_exp = expand_end_stmt_expr (yyvsp[-2].ttype);
TREE_SIDE_EFFECTS (rtl_exp) = 1;
if (TREE_CODE (yyvsp[-1].ttype) == BLOCK)
{
yyval.ttype = build (BIND_EXPR, TREE_TYPE (rtl_exp),
NULL_TREE, rtl_exp, yyvsp[-1].ttype);
delete_block (yyvsp[-1].ttype);
}
else
yyval.ttype = yyvsp[-1].ttype;
;
break;}
case 96:
#line 804 "c-parse.y"
{
yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype);
;
break;}
case 97:
#line 808 "c-parse.y"
{ yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 98:
#line 810 "c-parse.y"
{
yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype);
;
break;}
case 99:
#line 814 "c-parse.y"
{
tree expr = build_indirect_ref (yyvsp[-2].ttype, "->");
yyval.ttype = build_component_ref (expr, yyvsp[0].ttype);
;
break;}
case 100:
#line 820 "c-parse.y"
{ yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ;
break;}
case 101:
#line 822 "c-parse.y"
{ yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ;
break;}
case 103:
#line 829 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 106:
#line 838 "c-parse.y"
{ c_mark_varargs ();
if (pedantic)
pedwarn ("ANSI C does not permit use of `varargs.h'"); ;
break;}
case 107:
#line 848 "c-parse.y"
{ ;
break;}
case 112:
#line 864 "c-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 113:
#line 869 "c-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 114:
#line 874 "c-parse.y"
{ shadow_tag_warned (yyvsp[-1].ttype, 1);
pedwarn ("empty declaration"); ;
break;}
case 115:
#line 877 "c-parse.y"
{ pedwarn ("empty declaration"); ;
break;}
case 116:
#line 886 "c-parse.y"
{ ;
break;}
case 121:
#line 901 "c-parse.y"
{ yyval.itype = suspend_momentary ();
pending_xref_error ();
declspec_stack = tree_cons (prefix_attributes,
current_declspecs,
declspec_stack);
split_specs_attrs (yyvsp[0].ttype,
¤t_declspecs, &prefix_attributes); ;
break;}
case 122:
#line 912 "c-parse.y"
{ prefix_attributes = chainon (prefix_attributes, yyvsp[0].ttype); ;
break;}
case 123:
#line 917 "c-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 124:
#line 922 "c-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 125:
#line 927 "c-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-1].itype); ;
break;}
case 126:
#line 932 "c-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-1].itype); ;
break;}
case 127:
#line 937 "c-parse.y"
{ shadow_tag (yyvsp[-1].ttype); ;
break;}
case 128:
#line 939 "c-parse.y"
{ pedwarn ("empty declaration"); ;
break;}
case 129:
#line 941 "c-parse.y"
{ pedantic = yyvsp[-1].itype; ;
break;}
case 130:
#line 951 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 131:
#line 953 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
break;}
case 132:
#line 957 "c-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 133:
#line 959 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
case 134:
#line 961 "c-parse.y"
{ if (extra_warnings)
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
case 135:
#line 966 "c-parse.y"
{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
break;}
case 136:
#line 971 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 137:
#line 973 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
break;}
case 138:
#line 978 "c-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 139:
#line 980 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
case 140:
#line 982 "c-parse.y"
{ if (extra_warnings)
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
case 141:
#line 995 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 142:
#line 997 "c-parse.y"
{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
break;}
case 143:
#line 999 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
case 144:
#line 1001 "c-parse.y"
{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
break;}
case 145:
#line 1006 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 146:
#line 1009 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 147:
#line 1011 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 148:
#line 1014 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 149:
#line 1028 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 150:
#line 1030 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
break;}
case 151:
#line 1034 "c-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 152:
#line 1036 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
case 153:
#line 1044 "c-parse.y"
{
objc_need_raw_identifier = 1; ;
break;}
case 155:
#line 1048 "c-parse.y"
{
yyval.ttype = lookup_name (yyvsp[0].ttype); ;
break;}
case 156:
#line 1052 "c-parse.y"
{ yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); ;
break;}
case 157:
#line 1054 "c-parse.y"
{ yyval.ttype = groktypename (yyvsp[-1].ttype); ;
break;}
case 165:
#line 1076 "c-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 166:
#line 1078 "c-parse.y"
{ if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype);
yyval.ttype = yyvsp[-1].ttype;
;
break;}
case 167:
#line 1085 "c-parse.y"
{ yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
yyvsp[-1].ttype, prefix_attributes);
start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
break;}
case 168:
#line 1090 "c-parse.y"
{ finish_init ();
finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
break;}
case 169:
#line 1093 "c-parse.y"
{
tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
yyvsp[0].ttype, prefix_attributes);
finish_decl (d, NULL_TREE, yyvsp[-1].ttype);
;
break;}
case 170:
#line 1102 "c-parse.y"
{ yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
yyvsp[-1].ttype, prefix_attributes);
start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
break;}
case 171:
#line 1107 "c-parse.y"
{ finish_init ();
decl_attributes (yyvsp[-1].ttype, yyvsp[-3].ttype, prefix_attributes);
finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
break;}
case 172:
#line 1111 "c-parse.y"
{ tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
yyvsp[0].ttype, prefix_attributes);
finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
break;}
case 173:
#line 1119 "c-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 174:
#line 1121 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 175:
#line 1126 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 176:
#line 1128 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 177:
#line 1133 "c-parse.y"
{ yyval.ttype = yyvsp[-2].ttype; ;
break;}
case 178:
#line 1138 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 179:
#line 1140 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 180:
#line 1145 "c-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 181:
#line 1147 "c-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
break;}
case 182:
#line 1149 "c-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
break;}
case 183:
#line 1151 "c-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
break;}
case 184:
#line 1153 "c-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 190:
#line 1171 "c-parse.y"
{ really_start_incremental_init (NULL_TREE);
push_momentary (); ;
break;}
case 191:
#line 1176 "c-parse.y"
{ yyval.ttype = pop_init_level (0);
if (yyval.ttype == error_mark_node
&& ! (yychar == STRING || yychar == CONSTANT))
pop_momentary ();
else
pop_momentary_nofree (); ;
break;}
case 192:
#line 1184 "c-parse.y"
{ yyval.ttype = error_mark_node; ;
break;}
case 193:
#line 1190 "c-parse.y"
{ if (pedantic)
pedwarn ("ANSI C forbids empty initializer braces"); ;
break;}
case 199:
#line 1206 "c-parse.y"
{ set_init_label (yyvsp[-1].ttype); ;
break;}
case 202:
#line 1213 "c-parse.y"
{ push_init_level (0); ;
break;}
case 203:
#line 1215 "c-parse.y"
{ process_init_element (pop_init_level (0)); ;
break;}
case 204:
#line 1217 "c-parse.y"
{ process_init_element (yyvsp[0].ttype); ;
break;}
case 208:
#line 1228 "c-parse.y"
{ set_init_label (yyvsp[0].ttype); ;
break;}
case 209:
#line 1233 "c-parse.y"
{ set_init_index (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 210:
#line 1235 "c-parse.y"
{ set_init_index (yyvsp[-1].ttype, NULL_TREE); ;
break;}
case 211:
#line 1237 "c-parse.y"
{ set_init_label (yyvsp[-1].ttype); ;
break;}
case 213:
#line 1240 "c-parse.y"
{ set_init_label (yyvsp[-1].ttype); ;
break;}
case 215:
#line 1246 "c-parse.y"
{ push_c_function_context ();
if (! start_function (current_declspecs, yyvsp[0].ttype,
prefix_attributes, NULL_TREE, 1))
{
pop_c_function_context ();
YYERROR1;
}
if (flag_dump_symbols)
printf ("+fm %s %u\n",
IDENTIFIER_POINTER (TREE_OPERAND (yyvsp[0].ttype,0)), lineno);
if (flag_gen_index)
dump_symbol_info ("+fm ", IDENTIFIER_POINTER (TREE_OPERAND (yyvsp[0].ttype,0)),
lineno);
reinit_parse_for_function (); ;
break;}
case 216:
#line 1261 "c-parse.y"
{ store_parm_decls (); ;
break;}
case 217:
#line 1269 "c-parse.y"
{
if (flag_dump_symbols)
printf ("-fm %u\n", lineno);
if (flag_gen_index)
dump_symbol_info ("-fm ", NULL, lineno);
finish_function (1);
pop_c_function_context (); ;
break;}
case 218:
#line 1280 "c-parse.y"
{ push_c_function_context ();
if (! start_function (current_declspecs, yyvsp[0].ttype,
prefix_attributes, NULL_TREE, 1))
{
pop_c_function_context ();
YYERROR1;
}
if (flag_dump_symbols)
printf ("+fm %s %u\n",
IDENTIFIER_POINTER (TREE_OPERAND (yyvsp[0].ttype,0)), lineno);
if (flag_gen_index)
dump_symbol_info ("+fm ", IDENTIFIER_POINTER (TREE_OPERAND (yyvsp[0].ttype,0)),
lineno);
reinit_parse_for_function (); ;
break;}
case 219:
#line 1295 "c-parse.y"
{ store_parm_decls (); ;
break;}
case 220:
#line 1303 "c-parse.y"
{
if (flag_dump_symbols)
printf ("-fm %u\n", lineno);
if (flag_gen_index)
dump_symbol_info ("-fm ", NULL, lineno);
finish_function (1);
pop_c_function_context (); ;
break;}
case 223:
#line 1324 "c-parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 224:
#line 1326 "c-parse.y"
{ yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 225:
#line 1331 "c-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 226:
#line 1333 "c-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
break;}
case 227:
#line 1335 "c-parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 228:
#line 1342 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 230:
#line 1353 "c-parse.y"
{ yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 231:
#line 1358 "c-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, NULL_TREE);
if (! flag_isoc9x)
error ("`[*]' in parameter declaration only allowed in ISO C 9x");
;
break;}
case 232:
#line 1363 "c-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 233:
#line 1365 "c-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
break;}
case 234:
#line 1367 "c-parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 235:
#line 1374 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 237:
#line 1383 "c-parse.y"
{ yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 238:
#line 1388 "c-parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 239:
#line 1390 "c-parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 240:
#line 1392 "c-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, NULL_TREE);
if (! flag_isoc9x)
error ("`[*]' in parameter declaration only allowed in ISO C 9x");
;
break;}
case 241:
#line 1397 "c-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 242:
#line 1399 "c-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
break;}
case 243:
#line 1406 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 245:
#line 1412 "c-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 246:
#line 1414 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 247:
#line 1419 "c-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 248:
#line 1421 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 249:
#line 1426 "c-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 250:
#line 1428 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 251:
#line 1433 "c-parse.y"
{ yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype);
;
break;}
case 252:
#line 1437 "c-parse.y"
{ yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
break;}
case 253:
#line 1439 "c-parse.y"
{ yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE),
yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
;
break;}
case 254:
#line 1443 "c-parse.y"
{ yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ;
break;}
case 255:
#line 1445 "c-parse.y"
{ yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ;
break;}
case 256:
#line 1447 "c-parse.y"
{ yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
break;}
case 257:
#line 1449 "c-parse.y"
{ yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE),
yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
;
break;}
case 258:
#line 1453 "c-parse.y"
{ yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ;
break;}
case 259:
#line 1455 "c-parse.y"
{ yyvsp[0].itype = suspend_momentary ();
yyval.ttype = start_enum (yyvsp[-1].ttype); ;
break;}
case 260:
#line 1458 "c-parse.y"
{ yyval.ttype= finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype), chainon (yyvsp[-7].ttype, yyvsp[0].ttype));
resume_momentary (yyvsp[-5].itype); ;
break;}
case 261:
#line 1461 "c-parse.y"
{ yyvsp[0].itype = suspend_momentary ();
yyval.ttype = start_enum (NULL_TREE); ;
break;}
case 262:
#line 1464 "c-parse.y"
{ yyval.ttype= finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype), chainon (yyvsp[-6].ttype, yyvsp[0].ttype));
resume_momentary (yyvsp[-5].itype); ;
break;}
case 263:
#line 1467 "c-parse.y"
{ yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype); ;
break;}
case 267:
#line 1478 "c-parse.y"
{ if (pedantic && ! flag_isoc9x)
pedwarn ("comma at end of enumerator list"); ;
break;}
case 268:
#line 1484 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 269:
#line 1486 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
pedwarn ("no semicolon at end of struct or union"); ;
break;}
case 270:
#line 1491 "c-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 271:
#line 1493 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
break;}
case 272:
#line 1495 "c-parse.y"
{ if (pedantic)
pedwarn ("extra semicolon in struct or union specified"); ;
break;}
case 273:
#line 1510 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-1].itype); ;
break;}
case 274:
#line 1516 "c-parse.y"
{ if (pedantic)
pedwarn ("ANSI C forbids member declarations with no members");
shadow_tag(yyvsp[0].ttype);
yyval.ttype = NULL_TREE; ;
break;}
case 275:
#line 1521 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-1].itype); ;
break;}
case 276:
#line 1527 "c-parse.y"
{ if (pedantic)
pedwarn ("ANSI C forbids member declarations with no members");
shadow_tag(yyvsp[0].ttype);
yyval.ttype = NULL_TREE; ;
break;}
case 277:
#line 1532 "c-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 278:
#line 1534 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
pedantic = yyvsp[-1].itype; ;
break;}
case 280:
#line 1541 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 281:
#line 1546 "c-parse.y"
{ yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-1].ttype, current_declspecs, NULL_TREE);
decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
break;}
case 282:
#line 1550 "c-parse.y"
{ yyval.ttype = grokfield (yyvsp[-5].filename, yyvsp[-4].lineno, yyvsp[-3].ttype, current_declspecs, yyvsp[-1].ttype);
decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
break;}
case 283:
#line 1553 "c-parse.y"
{ yyval.ttype = grokfield (yyvsp[-4].filename, yyvsp[-3].lineno, NULL_TREE, current_declspecs, yyvsp[-1].ttype);
decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
break;}
case 285:
#line 1565 "c-parse.y"
{ if (yyvsp[-2].ttype == error_mark_node)
yyval.ttype = yyvsp[-2].ttype;
else
yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ;
break;}
case 286:
#line 1570 "c-parse.y"
{ yyval.ttype = error_mark_node; ;
break;}
case 287:
#line 1576 "c-parse.y"
{ yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ;
break;}
case 288:
#line 1578 "c-parse.y"
{ yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 289:
#line 1583 "c-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 290:
#line 1585 "c-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 291:
#line 1590 "c-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 293:
#line 1596 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 294:
#line 1598 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
case 295:
#line 1603 "c-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 296:
#line 1605 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
case 297:
#line 1610 "c-parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 298:
#line 1613 "c-parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 299:
#line 1615 "c-parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
break;}
case 300:
#line 1617 "c-parse.y"
{ yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 301:
#line 1619 "c-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 302:
#line 1621 "c-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
break;}
case 303:
#line 1623 "c-parse.y"
{ yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 304:
#line 1625 "c-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
break;}
case 305:
#line 1627 "c-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ;
break;}
case 306:
#line 1631 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 307:
#line 1640 "c-parse.y"
{
if (pedantic && yyvsp[0].ends_in_label)
pedwarn ("ANSI C forbids label at end of compound statement");
;
break;}
case 309:
#line 1649 "c-parse.y"
{ yyval.ends_in_label = yyvsp[0].ends_in_label; ;
break;}
case 310:
#line 1651 "c-parse.y"
{ yyval.ends_in_label = 0; ;
break;}
case 314:
#line 1663 "c-parse.y"
{ emit_line_note (input_filename, lineno);
pushlevel (0);
clear_last_expr ();
push_momentary ();
expand_start_bindings (0);
;
break;}
case 316:
#line 1676 "c-parse.y"
{ if (pedantic)
pedwarn ("ANSI C forbids label declarations"); ;
break;}
case 319:
#line 1687 "c-parse.y"
{ tree link;
for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
{
tree label = shadow_label (TREE_VALUE (link));
C_DECLARED_LABEL_FLAG (label) = 1;
declare_nonlocal_label (label);
}
;
break;}
case 320:
#line 1701 "c-parse.y"
{;
break;}
case 322:
#line 1705 "c-parse.y"
{ compstmt_count++; ;
break;}
case 323:
#line 1708 "c-parse.y"
{ yyval.ttype = convert (void_type_node, integer_zero_node); ;
break;}
case 324:
#line 1710 "c-parse.y"
{ emit_line_note (input_filename, lineno);
expand_end_bindings (getdecls (), 1, 0);
yyval.ttype = poplevel (1, 1, 0);
if (yychar == CONSTANT || yychar == STRING)
pop_momentary_nofree ();
else
pop_momentary (); ;
break;}
case 325:
#line 1718 "c-parse.y"
{ emit_line_note (input_filename, lineno);
expand_end_bindings (getdecls (), kept_level_p (), 0);
yyval.ttype = poplevel (kept_level_p (), 0, 0);
if (yychar == CONSTANT || yychar == STRING)
pop_momentary_nofree ();
else
pop_momentary (); ;
break;}
case 326:
#line 1726 "c-parse.y"
{ emit_line_note (input_filename, lineno);
expand_end_bindings (getdecls (), kept_level_p (), 0);
yyval.ttype = poplevel (kept_level_p (), 0, 0);
if (yychar == CONSTANT || yychar == STRING)
pop_momentary_nofree ();
else
pop_momentary (); ;
break;}
case 329:
#line 1746 "c-parse.y"
{ emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
c_expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0,
compstmt_count);
yyval.itype = stmt_count;
if_stmt_file = yyvsp[-5].filename;
if_stmt_line = yyvsp[-4].lineno;
position_after_white_space (); ;
break;}
case 330:
#line 1760 "c-parse.y"
{ stmt_count++;
compstmt_count++;
emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
emit_nop ();
expand_start_loop_continue_elsewhere (1);
position_after_white_space (); ;
break;}
case 331:
#line 1768 "c-parse.y"
{ expand_loop_continue_here (); ;
break;}
case 332:
#line 1772 "c-parse.y"
{ yyval.filename = input_filename; ;
break;}
case 333:
#line 1776 "c-parse.y"
{ yyval.lineno = lineno; ;
break;}
case 334:
#line 1781 "c-parse.y"
{ ;
break;}
case 335:
#line 1786 "c-parse.y"
{ ;
break;}
case 336:
#line 1791 "c-parse.y"
{ yyval.ends_in_label = yyvsp[0].ends_in_label; ;
break;}
case 337:
#line 1796 "c-parse.y"
{ yyval.ends_in_label = 0; ;
break;}
case 338:
#line 1798 "c-parse.y"
{ yyval.ends_in_label = 1; ;
break;}
case 339:
#line 1804 "c-parse.y"
{ stmt_count++; ;
break;}
case 341:
#line 1807 "c-parse.y"
{ stmt_count++;
emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
#if 0
if (TREE_CODE (TREE_TYPE (yyvsp[-1].ttype)) == ARRAY_TYPE
|| TREE_CODE (TREE_TYPE (yyvsp[-1].ttype)) == FUNCTION_TYPE)
yyvsp[-1].ttype = default_conversion (yyvsp[-1].ttype);
#endif
iterator_expand (yyvsp[-1].ttype);
clear_momentary (); ;
break;}
case 342:
#line 1824 "c-parse.y"
{ c_expand_start_else ();
yyvsp[-1].itype = stmt_count;
position_after_white_space (); ;
break;}
case 343:
#line 1828 "c-parse.y"
{ c_expand_end_cond ();
if (extra_warnings && stmt_count == yyvsp[-3].itype)
warning ("empty body in an else-statement"); ;
break;}
case 344:
#line 1832 "c-parse.y"
{ c_expand_end_cond ();
if (extra_warnings && stmt_count++ == yyvsp[0].itype)
warning_with_file_and_line (if_stmt_file, if_stmt_line,
"empty body in an if-statement"); ;
break;}
case 345:
#line 1844 "c-parse.y"
{ c_expand_end_cond (); ;
break;}
case 346:
#line 1846 "c-parse.y"
{ stmt_count++;
emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
emit_nop (); ;
break;}
case 347:
#line 1856 "c-parse.y"
{
expand_start_loop (1);
emit_line_note (input_filename, lineno);
expand_exit_loop_if_false (NULL_PTR,
truthvalue_conversion (yyvsp[-1].ttype));
position_after_white_space (); ;
break;}
case 348:
#line 1865 "c-parse.y"
{ expand_end_loop (); ;
break;}
case 349:
#line 1868 "c-parse.y"
{ emit_line_note (input_filename, lineno);
expand_exit_loop_if_false (NULL_PTR,
truthvalue_conversion (yyvsp[-2].ttype));
expand_end_loop ();
clear_momentary (); ;
break;}
case 350:
#line 1875 "c-parse.y"
{ expand_end_loop ();
clear_momentary (); ;
break;}
case 351:
#line 1879 "c-parse.y"
{ stmt_count++;
emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
emit_nop ();
if (yyvsp[-1].ttype) c_expand_expr_stmt (yyvsp[-1].ttype);
;
break;}
case 352:
#line 1891 "c-parse.y"
{ yyvsp[0].lineno = lineno;
yyval.filename = input_filename; ;
break;}
case 353:
#line 1894 "c-parse.y"
{
expand_start_loop_continue_elsewhere (1);
emit_line_note (yyvsp[-2].filename, yyvsp[-3].lineno);
if (yyvsp[-4].ttype)
expand_exit_loop_if_false (NULL_PTR,
truthvalue_conversion (yyvsp[-4].ttype));
push_momentary ();
yyvsp[-3].lineno = lineno;
yyvsp[-2].filename = input_filename;
position_after_white_space (); ;
break;}
case 354:
#line 1910 "c-parse.y"
{
emit_line_note (yyvsp[-4].filename, yyvsp[-5].lineno);
expand_loop_continue_here ();
if (yyvsp[-3].ttype)
c_expand_expr_stmt (yyvsp[-3].ttype);
if (yychar == CONSTANT || yychar == STRING)
pop_momentary_nofree ();
else
pop_momentary ();
expand_end_loop (); ;
break;}
case 355:
#line 1921 "c-parse.y"
{ stmt_count++;
emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
c_expand_start_case (yyvsp[-1].ttype);
push_momentary ();
position_after_white_space (); ;
break;}
case 356:
#line 1929 "c-parse.y"
{ expand_end_case (yyvsp[-3].ttype);
if (yychar == CONSTANT || yychar == STRING)
pop_momentary_nofree ();
else
pop_momentary (); ;
break;}
case 357:
#line 1935 "c-parse.y"
{ stmt_count++;
emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
if ( ! expand_exit_something ())
error ("break statement not within loop or switch"); ;
break;}
case 358:
#line 1940 "c-parse.y"
{ stmt_count++;
emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
if (! expand_continue_loop (NULL_PTR))
error ("continue statement not within a loop"); ;
break;}
case 359:
#line 1945 "c-parse.y"
{ stmt_count++;
emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
c_expand_return (NULL_TREE); ;
break;}
case 360:
#line 1949 "c-parse.y"
{ stmt_count++;
emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
c_expand_return (yyvsp[-1].ttype); ;
break;}
case 361:
#line 1953 "c-parse.y"
{ stmt_count++;
emit_line_note (yyvsp[-7].filename, yyvsp[-6].lineno);
STRIP_NOPS (yyvsp[-2].ttype);
if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR
&& TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST)
|| TREE_CODE (yyvsp[-2].ttype) == STRING_CST)
expand_asm (yyvsp[-2].ttype);
else
error ("argument of `asm' is not a constant string"); ;
break;}
case 362:
#line 1964 "c-parse.y"
{ stmt_count++;
emit_line_note (yyvsp[-9].filename, yyvsp[-8].lineno);
c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE],
input_filename, lineno); ;
break;}
case 363:
#line 1971 "c-parse.y"
{ stmt_count++;
emit_line_note (yyvsp[-11].filename, yyvsp[-10].lineno);
c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE],
input_filename, lineno); ;
break;}
case 364:
#line 1979 "c-parse.y"
{ stmt_count++;
emit_line_note (yyvsp[-13].filename, yyvsp[-12].lineno);
c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE],
input_filename, lineno); ;
break;}
case 365:
#line 1985 "c-parse.y"
{ tree decl;
stmt_count++;
emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
decl = lookup_label (yyvsp[-1].ttype);
if (decl != 0)
{
TREE_USED (decl) = 1;
expand_goto (decl);
}
;
break;}
case 366:
#line 1996 "c-parse.y"
{ if (pedantic)
pedwarn ("ANSI C forbids `goto *expr;'");
stmt_count++;
emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
expand_computed_goto (convert (ptr_type_node, yyvsp[-1].ttype)); ;
break;}
case 369:
#line 2011 "c-parse.y"
{
yyval.itype = 0;
if (TREE_CODE (yyvsp[-1].ttype) != VAR_DECL)
error ("invalid `for (ITERATOR)' syntax");
else if (! ITERATOR_P (yyvsp[-1].ttype))
error ("`%s' is not an iterator",
IDENTIFIER_POINTER (DECL_NAME (yyvsp[-1].ttype)));
else if (ITERATOR_BOUND_P (yyvsp[-1].ttype))
error ("`for (%s)' inside expansion of same iterator",
IDENTIFIER_POINTER (DECL_NAME (yyvsp[-1].ttype)));
else
{
yyval.itype = 1;
iterator_for_loop_start (yyvsp[-1].ttype);
}
;
break;}
case 370:
#line 2032 "c-parse.y"
{
if (yyvsp[-1].itype)
iterator_for_loop_end (yyvsp[-3].ttype);
;
break;}
case 371:
#line 2067 "c-parse.y"
{ register tree value = check_case_value (yyvsp[-1].ttype);
register tree label
= build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
stmt_count++;
if (value != error_mark_node)
{
tree duplicate;
int success;
if (pedantic && ! INTEGRAL_TYPE_P (TREE_TYPE (value)))
pedwarn ("label must have integral type in ANSI C");
success = pushcase (value, convert_and_check,
label, &duplicate);
if (success == 1)
error ("case label not within a switch statement");
else if (success == 2)
{
error ("duplicate case value");
error_with_decl (duplicate, "this is the first entry for that value");
}
else if (success == 3)
warning ("case value out of range");
else if (success == 5)
error ("case label within scope of cleanup or variable array");
}
position_after_white_space (); ;
break;}
case 372:
#line 2098 "c-parse.y"
{ register tree value1 = check_case_value (yyvsp[-3].ttype);
register tree value2 = check_case_value (yyvsp[-1].ttype);
register tree label
= build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
if (pedantic)
pedwarn ("ANSI C forbids case ranges");
stmt_count++;
if (value1 != error_mark_node && value2 != error_mark_node)
{
tree duplicate;
int success = pushcase_range (value1, value2,
convert_and_check, label,
&duplicate);
if (success == 1)
error ("case label not within a switch statement");
else if (success == 2)
{
error ("duplicate case value");
error_with_decl (duplicate, "this is the first entry for that value");
}
else if (success == 3)
warning ("case value out of range");
else if (success == 4)
warning ("empty case range");
else if (success == 5)
error ("case label within scope of cleanup or variable array");
}
position_after_white_space (); ;
break;}
case 373:
#line 2129 "c-parse.y"
{
tree duplicate;
register tree label
= build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
int success = pushcase (NULL_TREE, 0, label, &duplicate);
stmt_count++;
if (success == 1)
error ("default label not within a switch statement");
else if (success == 2)
{
error ("multiple default labels in one switch");
error_with_decl (duplicate, "this is the first default label");
}
position_after_white_space (); ;
break;}
case 374:
#line 2144 "c-parse.y"
{ tree label = define_label (input_filename, lineno, yyvsp[-2].ttype);
stmt_count++;
emit_nop ();
if (label)
{
expand_label (label);
decl_attributes (label, yyvsp[0].ttype, NULL_TREE);
}
position_after_white_space (); ;
break;}
case 375:
#line 2159 "c-parse.y"
{ emit_line_note (input_filename, lineno);
yyval.ttype = NULL_TREE; ;
break;}
case 376:
#line 2162 "c-parse.y"
{ emit_line_note (input_filename, lineno); ;
break;}
case 377:
#line 2167 "c-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 379:
#line 2174 "c-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 382:
#line 2181 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 383:
#line 2186 "c-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 384:
#line 2191 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ;
break;}
case 385:
#line 2193 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ;
break;}
case 386:
#line 2199 "c-parse.y"
{ pushlevel (0);
clear_parm_order ();
declare_parm_level (0); ;
break;}
case 387:
#line 2203 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
parmlist_tags_warning ();
poplevel (0, 0, 0); ;
break;}
case 389:
#line 2211 "c-parse.y"
{ tree parm;
if (pedantic)
pedwarn ("ANSI C forbids forward parameter declarations");
for (parm = getdecls (); parm; parm = TREE_CHAIN (parm))
TREE_ASM_WRITTEN (parm) = 1;
clear_parm_order (); ;
break;}
case 390:
#line 2219 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 391:
#line 2221 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ;
break;}
case 392:
#line 2227 "c-parse.y"
{ yyval.ttype = get_parm_info (0); ;
break;}
case 393:
#line 2229 "c-parse.y"
{ yyval.ttype = get_parm_info (0);
error ("ANSI C requires a named argument before `...'");
;
break;}
case 394:
#line 2239 "c-parse.y"
{ yyval.ttype = get_parm_info (1); ;
break;}
case 395:
#line 2241 "c-parse.y"
{ yyval.ttype = get_parm_info (0); ;
break;}
case 396:
#line 2246 "c-parse.y"
{ push_parm_decl (yyvsp[0].ttype); ;
break;}
case 397:
#line 2248 "c-parse.y"
{ push_parm_decl (yyvsp[0].ttype); ;
break;}
case 398:
#line 2255 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
build_tree_list (prefix_attributes,
yyvsp[0].ttype));
current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 399:
#line 2264 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
build_tree_list (prefix_attributes,
yyvsp[0].ttype));
current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 400:
#line 2273 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
build_tree_list (prefix_attributes,
yyvsp[0].ttype));
current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 401:
#line 2282 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
build_tree_list (prefix_attributes,
yyvsp[0].ttype));
current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 402:
#line 2292 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
build_tree_list (prefix_attributes,
yyvsp[0].ttype));
current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 403:
#line 2306 "c-parse.y"
{ pushlevel (0);
clear_parm_order ();
declare_parm_level (1); ;
break;}
case 404:
#line 2310 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
parmlist_tags_warning ();
poplevel (0, 0, 0); ;
break;}
case 406:
#line 2318 "c-parse.y"
{ tree t;
for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t))
if (TREE_VALUE (t) == NULL_TREE)
error ("`...' in old-style identifier list");
yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
break;}
case 407:
#line 2328 "c-parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
break;}
case 408:
#line 2330 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
case 409:
#line 2336 "c-parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
break;}
case 410:
#line 2338 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
case 411:
#line 2343 "c-parse.y"
{ yyval.itype = pedantic;
pedantic = 0; ;
break;}
}
#line 543 "/usr/share/bison.simple"
yyvsp -= yylen;
yyssp -= yylen;
#ifdef YYLSP_NEEDED
yylsp -= yylen;
#endif
#if YYDEBUG != 0
if (yydebug)
{
short *ssp1 = yyss - 1;
fprintf (stderr, "state stack now");
while (ssp1 != yyssp)
fprintf (stderr, " %d", *++ssp1);
fprintf (stderr, "\n");
}
#endif
*++yyvsp = yyval;
#ifdef YYLSP_NEEDED
yylsp++;
if (yylen == 0)
{
yylsp->first_line = yylloc.first_line;
yylsp->first_column = yylloc.first_column;
yylsp->last_line = (yylsp-1)->last_line;
yylsp->last_column = (yylsp-1)->last_column;
yylsp->text = 0;
}
else
{
yylsp->last_line = (yylsp+yylen-1)->last_line;
yylsp->last_column = (yylsp+yylen-1)->last_column;
}
#endif
yyn = yyr1[yyn];
yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
yystate = yytable[yystate];
else
yystate = yydefgoto[yyn - YYNTBASE];
goto yynewstate;
yyerrlab:
if (! yyerrstatus)
{
++yynerrs;
#ifdef YYERROR_VERBOSE
yyn = yypact[yystate];
if (yyn > YYFLAG && yyn < YYLAST)
{
int size = 0;
char *msg;
int x, count;
count = 0;
for (x = (yyn < 0 ? -yyn : 0);
x < (sizeof(yytname) / sizeof(char *)); x++)
if (yycheck[x + yyn] == x)
size += strlen(yytname[x]) + 15, count++;
msg = (char *) malloc(size + 15);
if (msg != 0)
{
strcpy(msg, "parse error");
if (count < 5)
{
count = 0;
for (x = (yyn < 0 ? -yyn : 0);
x < (sizeof(yytname) / sizeof(char *)); x++)
if (yycheck[x + yyn] == x)
{
strcat(msg, count == 0 ? ", expecting `" : " or `");
strcat(msg, yytname[x]);
strcat(msg, "'");
count++;
}
}
yyerror(msg);
free(msg);
}
else
yyerror ("parse error; also virtual memory exceeded");
}
else
#endif
yyerror("parse error");
}
goto yyerrlab1;
yyerrlab1:
if (yyerrstatus == 3)
{
if (yychar == YYEOF)
YYABORT;
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
#endif
yychar = YYEMPTY;
}
yyerrstatus = 3;
goto yyerrhandle;
yyerrdefault:
#if 0
yyn = yydefact[yystate];
if (yyn) goto yydefault;
#endif
yyerrpop:
if (yyssp == yyss) YYABORT;
yyvsp--;
yystate = *--yyssp;
#ifdef YYLSP_NEEDED
yylsp--;
#endif
#if YYDEBUG != 0
if (yydebug)
{
short *ssp1 = yyss - 1;
fprintf (stderr, "Error: state stack now");
while (ssp1 != yyssp)
fprintf (stderr, " %d", *++ssp1);
fprintf (stderr, "\n");
}
#endif
yyerrhandle:
yyn = yypact[yystate];
if (yyn == YYFLAG)
goto yyerrdefault;
yyn += YYTERROR;
if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
goto yyerrdefault;
yyn = yytable[yyn];
if (yyn < 0)
{
if (yyn == YYFLAG)
goto yyerrpop;
yyn = -yyn;
goto yyreduce;
}
else if (yyn == 0)
goto yyerrpop;
if (yyn == YYFINAL)
YYACCEPT;
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Shifting error token, ");
#endif
*++yyvsp = yylval;
#ifdef YYLSP_NEEDED
*++yylsp = yylloc;
#endif
yystate = yyn;
goto yynewstate;
yyacceptlab:
if (yyfree_stacks)
{
free (yyss);
free (yyvs);
#ifdef YYLSP_NEEDED
free (yyls);
#endif
}
return 0;
yyabortlab:
if (yyfree_stacks)
{
free (yyss);
free (yyvs);
#ifdef YYLSP_NEEDED
free (yyls);
#endif
}
return 1;
}
#line 2347 "c-parse.y"
#if defined (MODERN_OBJC_SYNTAX) && !defined (OBJC_GRAMMAR)
void objc_begin_function_pragma() {}
void objc_end_function_pragma() {}
void objc_selector_alias_pragma() {}
#endif