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