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
01656b25
Commit
01656b25
authored
Apr 26, 1999
by
Richard Henderson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update.
From-SVN: r26649
parent
5dadc304
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
447 additions
and
427 deletions
+447
-427
gcc/objc/objc-parse.c
+432
-422
gcc/objc/objc-parse.y
+15
-5
No files found.
gcc/objc/objc-parse.c
View file @
01656b25
...
...
@@ -438,55 +438,55 @@ static const short yyrline[] = { 0,
410
,
414
,
442
,
448
,
451
,
454
,
457
,
459
,
463
,
467
,
471
,
473
,
476
,
480
,
507
,
509
,
511
,
513
,
515
,
517
,
519
,
521
,
523
,
525
,
527
,
529
,
531
,
533
,
537
,
539
,
543
,
545
,
548
,
552
,
554
,
561
,
564
,
5
67
,
573
,
73
3
,
7
34
,
736
,
742
,
744
,
758
,
781
,
783
,
785
,
797
,
81
1
,
8
13
,
815
,
817
,
819
,
821
,
823
,
828
,
830
,
836
,
83
8
,
8
42
,
844
,
845
,
855
,
860
,
862
,
863
,
864
,
871
,
87
7
,
8
82
,
885
,
893
,
898
,
900
,
901
,
902
,
909
,
920
,
92
4
,
9
30
,
935
,
940
,
945
,
947
,
949
,
958
,
961
,
965
,
96
7
,
9
69
,
974
,
978
,
981
,
985
,
988
,
990
,
1002
,
1005
,
100
7
,
10
09
,
1013
,
1017
,
1019
,
1022
,
1035
,
1038
,
1042
,
1044
,
105
2
,
10
53
,
1054
,
1058
,
1060
,
1065
,
1067
,
1069
,
1075
,
1076
,
107
7
,
10
80
,
1082
,
1085
,
1087
,
1090
,
1093
,
1099
,
1106
,
1108
,
111
5
,
11
22
,
1125
,
1132
,
1135
,
1139
,
1142
,
1146
,
1151
,
1154
,
115
8
,
11
61
,
1163
,
1165
,
1167
,
1174
,
1176
,
1177
,
1178
,
1183
,
118
5
,
1
190
,
1198
,
1203
,
1207
,
1210
,
1212
,
1217
,
1219
,
1220
,
122
3
,
12
23
,
1226
,
1229
,
1231
,
1233
,
1236
,
1238
,
1241
,
1249
,
126
0
,
12
68
,
1272
,
1283
,
1291
,
1298
,
1300
,
1305
,
1308
,
1313
,
131
5
,
13
17
,
1324
,
1326
,
1327
,
1335
,
1341
,
1343
,
1345
,
1352
,
135
4
,
13
60
,
1366
,
1368
,
1370
,
1372
,
1379
,
1381
,
1384
,
1387
,
139
1
,
1
394
,
1398
,
1401
,
1405
,
1410
,
1412
,
1416
,
1418
,
1420
,
142
2
,
14
26
,
1428
,
1431
,
1434
,
1437
,
1440
,
1444
,
1446
,
1449
,
145
1
,
14
56
,
1459
,
1464
,
1466
,
1468
,
1472
,
1496
,
1503
,
1508
,
151
4
,
15
19
,
1521
,
1526
,
1528
,
1532
,
1536
,
1540
,
1550
,
1552
,
155
7
,
15
62
,
1565
,
1569
,
1572
,
1576
,
1579
,
1582
,
1585
,
1589
,
159
2
,
1
596
,
1600
,
1602
,
1604
,
1606
,
1608
,
1610
,
1612
,
1614
,
162
4
,
16
32
,
1634
,
1636
,
1640
,
1642
,
1645
,
1648
,
1661
,
1663
,
166
8
,
16
70
,
1673
,
1687
,
1690
,
1693
,
1695
,
1697
,
1705
,
1713
,
172
4
,
17
29
,
1732
,
1746
,
1755
,
1759
,
1763
,
1767
,
1773
,
1777
,
178
2
,
17
85
,
1790
,
1793
,
1794
,
1811
,
1816
,
1819
,
1831
,
1833
,
184
3
,
18
53
,
1854
,
1862
,
1865
,
1877
,
1881
,
1898
,
1908
,
1917
,
192
2
,
19
27
,
1932
,
1936
,
1940
,
1951
,
1958
,
1965
,
1972
,
1983
,
198
9
,
1992
,
1997
,
2020
,
2054
,
2085
,
2116
,
2131
,
2145
,
2149
,
215
3
,
21
56
,
2161
,
2163
,
2166
,
2168
,
2172
,
2177
,
2180
,
2186
,
219
1
,
2
196
,
2198
,
2207
,
2208
,
2214
,
2216
,
2226
,
2228
,
2232
,
223
5
,
22
41
,
2251
,
2260
,
2269
,
2279
,
2293
,
2298
,
2303
,
2305
,
231
4
,
23
17
,
2322
,
2325
,
2329
,
2337
,
2339
,
2340
,
2341
,
2342
,
234
3
,
23
57
,
2360
,
2364
,
2370
,
2376
,
2383
,
2388
,
2394
,
2401
,
240
7
,
24
13
,
2418
,
2424
,
2431
,
2437
,
2443
,
2449
,
2457
,
2463
,
246
9
,
24
77
,
2484
,
2490
,
2499
,
2506
,
2514
,
2519
,
2522
,
2532
,
253
4
,
25
37
,
2539
,
2540
,
2543
,
2548
,
2549
,
2566
,
2573
,
2579
,
258
3
,
25
86
,
2587
,
2590
,
2598
,
2604
,
2613
,
2623
,
2630
,
2634
,
263
9
,
26
48
,
2655
,
2659
,
2669
,
2671
,
2672
,
2674
,
2676
,
2677
,
267
8
,
26
79
,
2681
,
2683
,
2686
,
2694
,
2701
,
2701
,
2708
,
2714
,
271
6
,
27
22
,
2727
,
2732
,
2741
,
2743
,
2749
,
2751
,
2754
,
2756
,
275
7
,
27
58
,
2761
,
2767
,
2769
,
2773
,
2776
,
2783
,
2789
,
2794
,
280
1
,
28
06
,
2811
,
2816
,
2823
,
2827
,
2830
,
2836
,
2838
,
2839
,
284
0
,
28
43
,
2845
,
2846
,
2847
,
2848
,
2849
,
2850
,
2851
,
2852
,
285
3
,
28
54
,
2855
,
2856
,
2857
,
2858
,
2859
,
2860
,
2861
,
2862
,
286
3
,
28
63
,
2866
,
2872
,
2877
,
2882
,
2888
,
2890
,
2893
,
2895
,
290
2
,
29
14
,
2919
,
2925
,
2927
,
2933
,
2937
,
2938
,
2944
,
2946
,
294
9
,
29
51
,
2957
,
2962
,
2968
,
2975
,
298
4
543
,
545
,
548
,
552
,
554
,
561
,
564
,
5
72
,
583
,
74
3
,
7
44
,
746
,
752
,
754
,
768
,
791
,
793
,
795
,
807
,
82
1
,
8
23
,
825
,
827
,
829
,
831
,
833
,
838
,
840
,
846
,
84
8
,
8
52
,
854
,
855
,
865
,
870
,
872
,
873
,
874
,
881
,
88
7
,
8
92
,
895
,
903
,
908
,
910
,
911
,
912
,
919
,
930
,
93
4
,
9
40
,
945
,
950
,
955
,
957
,
959
,
968
,
971
,
975
,
97
7
,
9
79
,
984
,
988
,
991
,
995
,
998
,
1000
,
1012
,
1015
,
101
7
,
10
19
,
1023
,
1027
,
1029
,
1032
,
1045
,
1048
,
1052
,
1054
,
106
2
,
10
63
,
1064
,
1068
,
1070
,
1075
,
1077
,
1079
,
1085
,
1086
,
108
7
,
10
90
,
1092
,
1095
,
1097
,
1100
,
1103
,
1109
,
1116
,
1118
,
112
5
,
11
32
,
1135
,
1142
,
1145
,
1149
,
1152
,
1156
,
1161
,
1164
,
116
8
,
11
71
,
1173
,
1175
,
1177
,
1184
,
1186
,
1187
,
1188
,
1193
,
119
5
,
1
200
,
1208
,
1213
,
1217
,
1220
,
1222
,
1227
,
1229
,
1230
,
123
3
,
12
33
,
1236
,
1239
,
1241
,
1243
,
1246
,
1248
,
1251
,
1259
,
127
0
,
12
78
,
1282
,
1293
,
1301
,
1308
,
1310
,
1315
,
1318
,
1323
,
132
5
,
13
27
,
1334
,
1336
,
1337
,
1345
,
1351
,
1353
,
1355
,
1362
,
136
4
,
13
70
,
1376
,
1378
,
1380
,
1382
,
1389
,
1391
,
1394
,
1397
,
140
1
,
1
404
,
1408
,
1411
,
1415
,
1420
,
1422
,
1426
,
1428
,
1430
,
143
2
,
14
36
,
1438
,
1441
,
1444
,
1447
,
1450
,
1454
,
1456
,
1459
,
146
1
,
14
66
,
1469
,
1474
,
1476
,
1478
,
1482
,
1506
,
1513
,
1518
,
152
4
,
15
29
,
1531
,
1536
,
1538
,
1542
,
1546
,
1550
,
1560
,
1562
,
156
7
,
15
72
,
1575
,
1579
,
1582
,
1586
,
1589
,
1592
,
1595
,
1599
,
160
2
,
1
606
,
1610
,
1612
,
1614
,
1616
,
1618
,
1620
,
1622
,
1624
,
163
4
,
16
42
,
1644
,
1646
,
1650
,
1652
,
1655
,
1658
,
1671
,
1673
,
167
8
,
16
80
,
1683
,
1697
,
1700
,
1703
,
1705
,
1707
,
1715
,
1723
,
173
4
,
17
39
,
1742
,
1756
,
1765
,
1769
,
1773
,
1777
,
1783
,
1787
,
179
2
,
17
95
,
1800
,
1803
,
1804
,
1821
,
1826
,
1829
,
1841
,
1843
,
185
3
,
18
63
,
1864
,
1872
,
1875
,
1887
,
1891
,
1908
,
1918
,
1927
,
193
2
,
19
37
,
1942
,
1946
,
1950
,
1961
,
1968
,
1975
,
1982
,
1993
,
199
9
,
2002
,
2007
,
2030
,
2064
,
2095
,
2126
,
2141
,
2155
,
2159
,
216
3
,
21
66
,
2171
,
2173
,
2176
,
2178
,
2182
,
2187
,
2190
,
2196
,
220
1
,
2
206
,
2208
,
2217
,
2218
,
2224
,
2226
,
2236
,
2238
,
2242
,
224
5
,
22
51
,
2261
,
2270
,
2279
,
2289
,
2303
,
2308
,
2313
,
2315
,
232
4
,
23
27
,
2332
,
2335
,
2339
,
2347
,
2349
,
2350
,
2351
,
2352
,
235
3
,
23
67
,
2370
,
2374
,
2380
,
2386
,
2393
,
2398
,
2404
,
2411
,
241
7
,
24
23
,
2428
,
2434
,
2441
,
2447
,
2453
,
2459
,
2467
,
2473
,
247
9
,
24
87
,
2494
,
2500
,
2509
,
2516
,
2524
,
2529
,
2532
,
2542
,
254
4
,
25
47
,
2549
,
2550
,
2553
,
2558
,
2559
,
2576
,
2583
,
2589
,
259
3
,
25
96
,
2597
,
2600
,
2608
,
2614
,
2623
,
2633
,
2640
,
2644
,
264
9
,
26
58
,
2665
,
2669
,
2679
,
2681
,
2682
,
2684
,
2686
,
2687
,
268
8
,
26
89
,
2691
,
2693
,
2696
,
2704
,
2711
,
2711
,
2718
,
2724
,
272
6
,
27
32
,
2737
,
2742
,
2751
,
2753
,
2759
,
2761
,
2764
,
2766
,
276
7
,
27
68
,
2771
,
2777
,
2779
,
2783
,
2786
,
2793
,
2799
,
2804
,
281
1
,
28
16
,
2821
,
2826
,
2833
,
2837
,
2840
,
2846
,
2848
,
2849
,
285
0
,
28
53
,
2855
,
2856
,
2857
,
2858
,
2859
,
2860
,
2861
,
2862
,
286
3
,
28
64
,
2865
,
2866
,
2867
,
2868
,
2869
,
2870
,
2871
,
2872
,
287
3
,
28
73
,
2876
,
2882
,
2887
,
2892
,
2898
,
2900
,
2903
,
2905
,
291
2
,
29
24
,
2929
,
2935
,
2937
,
2943
,
2947
,
2948
,
2954
,
2956
,
295
9
,
29
61
,
2967
,
2972
,
2978
,
2985
,
299
4
};
#endif
...
...
@@ -2559,17 +2559,27 @@ case 86:
break
;}
case
87
:
#line 565 "objc-parse.y"
{
yyval
.
ttype
=
build_modify_expr
(
yyvsp
[
-
2
].
ttype
,
NOP_EXPR
,
yyvsp
[
0
].
ttype
);
C_SET_EXP_ORIGINAL_CODE
(
yyval
.
ttype
,
MODIFY_EXPR
);
;
{
char
class
;
yyval
.
ttype
=
build_modify_expr
(
yyvsp
[
-
2
].
ttype
,
NOP_EXPR
,
yyvsp
[
0
].
ttype
);
class
=
TREE_CODE_CLASS
(
TREE_CODE
(
yyval
.
ttype
));
if
(
class
==
'e'
||
class
==
'1'
||
class
==
'2'
||
class
==
'<'
)
C_SET_EXP_ORIGINAL_CODE
(
yyval
.
ttype
,
MODIFY_EXPR
);
;
break
;}
case
88
:
#line 568 "objc-parse.y"
{
yyval
.
ttype
=
build_modify_expr
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
code
,
yyvsp
[
0
].
ttype
);
#line 573 "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. */
C_SET_EXP_ORIGINAL_CODE
(
yyval
.
ttype
,
ERROR_MARK
);
;
class
=
TREE_CODE_CLASS
(
TREE_CODE
(
yyval
.
ttype
));
if
(
class
==
'e'
||
class
==
'1'
||
class
==
'2'
||
class
==
'<'
)
C_SET_EXP_ORIGINAL_CODE
(
yyval
.
ttype
,
ERROR_MARK
);
;
break
;}
case
89
:
#line 5
7
5 "objc-parse.y"
#line 5
8
5 "objc-parse.y"
{
yyval
.
ttype
=
lastiddecl
;
if
(
!
yyval
.
ttype
||
yyval
.
ttype
==
error_mark_node
)
...
...
@@ -2730,11 +2740,11 @@ case 89:
;
break
;}
case
91
:
#line 7
3
5 "objc-parse.y"
#line 7
4
5 "objc-parse.y"
{
yyval
.
ttype
=
combine_strings
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
92
:
#line 7
3
7 "objc-parse.y"
#line 7
4
7 "objc-parse.y"
{
char
class
=
TREE_CODE_CLASS
(
TREE_CODE
(
yyvsp
[
-
1
].
ttype
));
if
(
class
==
'e'
||
class
==
'1'
||
class
==
'2'
||
class
==
'<'
)
...
...
@@ -2742,11 +2752,11 @@ case 92:
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
case
93
:
#line 7
4
3 "objc-parse.y"
#line 7
5
3 "objc-parse.y"
{
yyval
.
ttype
=
error_mark_node
;
;
break
;}
case
94
:
#line 7
4
5 "objc-parse.y"
#line 7
5
5 "objc-parse.y"
{
if
(
current_function_decl
==
0
)
{
error
(
"braced-group within expression allowed only inside a function"
);
...
...
@@ -2762,7 +2772,7 @@ case 94:
yyval
.
ttype
=
expand_start_stmt_expr
();
;
break
;}
case
95
:
#line 7
5
9 "objc-parse.y"
#line 7
6
9 "objc-parse.y"
{
tree
rtl_exp
;
if
(
pedantic
)
pedwarn
(
"ANSI C forbids braced-groups within expressions"
);
...
...
@@ -2787,15 +2797,15 @@ case 95:
;
break
;}
case
96
:
#line 7
8
2 "objc-parse.y"
#line 7
9
2 "objc-parse.y"
{
yyval
.
ttype
=
build_function_call
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
97
:
#line 7
8
4 "objc-parse.y"
#line 7
9
4 "objc-parse.y"
{
yyval
.
ttype
=
build_array_ref
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
98
:
#line 7
8
6 "objc-parse.y"
#line 7
9
6 "objc-parse.y"
{
if
(
doing_objc_thang
)
{
...
...
@@ -2809,7 +2819,7 @@ case 98:
;
break
;}
case
99
:
#line
79
8 "objc-parse.y"
#line
80
8 "objc-parse.y"
{
tree
expr
=
build_indirect_ref
(
yyvsp
[
-
2
].
ttype
,
"->"
);
...
...
@@ -2825,80 +2835,80 @@ case 99:
;
break
;}
case
100
:
#line 8
1
2 "objc-parse.y"
#line 8
2
2 "objc-parse.y"
{
yyval
.
ttype
=
build_unary_op
(
POSTINCREMENT_EXPR
,
yyvsp
[
-
1
].
ttype
,
0
);
;
break
;}
case
101
:
#line 8
1
4 "objc-parse.y"
#line 8
2
4 "objc-parse.y"
{
yyval
.
ttype
=
build_unary_op
(
POSTDECREMENT_EXPR
,
yyvsp
[
-
1
].
ttype
,
0
);
;
break
;}
case
102
:
#line 8
1
6 "objc-parse.y"
#line 8
2
6 "objc-parse.y"
{
yyval
.
ttype
=
build_message_expr
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
103
:
#line 8
1
8 "objc-parse.y"
#line 8
2
8 "objc-parse.y"
{
yyval
.
ttype
=
build_selector_expr
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
104
:
#line 8
2
0 "objc-parse.y"
#line 8
3
0 "objc-parse.y"
{
yyval
.
ttype
=
build_protocol_expr
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
105
:
#line 8
2
2 "objc-parse.y"
#line 8
3
2 "objc-parse.y"
{
yyval
.
ttype
=
build_encode_expr
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
106
:
#line 8
2
4 "objc-parse.y"
#line 8
3
4 "objc-parse.y"
{
yyval
.
ttype
=
build_objc_string_object
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
108
:
#line 8
3
1 "objc-parse.y"
#line 8
4
1 "objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
110
:
#line 8
3
9 "objc-parse.y"
#line 8
4
9 "objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
113
:
#line 8
4
7 "objc-parse.y"
#line 8
5
7 "objc-parse.y"
{
c_mark_varargs
();
if
(
pedantic
)
pedwarn
(
"ANSI C does not permit use of `varargs.h'"
);
;
break
;}
case
114
:
#line 8
5
7 "objc-parse.y"
#line 8
6
7 "objc-parse.y"
{
;
break
;}
case
119
:
#line 8
7
3 "objc-parse.y"
#line 8
8
3 "objc-parse.y"
{
current_declspecs
=
TREE_VALUE
(
declspec_stack
);
prefix_attributes
=
TREE_PURPOSE
(
declspec_stack
);
declspec_stack
=
TREE_CHAIN
(
declspec_stack
);
resume_momentary
(
yyvsp
[
-
2
].
itype
);
;
break
;}
case
120
:
#line 8
7
8 "objc-parse.y"
#line 8
8
8 "objc-parse.y"
{
current_declspecs
=
TREE_VALUE
(
declspec_stack
);
prefix_attributes
=
TREE_PURPOSE
(
declspec_stack
);
declspec_stack
=
TREE_CHAIN
(
declspec_stack
);
resume_momentary
(
yyvsp
[
-
2
].
itype
);
;
break
;}
case
121
:
#line 8
8
3 "objc-parse.y"
#line 8
9
3 "objc-parse.y"
{
shadow_tag_warned
(
yyvsp
[
-
1
].
ttype
,
1
);
pedwarn
(
"empty declaration"
);
;
break
;}
case
122
:
#line 8
8
6 "objc-parse.y"
#line 8
9
6 "objc-parse.y"
{
pedwarn
(
"empty declaration"
);
;
break
;}
case
123
:
#line
89
5 "objc-parse.y"
#line
90
5 "objc-parse.y"
{
;
break
;}
case
128
:
#line 9
1
0 "objc-parse.y"
#line 9
2
0 "objc-parse.y"
{
yyval
.
itype
=
suspend_momentary
();
pending_xref_error
();
declspec_stack
=
tree_cons
(
prefix_attributes
,
...
...
@@ -2908,131 +2918,131 @@ case 128:
&
current_declspecs
,
&
prefix_attributes
);
;
break
;}
case
129
:
#line 9
2
1 "objc-parse.y"
#line 9
3
1 "objc-parse.y"
{
prefix_attributes
=
chainon
(
prefix_attributes
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
130
:
#line 9
2
6 "objc-parse.y"
#line 9
3
6 "objc-parse.y"
{
current_declspecs
=
TREE_VALUE
(
declspec_stack
);
prefix_attributes
=
TREE_PURPOSE
(
declspec_stack
);
declspec_stack
=
TREE_CHAIN
(
declspec_stack
);
resume_momentary
(
yyvsp
[
-
2
].
itype
);
;
break
;}
case
131
:
#line 9
3
1 "objc-parse.y"
#line 9
4
1 "objc-parse.y"
{
current_declspecs
=
TREE_VALUE
(
declspec_stack
);
prefix_attributes
=
TREE_PURPOSE
(
declspec_stack
);
declspec_stack
=
TREE_CHAIN
(
declspec_stack
);
resume_momentary
(
yyvsp
[
-
2
].
itype
);
;
break
;}
case
132
:
#line 9
3
6 "objc-parse.y"
#line 9
4
6 "objc-parse.y"
{
current_declspecs
=
TREE_VALUE
(
declspec_stack
);
prefix_attributes
=
TREE_PURPOSE
(
declspec_stack
);
declspec_stack
=
TREE_CHAIN
(
declspec_stack
);
resume_momentary
(
yyvsp
[
-
1
].
itype
);
;
break
;}
case
133
:
#line 9
4
1 "objc-parse.y"
#line 9
5
1 "objc-parse.y"
{
current_declspecs
=
TREE_VALUE
(
declspec_stack
);
prefix_attributes
=
TREE_PURPOSE
(
declspec_stack
);
declspec_stack
=
TREE_CHAIN
(
declspec_stack
);
resume_momentary
(
yyvsp
[
-
1
].
itype
);
;
break
;}
case
134
:
#line 9
4
6 "objc-parse.y"
#line 9
5
6 "objc-parse.y"
{
shadow_tag
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
135
:
#line 9
4
8 "objc-parse.y"
#line 9
5
8 "objc-parse.y"
{
pedwarn
(
"empty declaration"
);
;
break
;}
case
136
:
#line 9
5
0 "objc-parse.y"
#line 9
6
0 "objc-parse.y"
{
pedantic
=
yyvsp
[
-
1
].
itype
;
;
break
;}
case
137
:
#line 9
6
0 "objc-parse.y"
#line 9
7
0 "objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
138
:
#line 9
6
2 "objc-parse.y"
#line 9
7
2 "objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
0
].
ttype
,
tree_cons
(
NULL_TREE
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
2
].
ttype
));
;
break
;}
case
139
:
#line 9
6
6 "objc-parse.y"
#line 9
7
6 "objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
140
:
#line 9
6
8 "objc-parse.y"
#line 9
7
8 "objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
141
:
#line 9
7
0 "objc-parse.y"
#line 9
8
0 "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
142
:
#line 9
7
5 "objc-parse.y"
#line 9
8
5 "objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
yyvsp
[
0
].
ttype
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
143
:
#line 9
8
0 "objc-parse.y"
#line 9
9
0 "objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
144
:
#line 9
8
2 "objc-parse.y"
#line 9
9
2 "objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
0
].
ttype
,
tree_cons
(
NULL_TREE
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
2
].
ttype
));
;
break
;}
case
145
:
#line 9
8
7 "objc-parse.y"
#line 9
9
7 "objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
146
:
#line 9
8
9 "objc-parse.y"
#line 9
9
9 "objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
147
:
#line
99
1 "objc-parse.y"
#line
100
1 "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
148
:
#line 10
0
4 "objc-parse.y"
#line 10
1
4 "objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
149
:
#line 10
0
6 "objc-parse.y"
#line 10
1
6 "objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
yyvsp
[
0
].
ttype
,
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
150
:
#line 10
0
8 "objc-parse.y"
#line 10
1
8 "objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
151
:
#line 10
1
0 "objc-parse.y"
#line 10
2
0 "objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
yyvsp
[
0
].
ttype
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
152
:
#line 10
1
5 "objc-parse.y"
#line 10
2
5 "objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
NULL_TREE
);
TREE_STATIC
(
yyval
.
ttype
)
=
1
;
;
break
;}
case
153
:
#line 10
1
8 "objc-parse.y"
#line 10
2
8 "objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
154
:
#line 10
2
0 "objc-parse.y"
#line 10
3
0 "objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ttype
);
TREE_STATIC
(
yyval
.
ttype
)
=
1
;
;
break
;}
case
155
:
#line 10
2
3 "objc-parse.y"
#line 10
3
3 "objc-parse.y"
{
if
(
extra_warnings
&&
TREE_STATIC
(
yyvsp
[
-
1
].
ttype
))
warning
(
"`%s' is not at beginning of declaration"
,
IDENTIFIER_POINTER
(
yyvsp
[
0
].
ttype
));
...
...
@@ -3040,150 +3050,150 @@ case 155:
TREE_STATIC
(
yyval
.
ttype
)
=
TREE_STATIC
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
156
:
#line 10
3
7 "objc-parse.y"
#line 10
4
7 "objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
157
:
#line 10
3
9 "objc-parse.y"
#line 10
4
9 "objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
0
].
ttype
,
tree_cons
(
NULL_TREE
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
2
].
ttype
));
;
break
;}
case
158
:
#line 10
4
3 "objc-parse.y"
#line 10
5
3 "objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
159
:
#line 10
4
5 "objc-parse.y"
#line 10
5
5 "objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
162
:
#line 10
5
5 "objc-parse.y"
#line 10
6
5 "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
163
:
#line 10
5
9 "objc-parse.y"
#line 10
6
9 "objc-parse.y"
{
yyval
.
ttype
=
get_static_reference
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
164
:
#line 10
6
1 "objc-parse.y"
#line 10
7
1 "objc-parse.y"
{
yyval
.
ttype
=
get_object_reference
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
165
:
#line 10
6
6 "objc-parse.y"
#line 10
7
6 "objc-parse.y"
{
yyval
.
ttype
=
get_object_reference
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
166
:
#line 10
6
8 "objc-parse.y"
#line 10
7
8 "objc-parse.y"
{
yyval
.
ttype
=
TREE_TYPE
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
167
:
#line 10
7
0 "objc-parse.y"
#line 10
8
0 "objc-parse.y"
{
yyval
.
ttype
=
groktypename
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
175
:
#line 1
09
2 "objc-parse.y"
#line 1
10
2 "objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
176
:
#line 1
09
4 "objc-parse.y"
#line 1
10
4 "objc-parse.y"
{
if
(
TREE_CHAIN
(
yyvsp
[
-
1
].
ttype
))
yyvsp
[
-
1
].
ttype
=
combine_strings
(
yyvsp
[
-
1
].
ttype
);
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
case
177
:
#line 11
0
1 "objc-parse.y"
#line 11
1
1 "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
178
:
#line 11
0
6 "objc-parse.y"
#line 11
1
6 "objc-parse.y"
{
finish_init
();
finish_decl
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
4
].
ttype
);
;
break
;}
case
179
:
#line 11
0
9 "objc-parse.y"
#line 11
1
9 "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
180
:
#line 11
1
7 "objc-parse.y"
#line 11
2
7 "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
181
:
#line 11
2
2 "objc-parse.y"
#line 11
3
2 "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
182
:
#line 11
2
6 "objc-parse.y"
#line 11
3
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
183
:
#line 11
3
4 "objc-parse.y"
#line 11
4
4 "objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
184
:
#line 11
3
6 "objc-parse.y"
#line 11
4
6 "objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
185
:
#line 11
4
1 "objc-parse.y"
#line 11
5
1 "objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
186
:
#line 11
4
3 "objc-parse.y"
#line 11
5
3 "objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
187
:
#line 11
4
8 "objc-parse.y"
#line 11
5
8 "objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
2
].
ttype
;
;
break
;}
case
188
:
#line 11
5
3 "objc-parse.y"
#line 11
6
3 "objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
189
:
#line 11
5
5 "objc-parse.y"
#line 11
6
5 "objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
190
:
#line 11
6
0 "objc-parse.y"
#line 11
7
0 "objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
191
:
#line 11
6
2 "objc-parse.y"
#line 11
7
2 "objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
192
:
#line 11
6
4 "objc-parse.y"
#line 11
7
4 "objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
3
].
ttype
,
build_tree_list
(
NULL_TREE
,
yyvsp
[
-
1
].
ttype
));
;
break
;}
case
193
:
#line 11
6
6 "objc-parse.y"
#line 11
7
6 "objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
5
].
ttype
,
tree_cons
(
NULL_TREE
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
));
;
break
;}
case
194
:
#line 11
6
8 "objc-parse.y"
#line 11
7
8 "objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
200
:
#line 11
8
6 "objc-parse.y"
#line 11
9
6 "objc-parse.y"
{
really_start_incremental_init
(
NULL_TREE
);
/* Note that the call to clear_momentary
is in process_init_element. */
push_momentary
();
;
break
;}
case
201
:
#line 1
19
1 "objc-parse.y"
#line 1
20
1 "objc-parse.y"
{
yyval
.
ttype
=
pop_init_level
(
0
);
if
(
yyval
.
ttype
==
error_mark_node
&&
!
(
yychar
==
STRING
||
yychar
==
CONSTANT
))
...
...
@@ -3192,36 +3202,36 @@ case 201:
pop_momentary_nofree
();
;
break
;}
case
202
:
#line 1
19
9 "objc-parse.y"
#line 1
20
9 "objc-parse.y"
{
yyval
.
ttype
=
error_mark_node
;
;
break
;}
case
203
:
#line 12
0
5 "objc-parse.y"
#line 12
1
5 "objc-parse.y"
{
if
(
pedantic
)
pedwarn
(
"ANSI C forbids empty initializer braces"
);
;
break
;}
case
209
:
#line 12
2
1 "objc-parse.y"
#line 12
3
1 "objc-parse.y"
{
set_init_label
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
212
:
#line 12
2
8 "objc-parse.y"
#line 12
3
8 "objc-parse.y"
{
push_init_level
(
0
);
;
break
;}
case
213
:
#line 12
3
0 "objc-parse.y"
#line 12
4
0 "objc-parse.y"
{
process_init_element
(
pop_init_level
(
0
));
;
break
;}
case
214
:
#line 12
3
2 "objc-parse.y"
#line 12
4
2 "objc-parse.y"
{
process_init_element
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
218
:
#line 12
4
3 "objc-parse.y"
#line 12
5
3 "objc-parse.y"
{
set_init_label
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
219
:
#line 12
5
1 "objc-parse.y"
#line 12
6
1 "objc-parse.y"
{
push_c_function_context
();
if
(
!
start_function
(
current_declspecs
,
yyvsp
[
0
].
ttype
,
prefix_attributes
,
NULL_TREE
,
1
))
...
...
@@ -3232,16 +3242,16 @@ case 219:
reinit_parse_for_function
();
;
break
;}
case
220
:
#line 12
6
0 "objc-parse.y"
#line 12
7
0 "objc-parse.y"
{
store_parm_decls
();
;
break
;}
case
221
:
#line 12
6
8 "objc-parse.y"
#line 12
7
8 "objc-parse.y"
{
finish_function
(
1
);
pop_c_function_context
();
;
break
;}
case
222
:
#line 12
7
4 "objc-parse.y"
#line 12
8
4 "objc-parse.y"
{
push_c_function_context
();
if
(
!
start_function
(
current_declspecs
,
yyvsp
[
0
].
ttype
,
prefix_attributes
,
NULL_TREE
,
1
))
...
...
@@ -3252,197 +3262,197 @@ case 222:
reinit_parse_for_function
();
;
break
;}
case
223
:
#line 12
8
3 "objc-parse.y"
#line 12
9
3 "objc-parse.y"
{
store_parm_decls
();
;
break
;}
case
224
:
#line 1
29
1 "objc-parse.y"
#line 1
30
1 "objc-parse.y"
{
finish_function
(
1
);
pop_c_function_context
();
;
break
;}
case
227
:
#line 13
0
7 "objc-parse.y"
#line 13
1
7 "objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
case
228
:
#line 13
0
9 "objc-parse.y"
#line 13
1
9 "objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
CALL_EXPR
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
229
:
#line 13
1
4 "objc-parse.y"
#line 13
2
4 "objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
ARRAY_REF
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
230
:
#line 13
1
6 "objc-parse.y"
#line 13
2
6 "objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
ARRAY_REF
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
);
;
break
;}
case
231
:
#line 13
1
8 "objc-parse.y"
#line 13
2
8 "objc-parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
232
:
#line 13
2
5 "objc-parse.y"
#line 13
3
5 "objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
235
:
#line 13
3
7 "objc-parse.y"
#line 13
4
7 "objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
CALL_EXPR
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
236
:
#line 13
4
2 "objc-parse.y"
#line 13
5
2 "objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
ARRAY_REF
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
237
:
#line 13
4
4 "objc-parse.y"
#line 13
5
4 "objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
ARRAY_REF
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
);
;
break
;}
case
238
:
#line 13
4
6 "objc-parse.y"
#line 13
5
6 "objc-parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
239
:
#line 13
5
3 "objc-parse.y"
#line 13
6
3 "objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
241
:
#line 13
6
2 "objc-parse.y"
#line 13
7
2 "objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
CALL_EXPR
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
242
:
#line 13
6
7 "objc-parse.y"
#line 13
7
7 "objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
case
243
:
#line 13
6
9 "objc-parse.y"
#line 13
7
9 "objc-parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
244
:
#line 13
7
1 "objc-parse.y"
#line 13
8
1 "objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
ARRAY_REF
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
245
:
#line 13
7
3 "objc-parse.y"
#line 13
8
3 "objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
ARRAY_REF
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
);
;
break
;}
case
246
:
#line 13
8
0 "objc-parse.y"
#line 13
9
0 "objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
248
:
#line 13
8
6 "objc-parse.y"
#line 13
9
6 "objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
249
:
#line 13
8
8 "objc-parse.y"
#line 13
9
8 "objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
250
:
#line 1
39
3 "objc-parse.y"
#line 1
40
3 "objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
251
:
#line 1
39
5 "objc-parse.y"
#line 1
40
5 "objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
252
:
#line 14
0
0 "objc-parse.y"
#line 14
1
0 "objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
253
:
#line 14
0
2 "objc-parse.y"
#line 14
1
2 "objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
254
:
#line 14
0
7 "objc-parse.y"
#line 14
1
7 "objc-parse.y"
{
yyval
.
ttype
=
start_struct
(
RECORD_TYPE
,
yyvsp
[
-
1
].
ttype
);
/* Start scope of tag before parsing components. */
;
break
;}
case
255
:
#line 14
1
1 "objc-parse.y"
#line 14
2
1 "objc-parse.y"
{
yyval
.
ttype
=
finish_struct
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
2
].
ttype
,
chainon
(
yyvsp
[
-
6
].
ttype
,
yyvsp
[
0
].
ttype
));
;
break
;}
case
256
:
#line 14
1
3 "objc-parse.y"
#line 14
2
3 "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
257
:
#line 14
1
7 "objc-parse.y"
#line 14
2
7 "objc-parse.y"
{
yyval
.
ttype
=
xref_tag
(
RECORD_TYPE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
258
:
#line 14
1
9 "objc-parse.y"
#line 14
2
9 "objc-parse.y"
{
yyval
.
ttype
=
start_struct
(
UNION_TYPE
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
259
:
#line 14
2
1 "objc-parse.y"
#line 14
3
1 "objc-parse.y"
{
yyval
.
ttype
=
finish_struct
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
2
].
ttype
,
chainon
(
yyvsp
[
-
6
].
ttype
,
yyvsp
[
0
].
ttype
));
;
break
;}
case
260
:
#line 14
2
3 "objc-parse.y"
#line 14
3
3 "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
261
:
#line 14
2
7 "objc-parse.y"
#line 14
3
7 "objc-parse.y"
{
yyval
.
ttype
=
xref_tag
(
UNION_TYPE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
262
:
#line 14
2
9 "objc-parse.y"
#line 14
3
9 "objc-parse.y"
{
yyvsp
[
0
].
itype
=
suspend_momentary
();
yyval
.
ttype
=
start_enum
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
263
:
#line 14
3
2 "objc-parse.y"
#line 14
4
2 "objc-parse.y"
{
yyval
.
ttype
=
finish_enum
(
yyvsp
[
-
4
].
ttype
,
nreverse
(
yyvsp
[
-
3
].
ttype
),
chainon
(
yyvsp
[
-
7
].
ttype
,
yyvsp
[
0
].
ttype
));
resume_momentary
(
yyvsp
[
-
5
].
itype
);
;
break
;}
case
264
:
#line 14
3
5 "objc-parse.y"
#line 14
4
5 "objc-parse.y"
{
yyvsp
[
0
].
itype
=
suspend_momentary
();
yyval
.
ttype
=
start_enum
(
NULL_TREE
);
;
break
;}
case
265
:
#line 14
3
8 "objc-parse.y"
#line 14
4
8 "objc-parse.y"
{
yyval
.
ttype
=
finish_enum
(
yyvsp
[
-
4
].
ttype
,
nreverse
(
yyvsp
[
-
3
].
ttype
),
chainon
(
yyvsp
[
-
6
].
ttype
,
yyvsp
[
0
].
ttype
));
resume_momentary
(
yyvsp
[
-
5
].
itype
);
;
break
;}
case
266
:
#line 14
4
1 "objc-parse.y"
#line 14
5
1 "objc-parse.y"
{
yyval
.
ttype
=
xref_tag
(
ENUMERAL_TYPE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
270
:
#line 14
5
2 "objc-parse.y"
#line 14
6
2 "objc-parse.y"
{
if
(
pedantic
&&
!
flag_isoc9x
)
pedwarn
(
"comma at end of enumerator list"
);
;
break
;}
case
271
:
#line 14
5
8 "objc-parse.y"
#line 14
6
8 "objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
272
:
#line 14
6
0 "objc-parse.y"
#line 14
7
0 "objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
pedwarn
(
"no semicolon at end of struct or union"
);
;
break
;}
case
273
:
#line 14
6
5 "objc-parse.y"
#line 14
7
5 "objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
274
:
#line 14
6
7 "objc-parse.y"
#line 14
7
7 "objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
275
:
#line 14
6
9 "objc-parse.y"
#line 14
7
9 "objc-parse.y"
{
if
(
pedantic
)
pedwarn
(
"extra semicolon in struct or union specified"
);
;
break
;}
case
276
:
#line 14
7
3 "objc-parse.y"
#line 14
8
3 "objc-parse.y"
{
tree
interface
=
lookup_interface
(
yyvsp
[
-
1
].
ttype
);
...
...
@@ -3457,7 +3467,7 @@ case 276:
;
break
;}
case
277
:
#line 1
49
8 "objc-parse.y"
#line 1
50
8 "objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
current_declspecs
=
TREE_VALUE
(
declspec_stack
);
prefix_attributes
=
TREE_PURPOSE
(
declspec_stack
);
...
...
@@ -3465,14 +3475,14 @@ case 277:
resume_momentary
(
yyvsp
[
-
1
].
itype
);
;
break
;}
case
278
:
#line 15
0
4 "objc-parse.y"
#line 15
1
4 "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
279
:
#line 15
0
9 "objc-parse.y"
#line 15
1
9 "objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
current_declspecs
=
TREE_VALUE
(
declspec_stack
);
prefix_attributes
=
TREE_PURPOSE
(
declspec_stack
);
...
...
@@ -3480,140 +3490,140 @@ case 279:
resume_momentary
(
yyvsp
[
-
1
].
itype
);
;
break
;}
case
280
:
#line 15
1
5 "objc-parse.y"
#line 15
2
5 "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
281
:
#line 15
2
0 "objc-parse.y"
#line 15
3
0 "objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
282
:
#line 15
2
2 "objc-parse.y"
#line 15
3
2 "objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
pedantic
=
yyvsp
[
-
1
].
itype
;
;
break
;}
case
284
:
#line 15
2
9 "objc-parse.y"
#line 15
3
9 "objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
285
:
#line 15
3
4 "objc-parse.y"
#line 15
4
4 "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
286
:
#line 15
3
8 "objc-parse.y"
#line 15
4
8 "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
287
:
#line 15
4
1 "objc-parse.y"
#line 15
5
1 "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
289
:
#line 15
5
3 "objc-parse.y"
#line 15
6
3 "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
290
:
#line 15
5
8 "objc-parse.y"
#line 15
6
8 "objc-parse.y"
{
yyval
.
ttype
=
error_mark_node
;
;
break
;}
case
291
:
#line 15
6
4 "objc-parse.y"
#line 15
7
4 "objc-parse.y"
{
yyval
.
ttype
=
build_enumerator
(
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
292
:
#line 15
6
6 "objc-parse.y"
#line 15
7
6 "objc-parse.y"
{
yyval
.
ttype
=
build_enumerator
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
293
:
#line 15
7
1 "objc-parse.y"
#line 15
8
1 "objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
294
:
#line 15
7
3 "objc-parse.y"
#line 15
8
3 "objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
295
:
#line 15
7
8 "objc-parse.y"
#line 15
8
8 "objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
297
:
#line 15
8
4 "objc-parse.y"
#line 15
9
4 "objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
298
:
#line 15
8
6 "objc-parse.y"
#line 15
9
6 "objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
299
:
#line 1
59
1 "objc-parse.y"
#line 1
60
1 "objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
300
:
#line 1
59
3 "objc-parse.y"
#line 1
60
3 "objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
301
:
#line 1
59
8 "objc-parse.y"
#line 1
60
8 "objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
case
302
:
#line 16
0
1 "objc-parse.y"
#line 16
1
1 "objc-parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
303
:
#line 16
0
3 "objc-parse.y"
#line 16
1
3 "objc-parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
304
:
#line 16
0
5 "objc-parse.y"
#line 16
1
5 "objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
CALL_EXPR
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
305
:
#line 16
0
7 "objc-parse.y"
#line 16
1
7 "objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
ARRAY_REF
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
306
:
#line 16
0
9 "objc-parse.y"
#line 16
1
9 "objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
ARRAY_REF
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
);
;
break
;}
case
307
:
#line 16
1
1 "objc-parse.y"
#line 16
2
1 "objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
CALL_EXPR
,
NULL_TREE
,
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
308
:
#line 16
1
3 "objc-parse.y"
#line 16
2
3 "objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
ARRAY_REF
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
309
:
#line 16
1
5 "objc-parse.y"
#line 16
2
5 "objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
ARRAY_REF
,
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
310
:
#line 16
2
6 "objc-parse.y"
#line 16
3
6 "objc-parse.y"
{
if
(
pedantic
&&
yyvsp
[
0
].
ends_in_label
)
pedwarn
(
"ANSI C forbids label at end of compound statement"
);
;
break
;}
case
312
:
#line 16
3
5 "objc-parse.y"
#line 16
4
5 "objc-parse.y"
{
yyval
.
ends_in_label
=
yyvsp
[
0
].
ends_in_label
;
;
break
;}
case
313
:
#line 16
3
7 "objc-parse.y"
#line 16
4
7 "objc-parse.y"
{
yyval
.
ends_in_label
=
0
;
;
break
;}
case
317
:
#line 16
4
9 "objc-parse.y"
#line 16
5
9 "objc-parse.y"
{
emit_line_note
(
input_filename
,
lineno
);
pushlevel
(
0
);
clear_last_expr
();
...
...
@@ -3624,12 +3634,12 @@ case 317:
;
break
;}
case
319
:
#line 16
6
4 "objc-parse.y"
#line 16
7
4 "objc-parse.y"
{
if
(
pedantic
)
pedwarn
(
"ANSI C forbids label declarations"
);
;
break
;}
case
322
:
#line 16
7
5 "objc-parse.y"
#line 16
8
5 "objc-parse.y"
{
tree
link
;
for
(
link
=
yyvsp
[
-
1
].
ttype
;
link
;
link
=
TREE_CHAIN
(
link
))
{
...
...
@@ -3640,19 +3650,19 @@ case 322:
;
break
;}
case
323
:
#line 16
8
9 "objc-parse.y"
#line 16
9
9 "objc-parse.y"
{;
break
;}
case
325
:
#line 1
69
3 "objc-parse.y"
#line 1
70
3 "objc-parse.y"
{
compstmt_count
++
;
;
break
;}
case
326
:
#line 1
69
6 "objc-parse.y"
#line 1
70
6 "objc-parse.y"
{
yyval
.
ttype
=
convert
(
void_type_node
,
integer_zero_node
);
;
break
;}
case
327
:
#line 1
69
8 "objc-parse.y"
#line 1
70
8 "objc-parse.y"
{
emit_line_note
(
input_filename
,
lineno
);
expand_end_bindings
(
getdecls
(),
1
,
0
);
yyval
.
ttype
=
poplevel
(
1
,
1
,
0
);
...
...
@@ -3662,7 +3672,7 @@ case 327:
pop_momentary
();
;
break
;}
case
328
:
#line 17
0
6 "objc-parse.y"
#line 17
1
6 "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
);
...
...
@@ -3672,7 +3682,7 @@ case 328:
pop_momentary
();
;
break
;}
case
329
:
#line 17
1
4 "objc-parse.y"
#line 17
2
4 "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
);
...
...
@@ -3682,7 +3692,7 @@ case 329:
pop_momentary
();
;
break
;}
case
332
:
#line 17
3
4 "objc-parse.y"
#line 17
4
4 "objc-parse.y"
{
emit_line_note
(
yyvsp
[
-
5
].
filename
,
yyvsp
[
-
4
].
lineno
);
c_expand_start_cond
(
truthvalue_conversion
(
yyvsp
[
-
1
].
ttype
),
0
,
compstmt_count
);
...
...
@@ -3692,7 +3702,7 @@ case 332:
position_after_white_space
();
;
break
;}
case
333
:
#line 17
4
8 "objc-parse.y"
#line 17
5
8 "objc-parse.y"
{
stmt_count
++
;
compstmt_count
++
;
emit_line_note
(
yyvsp
[
-
2
].
filename
,
yyvsp
[
-
1
].
lineno
);
...
...
@@ -3702,43 +3712,43 @@ case 333:
position_after_white_space
();
;
break
;}
case
334
:
#line 17
5
6 "objc-parse.y"
#line 17
6
6 "objc-parse.y"
{
expand_loop_continue_here
();
;
break
;}
case
335
:
#line 17
6
0 "objc-parse.y"
#line 17
7
0 "objc-parse.y"
{
yyval
.
filename
=
input_filename
;
;
break
;}
case
336
:
#line 17
6
4 "objc-parse.y"
#line 17
7
4 "objc-parse.y"
{
yyval
.
lineno
=
lineno
;
;
break
;}
case
337
:
#line 17
6
9 "objc-parse.y"
#line 17
7
9 "objc-parse.y"
{
;
break
;}
case
338
:
#line 17
7
4 "objc-parse.y"
#line 17
8
4 "objc-parse.y"
{
;
break
;}
case
339
:
#line 17
7
9 "objc-parse.y"
#line 17
8
9 "objc-parse.y"
{
yyval
.
ends_in_label
=
yyvsp
[
0
].
ends_in_label
;
;
break
;}
case
340
:
#line 17
8
4 "objc-parse.y"
#line 17
9
4 "objc-parse.y"
{
yyval
.
ends_in_label
=
0
;
;
break
;}
case
341
:
#line 17
8
6 "objc-parse.y"
#line 17
9
6 "objc-parse.y"
{
yyval
.
ends_in_label
=
1
;
;
break
;}
case
342
:
#line 1
79
2 "objc-parse.y"
#line 1
80
2 "objc-parse.y"
{
stmt_count
++
;
;
break
;}
case
344
:
#line 1
79
5 "objc-parse.y"
#line 1
80
5 "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
...
...
@@ -3757,19 +3767,19 @@ case 344:
clear_momentary
();
;
break
;}
case
345
:
#line 18
1
2 "objc-parse.y"
#line 18
2
2 "objc-parse.y"
{
c_expand_start_else
();
yyvsp
[
-
1
].
itype
=
stmt_count
;
position_after_white_space
();
;
break
;}
case
346
:
#line 18
1
6 "objc-parse.y"
#line 18
2
6 "objc-parse.y"
{
c_expand_end_cond
();
if
(
extra_warnings
&&
stmt_count
==
yyvsp
[
-
3
].
itype
)
warning
(
"empty body in an else-statement"
);
;
break
;}
case
347
:
#line 18
2
0 "objc-parse.y"
#line 18
3
0 "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
...
...
@@ -3780,11 +3790,11 @@ case 347:
"empty body in an if-statement"
);
;
break
;}
case
348
:
#line 18
3
2 "objc-parse.y"
#line 18
4
2 "objc-parse.y"
{
c_expand_end_cond
();
;
break
;}
case
349
:
#line 18
3
4 "objc-parse.y"
#line 18
4
4 "objc-parse.y"
{
stmt_count
++
;
emit_line_note
(
yyvsp
[
-
2
].
filename
,
yyvsp
[
-
1
].
lineno
);
/* The emit_nop used to come before emit_line_note,
...
...
@@ -3796,7 +3806,7 @@ case 349:
emit_nop
();
;
break
;}
case
350
:
#line 18
4
4 "objc-parse.y"
#line 18
5
4 "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. */
...
...
@@ -3807,11 +3817,11 @@ case 350:
position_after_white_space
();
;
break
;}
case
351
:
#line 18
5
3 "objc-parse.y"
#line 18
6
3 "objc-parse.y"
{
expand_end_loop
();
;
break
;}
case
352
:
#line 18
5
6 "objc-parse.y"
#line 18
6
6 "objc-parse.y"
{
emit_line_note
(
input_filename
,
lineno
);
expand_exit_loop_if_false
(
NULL_PTR
,
truthvalue_conversion
(
yyvsp
[
-
2
].
ttype
));
...
...
@@ -3819,12 +3829,12 @@ case 352:
clear_momentary
();
;
break
;}
case
353
:
#line 18
6
3 "objc-parse.y"
#line 18
7
3 "objc-parse.y"
{
expand_end_loop
();
clear_momentary
();
;
break
;}
case
354
:
#line 18
6
7 "objc-parse.y"
#line 18
7
7 "objc-parse.y"
{
stmt_count
++
;
emit_line_note
(
yyvsp
[
-
5
].
filename
,
yyvsp
[
-
4
].
lineno
);
/* See comment in `while' alternative, above. */
...
...
@@ -3837,12 +3847,12 @@ case 354:
;
break
;}
case
355
:
#line 18
7
9 "objc-parse.y"
#line 18
8
9 "objc-parse.y"
{
yyvsp
[
0
].
lineno
=
lineno
;
yyval
.
filename
=
input_filename
;
;
break
;}
case
356
:
#line 18
8
2 "objc-parse.y"
#line 18
9
2 "objc-parse.y"
{
/* Start the loop. Doing this after parsing
all the expressions ensures we will end the loop. */
...
...
@@ -3860,7 +3870,7 @@ case 356:
position_after_white_space
();
;
break
;}
case
357
:
#line 1
89
8 "objc-parse.y"
#line 1
90
8 "objc-parse.y"
{
/* Emit the increment expression, with a line number. */
emit_line_note
(
yyvsp
[
-
4
].
filename
,
yyvsp
[
-
5
].
lineno
);
expand_loop_continue_here
();
...
...
@@ -3873,7 +3883,7 @@ case 357:
expand_end_loop
();
;
break
;}
case
358
:
#line 19
0
9 "objc-parse.y"
#line 19
1
9 "objc-parse.y"
{
stmt_count
++
;
emit_line_note
(
yyvsp
[
-
5
].
filename
,
yyvsp
[
-
4
].
lineno
);
c_expand_start_case
(
yyvsp
[
-
1
].
ttype
);
...
...
@@ -3883,7 +3893,7 @@ case 358:
position_after_white_space
();
;
break
;}
case
359
:
#line 19
1
7 "objc-parse.y"
#line 19
2
7 "objc-parse.y"
{
expand_end_case
(
yyvsp
[
-
3
].
ttype
);
if
(
yychar
==
CONSTANT
||
yychar
==
STRING
)
pop_momentary_nofree
();
...
...
@@ -3891,33 +3901,33 @@ case 359:
pop_momentary
();
;
break
;}
case
360
:
#line 19
2
3 "objc-parse.y"
#line 19
3
3 "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
361
:
#line 19
2
8 "objc-parse.y"
#line 19
3
8 "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
362
:
#line 19
3
3 "objc-parse.y"
#line 19
4
3 "objc-parse.y"
{
stmt_count
++
;
emit_line_note
(
yyvsp
[
-
3
].
filename
,
yyvsp
[
-
2
].
lineno
);
c_expand_return
(
NULL_TREE
);
;
break
;}
case
363
:
#line 19
3
7 "objc-parse.y"
#line 19
4
7 "objc-parse.y"
{
stmt_count
++
;
emit_line_note
(
yyvsp
[
-
4
].
filename
,
yyvsp
[
-
3
].
lineno
);
c_expand_return
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
364
:
#line 19
4
1 "objc-parse.y"
#line 19
5
1 "objc-parse.y"
{
stmt_count
++
;
emit_line_note
(
yyvsp
[
-
7
].
filename
,
yyvsp
[
-
6
].
lineno
);
STRIP_NOPS
(
yyvsp
[
-
2
].
ttype
);
...
...
@@ -3929,7 +3939,7 @@ case 364:
error
(
"argument of `asm' is not a constant string"
);
;
break
;}
case
365
:
#line 19
5
2 "objc-parse.y"
#line 19
6
2 "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
,
...
...
@@ -3937,7 +3947,7 @@ case 365:
input_filename
,
lineno
);
;
break
;}
case
366
:
#line 19
5
9 "objc-parse.y"
#line 19
6
9 "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
,
...
...
@@ -3945,7 +3955,7 @@ case 366:
input_filename
,
lineno
);
;
break
;}
case
367
:
#line 19
6
7 "objc-parse.y"
#line 19
7
7 "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
,
...
...
@@ -3953,7 +3963,7 @@ case 367:
input_filename
,
lineno
);
;
break
;}
case
368
:
#line 19
7
3 "objc-parse.y"
#line 19
8
3 "objc-parse.y"
{
tree
decl
;
stmt_count
++
;
emit_line_note
(
yyvsp
[
-
4
].
filename
,
yyvsp
[
-
3
].
lineno
);
...
...
@@ -3966,7 +3976,7 @@ case 368:
;
break
;}
case
369
:
#line 19
8
4 "objc-parse.y"
#line 19
9
4 "objc-parse.y"
{
if
(
pedantic
)
pedwarn
(
"ANSI C forbids `goto *expr;'"
);
stmt_count
++
;
...
...
@@ -3974,7 +3984,7 @@ case 369:
expand_computed_goto
(
convert
(
ptr_type_node
,
yyvsp
[
-
1
].
ttype
));
;
break
;}
case
372
:
#line
199
9 "objc-parse.y"
#line
200
9 "objc-parse.y"
{
/* The value returned by this action is */
/* 1 if everything is OK */
...
...
@@ -3997,14 +4007,14 @@ case 372:
;
break
;}
case
373
:
#line 20
2
0 "objc-parse.y"
#line 20
3
0 "objc-parse.y"
{
if
(
yyvsp
[
-
1
].
itype
)
iterator_for_loop_end
(
yyvsp
[
-
3
].
ttype
);
;
break
;}
case
374
:
#line 20
5
5 "objc-parse.y"
#line 20
6
5 "objc-parse.y"
{
register
tree
value
=
check_case_value
(
yyvsp
[
-
1
].
ttype
);
register
tree
label
=
build_decl
(
LABEL_DECL
,
NULL_TREE
,
NULL_TREE
);
...
...
@@ -4037,7 +4047,7 @@ case 374:
position_after_white_space
();
;
break
;}
case
375
:
#line 20
8
6 "objc-parse.y"
#line 20
9
6 "objc-parse.y"
{
register
tree
value1
=
check_case_value
(
yyvsp
[
-
3
].
ttype
);
register
tree
value2
=
check_case_value
(
yyvsp
[
-
1
].
ttype
);
register
tree
label
...
...
@@ -4070,7 +4080,7 @@ case 375:
position_after_white_space
();
;
break
;}
case
376
:
#line 21
1
7 "objc-parse.y"
#line 21
2
7 "objc-parse.y"
{
tree
duplicate
;
register
tree
label
...
...
@@ -4087,7 +4097,7 @@ case 376:
position_after_white_space
();
;
break
;}
case
377
:
#line 21
3
2 "objc-parse.y"
#line 21
4
2 "objc-parse.y"
{
tree
label
=
define_label
(
input_filename
,
lineno
,
yyvsp
[
-
2
].
ttype
);
stmt_count
++
;
emit_nop
();
...
...
@@ -4099,52 +4109,52 @@ case 377:
position_after_white_space
();
;
break
;}
case
378
:
#line 21
4
7 "objc-parse.y"
#line 21
5
7 "objc-parse.y"
{
emit_line_note
(
input_filename
,
lineno
);
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
379
:
#line 21
5
0 "objc-parse.y"
#line 21
6
0 "objc-parse.y"
{
emit_line_note
(
input_filename
,
lineno
);
;
break
;}
case
380
:
#line 21
5
5 "objc-parse.y"
#line 21
6
5 "objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
382
:
#line 21
6
2 "objc-parse.y"
#line 21
7
2 "objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
385
:
#line 21
6
9 "objc-parse.y"
#line 21
7
9 "objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
386
:
#line 21
7
4 "objc-parse.y"
#line 21
8
4 "objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
387
:
#line 21
7
9 "objc-parse.y"
#line 21
8
9 "objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
combine_strings
(
yyvsp
[
0
].
ttype
),
NULL_TREE
);
;
break
;}
case
388
:
#line 21
8
1 "objc-parse.y"
#line 21
9
1 "objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
combine_strings
(
yyvsp
[
0
].
ttype
),
yyvsp
[
-
2
].
ttype
);
;
break
;}
case
389
:
#line 21
8
7 "objc-parse.y"
#line 21
9
7 "objc-parse.y"
{
pushlevel
(
0
);
clear_parm_order
();
declare_parm_level
(
0
);
;
break
;}
case
390
:
#line 2
19
1 "objc-parse.y"
#line 2
20
1 "objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
parmlist_tags_warning
();
poplevel
(
0
,
0
,
0
);
;
break
;}
case
392
:
#line 2
19
9 "objc-parse.y"
#line 2
20
9 "objc-parse.y"
{
tree
parm
;
if
(
pedantic
)
pedwarn
(
"ANSI C forbids forward parameter declarations"
);
...
...
@@ -4154,19 +4164,19 @@ case 392:
clear_parm_order
();
;
break
;}
case
393
:
#line 22
0
7 "objc-parse.y"
#line 22
1
7 "objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
394
:
#line 22
0
9 "objc-parse.y"
#line 22
1
9 "objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
395
:
#line 22
1
5 "objc-parse.y"
#line 22
2
5 "objc-parse.y"
{
yyval
.
ttype
=
get_parm_info
(
0
);
;
break
;}
case
396
:
#line 22
1
7 "objc-parse.y"
#line 22
2
7 "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.
...
...
@@ -4178,23 +4188,23 @@ case 396:
;
break
;}
case
397
:
#line 22
2
7 "objc-parse.y"
#line 22
3
7 "objc-parse.y"
{
yyval
.
ttype
=
get_parm_info
(
1
);
;
break
;}
case
398
:
#line 22
2
9 "objc-parse.y"
#line 22
3
9 "objc-parse.y"
{
yyval
.
ttype
=
get_parm_info
(
0
);
;
break
;}
case
399
:
#line 22
3
4 "objc-parse.y"
#line 22
4
4 "objc-parse.y"
{
push_parm_decl
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
400
:
#line 22
3
6 "objc-parse.y"
#line 22
4
6 "objc-parse.y"
{
push_parm_decl
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
401
:
#line 22
4
3 "objc-parse.y"
#line 22
5
3 "objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
build_tree_list
(
current_declspecs
,
yyvsp
[
-
1
].
ttype
),
build_tree_list
(
prefix_attributes
,
...
...
@@ -4205,7 +4215,7 @@ case 401:
resume_momentary
(
yyvsp
[
-
2
].
itype
);
;
break
;}
case
402
:
#line 22
5
2 "objc-parse.y"
#line 22
6
2 "objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
build_tree_list
(
current_declspecs
,
yyvsp
[
-
1
].
ttype
),
build_tree_list
(
prefix_attributes
,
...
...
@@ -4216,7 +4226,7 @@ case 402:
resume_momentary
(
yyvsp
[
-
2
].
itype
);
;
break
;}
case
403
:
#line 22
6
1 "objc-parse.y"
#line 22
7
1 "objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
build_tree_list
(
current_declspecs
,
yyvsp
[
-
1
].
ttype
),
build_tree_list
(
prefix_attributes
,
...
...
@@ -4227,7 +4237,7 @@ case 403:
resume_momentary
(
yyvsp
[
-
2
].
itype
);
;
break
;}
case
404
:
#line 22
7
0 "objc-parse.y"
#line 22
8
0 "objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
build_tree_list
(
current_declspecs
,
yyvsp
[
-
1
].
ttype
),
build_tree_list
(
prefix_attributes
,
...
...
@@ -4238,7 +4248,7 @@ case 404:
resume_momentary
(
yyvsp
[
-
2
].
itype
);
;
break
;}
case
405
:
#line 22
8
0 "objc-parse.y"
#line 22
9
0 "objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
build_tree_list
(
current_declspecs
,
yyvsp
[
-
1
].
ttype
),
build_tree_list
(
prefix_attributes
,
...
...
@@ -4249,19 +4259,19 @@ case 405:
resume_momentary
(
yyvsp
[
-
2
].
itype
);
;
break
;}
case
406
:
#line 2
29
4 "objc-parse.y"
#line 2
30
4 "objc-parse.y"
{
pushlevel
(
0
);
clear_parm_order
();
declare_parm_level
(
1
);
;
break
;}
case
407
:
#line 2
29
8 "objc-parse.y"
#line 2
30
8 "objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
parmlist_tags_warning
();
poplevel
(
0
,
0
,
0
);
;
break
;}
case
409
:
#line 23
0
6 "objc-parse.y"
#line 23
1
6 "objc-parse.y"
{
tree
t
;
for
(
t
=
yyvsp
[
-
1
].
ttype
;
t
;
t
=
TREE_CHAIN
(
t
))
if
(
TREE_VALUE
(
t
)
==
NULL_TREE
)
...
...
@@ -4269,28 +4279,28 @@ case 409:
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
410
:
#line 23
1
6 "objc-parse.y"
#line 23
2
6 "objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
411
:
#line 23
1
8 "objc-parse.y"
#line 23
2
8 "objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
2
].
ttype
,
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
));
;
break
;}
case
412
:
#line 23
2
4 "objc-parse.y"
#line 23
3
4 "objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
413
:
#line 23
2
6 "objc-parse.y"
#line 23
3
6 "objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
2
].
ttype
,
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
));
;
break
;}
case
414
:
#line 23
3
1 "objc-parse.y"
#line 23
4
1 "objc-parse.y"
{
yyval
.
itype
=
pedantic
;
pedantic
=
0
;
;
break
;}
case
420
:
#line 23
4
4 "objc-parse.y"
#line 23
5
4 "objc-parse.y"
{
if
(
objc_implementation_context
)
{
...
...
@@ -4303,27 +4313,27 @@ case 420:
;
break
;}
case
421
:
#line 23
5
9 "objc-parse.y"
#line 23
6
9 "objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
422
:
#line 23
6
1 "objc-parse.y"
#line 23
7
1 "objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
2
].
ttype
,
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
));
;
break
;}
case
423
:
#line 23
6
6 "objc-parse.y"
#line 23
7
6 "objc-parse.y"
{
objc_declare_class
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
424
:
#line 23
7
2 "objc-parse.y"
#line 23
8
2 "objc-parse.y"
{
objc_declare_alias
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
425
:
#line 23
7
8 "objc-parse.y"
#line 23
8
8 "objc-parse.y"
{
objc_interface_context
=
objc_ivar_context
=
start_class
(
CLASS_INTERFACE_TYPE
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
...
...
@@ -4331,20 +4341,20 @@ case 425:
;
break
;}
case
426
:
#line 23
8
4 "objc-parse.y"
#line 23
9
4 "objc-parse.y"
{
continue_class
(
objc_interface_context
);
;
break
;}
case
427
:
#line 23
8
9 "objc-parse.y"
#line 23
9
9 "objc-parse.y"
{
finish_class
(
objc_interface_context
);
objc_interface_context
=
NULL_TREE
;
;
break
;}
case
428
:
#line 2
39
5 "objc-parse.y"
#line 2
40
5 "objc-parse.y"
{
objc_interface_context
=
start_class
(
CLASS_INTERFACE_TYPE
,
yyvsp
[
-
1
].
ttype
,
NULL_TREE
,
yyvsp
[
0
].
ttype
);
...
...
@@ -4352,14 +4362,14 @@ case 428:
;
break
;}
case
429
:
#line 24
0
2 "objc-parse.y"
#line 24
1
2 "objc-parse.y"
{
finish_class
(
objc_interface_context
);
objc_interface_context
=
NULL_TREE
;
;
break
;}
case
430
:
#line 24
0
8 "objc-parse.y"
#line 24
1
8 "objc-parse.y"
{
objc_interface_context
=
objc_ivar_context
=
start_class
(
CLASS_INTERFACE_TYPE
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
);
...
...
@@ -4367,20 +4377,20 @@ case 430:
;
break
;}
case
431
:
#line 24
1
4 "objc-parse.y"
#line 24
2
4 "objc-parse.y"
{
continue_class
(
objc_interface_context
);
;
break
;}
case
432
:
#line 24
1
9 "objc-parse.y"
#line 24
2
9 "objc-parse.y"
{
finish_class
(
objc_interface_context
);
objc_interface_context
=
NULL_TREE
;
;
break
;}
case
433
:
#line 24
2
5 "objc-parse.y"
#line 24
3
5 "objc-parse.y"
{
objc_interface_context
=
start_class
(
CLASS_INTERFACE_TYPE
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
...
...
@@ -4388,14 +4398,14 @@ case 433:
;
break
;}
case
434
:
#line 24
3
2 "objc-parse.y"
#line 24
4
2 "objc-parse.y"
{
finish_class
(
objc_interface_context
);
objc_interface_context
=
NULL_TREE
;
;
break
;}
case
435
:
#line 24
3
8 "objc-parse.y"
#line 24
4
8 "objc-parse.y"
{
objc_implementation_context
=
objc_ivar_context
=
start_class
(
CLASS_IMPLEMENTATION_TYPE
,
yyvsp
[
-
1
].
ttype
,
NULL_TREE
,
NULL_TREE
);
...
...
@@ -4403,14 +4413,14 @@ case 435:
;
break
;}
case
436
:
#line 24
4
4 "objc-parse.y"
#line 24
5
4 "objc-parse.y"
{
objc_ivar_chain
=
continue_class
(
objc_implementation_context
);
;
break
;}
case
437
:
#line 24
5
0 "objc-parse.y"
#line 24
6
0 "objc-parse.y"
{
objc_implementation_context
=
start_class
(
CLASS_IMPLEMENTATION_TYPE
,
yyvsp
[
0
].
ttype
,
NULL_TREE
,
NULL_TREE
);
...
...
@@ -4419,7 +4429,7 @@ case 437:
;
break
;}
case
438
:
#line 24
5
8 "objc-parse.y"
#line 24
6
8 "objc-parse.y"
{
objc_implementation_context
=
objc_ivar_context
=
start_class
(
CLASS_IMPLEMENTATION_TYPE
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
NULL_TREE
);
...
...
@@ -4427,14 +4437,14 @@ case 438:
;
break
;}
case
439
:
#line 24
6
4 "objc-parse.y"
#line 24
7
4 "objc-parse.y"
{
objc_ivar_chain
=
continue_class
(
objc_implementation_context
);
;
break
;}
case
440
:
#line 24
7
0 "objc-parse.y"
#line 24
8
0 "objc-parse.y"
{
objc_implementation_context
=
start_class
(
CLASS_IMPLEMENTATION_TYPE
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
,
NULL_TREE
);
...
...
@@ -4443,7 +4453,7 @@ case 440:
;
break
;}
case
441
:
#line 24
7
8 "objc-parse.y"
#line 24
8
8 "objc-parse.y"
{
objc_interface_context
=
start_class
(
CATEGORY_INTERFACE_TYPE
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
...
...
@@ -4451,14 +4461,14 @@ case 441:
;
break
;}
case
442
:
#line 24
8
5 "objc-parse.y"
#line 24
9
5 "objc-parse.y"
{
finish_class
(
objc_interface_context
);
objc_interface_context
=
NULL_TREE
;
;
break
;}
case
443
:
#line 2
49
1 "objc-parse.y"
#line 2
50
1 "objc-parse.y"
{
objc_implementation_context
=
start_class
(
CATEGORY_IMPLEMENTATION_TYPE
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
NULL_TREE
);
...
...
@@ -4467,7 +4477,7 @@ case 443:
;
break
;}
case
444
:
#line 25
0
1 "objc-parse.y"
#line 25
1
1 "objc-parse.y"
{
remember_protocol_qualifiers
();
objc_interface_context
...
...
@@ -4475,7 +4485,7 @@ case 444:
;
break
;}
case
445
:
#line 25
0
7 "objc-parse.y"
#line 25
1
7 "objc-parse.y"
{
forget_protocol_qualifiers
();
finish_protocol
(
objc_interface_context
);
...
...
@@ -4483,13 +4493,13 @@ case 445:
;
break
;}
case
446
:
#line 25
1
6 "objc-parse.y"
#line 25
2
6 "objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
448
:
#line 25
2
4 "objc-parse.y"
#line 25
3
4 "objc-parse.y"
{
if
(
yyvsp
[
-
2
].
code
==
LT_EXPR
&&
yyvsp
[
0
].
code
==
GT_EXPR
)
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
...
...
@@ -4498,32 +4508,32 @@ case 448:
;
break
;}
case
451
:
#line 25
3
8 "objc-parse.y"
#line 25
4
8 "objc-parse.y"
{
objc_public_flag
=
2
;
;
break
;}
case
452
:
#line 25
3
9 "objc-parse.y"
#line 25
4
9 "objc-parse.y"
{
objc_public_flag
=
0
;
;
break
;}
case
453
:
#line 25
4
0 "objc-parse.y"
#line 25
5
0 "objc-parse.y"
{
objc_public_flag
=
1
;
;
break
;}
case
454
:
#line 25
4
5 "objc-parse.y"
#line 25
5
5 "objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
456
:
#line 25
5
0 "objc-parse.y"
#line 25
6
0 "objc-parse.y"
{
if
(
pedantic
)
pedwarn
(
"extra semicolon in struct or union specified"
);
;
break
;}
case
457
:
#line 25
6
8 "objc-parse.y"
#line 25
7
8 "objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
current_declspecs
=
TREE_VALUE
(
declspec_stack
);
prefix_attributes
=
TREE_PURPOSE
(
declspec_stack
);
...
...
@@ -4531,7 +4541,7 @@ case 457:
resume_momentary
(
yyvsp
[
-
1
].
itype
);
;
break
;}
case
458
:
#line 25
7
4 "objc-parse.y"
#line 25
8
4 "objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
current_declspecs
=
TREE_VALUE
(
declspec_stack
);
prefix_attributes
=
TREE_PURPOSE
(
declspec_stack
);
...
...
@@ -4539,15 +4549,15 @@ case 458:
resume_momentary
(
yyvsp
[
-
1
].
itype
);
;
break
;}
case
459
:
#line 25
8
0 "objc-parse.y"
#line 25
9
0 "objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
460
:
#line 25
8
5 "objc-parse.y"
#line 25
9
5 "objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
463
:
#line 2
59
2 "objc-parse.y"
#line 2
60
2 "objc-parse.y"
{
yyval
.
ttype
=
add_instance_variable
(
objc_ivar_context
,
objc_public_flag
,
...
...
@@ -4556,7 +4566,7 @@ case 463:
;
break
;}
case
464
:
#line 2
59
9 "objc-parse.y"
#line 2
60
9 "objc-parse.y"
{
yyval
.
ttype
=
add_instance_variable
(
objc_ivar_context
,
objc_public_flag
,
...
...
@@ -4564,7 +4574,7 @@ case 464:
;
break
;}
case
465
:
#line 26
0
5 "objc-parse.y"
#line 26
1
5 "objc-parse.y"
{
yyval
.
ttype
=
add_instance_variable
(
objc_ivar_context
,
objc_public_flag
,
...
...
@@ -4573,7 +4583,7 @@ case 465:
;
break
;}
case
466
:
#line 26
1
5 "objc-parse.y"
#line 26
2
5 "objc-parse.y"
{
remember_protocol_qualifiers
();
if
(
objc_implementation_context
)
...
...
@@ -4583,7 +4593,7 @@ case 466:
;
break
;}
case
467
:
#line 26
2
3 "objc-parse.y"
#line 26
3
3 "objc-parse.y"
{
forget_protocol_qualifiers
();
add_class_method
(
objc_implementation_context
,
yyvsp
[
0
].
ttype
);
...
...
@@ -4592,20 +4602,20 @@ case 467:
;
break
;}
case
468
:
#line 26
3
0 "objc-parse.y"
#line 26
4
0 "objc-parse.y"
{
continue_method_def
();
;
break
;}
case
469
:
#line 26
3
4 "objc-parse.y"
#line 26
4
4 "objc-parse.y"
{
finish_method_def
();
objc_method_context
=
NULL_TREE
;
;
break
;}
case
470
:
#line 26
4
0 "objc-parse.y"
#line 26
5
0 "objc-parse.y"
{
remember_protocol_qualifiers
();
if
(
objc_implementation_context
)
...
...
@@ -4615,7 +4625,7 @@ case 470:
;
break
;}
case
471
:
#line 26
4
8 "objc-parse.y"
#line 26
5
8 "objc-parse.y"
{
forget_protocol_qualifiers
();
add_instance_method
(
objc_implementation_context
,
yyvsp
[
0
].
ttype
);
...
...
@@ -4624,28 +4634,28 @@ case 471:
;
break
;}
case
472
:
#line 26
5
5 "objc-parse.y"
#line 26
6
5 "objc-parse.y"
{
continue_method_def
();
;
break
;}
case
473
:
#line 26
5
9 "objc-parse.y"
#line 26
6
9 "objc-parse.y"
{
finish_method_def
();
objc_method_context
=
NULL_TREE
;
;
break
;}
case
475
:
#line 26
7
1 "objc-parse.y"
#line 26
8
1 "objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
480
:
#line 26
7
8 "objc-parse.y"
#line 26
8
8 "objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
484
:
#line 26
8
8 "objc-parse.y"
#line 26
9
8 "objc-parse.y"
{
/* Remember protocol qualifiers in prototypes. */
remember_protocol_qualifiers
();
...
...
@@ -4653,7 +4663,7 @@ case 484:
;
break
;}
case
485
:
#line 2
69
4 "objc-parse.y"
#line 2
70
4 "objc-parse.y"
{
/* Forget protocol qualifiers here. */
forget_protocol_qualifiers
();
...
...
@@ -4661,7 +4671,7 @@ case 485:
;
break
;}
case
487
:
#line 27
0
2 "objc-parse.y"
#line 27
1
2 "objc-parse.y"
{
/* Remember protocol qualifiers in prototypes. */
remember_protocol_qualifiers
();
...
...
@@ -4669,7 +4679,7 @@ case 487:
;
break
;}
case
488
:
#line 27
0
8 "objc-parse.y"
#line 27
1
8 "objc-parse.y"
{
/* Forget protocol qualifiers here. */
forget_protocol_qualifiers
();
...
...
@@ -4677,94 +4687,94 @@ case 488:
;
break
;}
case
490
:
#line 27
1
8 "objc-parse.y"
#line 27
2
8 "objc-parse.y"
{
yyval
.
ttype
=
build_method_decl
(
objc_inherit_code
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
491
:
#line 27
2
3 "objc-parse.y"
#line 27
3
3 "objc-parse.y"
{
yyval
.
ttype
=
build_method_decl
(
objc_inherit_code
,
NULL_TREE
,
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
492
:
#line 27
2
8 "objc-parse.y"
#line 27
3
8 "objc-parse.y"
{
yyval
.
ttype
=
build_method_decl
(
objc_inherit_code
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
493
:
#line 27
3
3 "objc-parse.y"
#line 27
4
3 "objc-parse.y"
{
yyval
.
ttype
=
build_method_decl
(
objc_inherit_code
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
502
:
#line 27
6
3 "objc-parse.y"
#line 27
7
3 "objc-parse.y"
{
current_declspecs
=
TREE_VALUE
(
declspec_stack
);
prefix_attributes
=
TREE_PURPOSE
(
declspec_stack
);
declspec_stack
=
TREE_CHAIN
(
declspec_stack
);
resume_momentary
(
yyvsp
[
-
2
].
itype
);
;
break
;}
case
503
:
#line 27
6
8 "objc-parse.y"
#line 27
7
8 "objc-parse.y"
{
shadow_tag
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
504
:
#line 27
7
0 "objc-parse.y"
#line 27
8
0 "objc-parse.y"
{
pedwarn
(
"empty declaration"
);
;
break
;}
case
505
:
#line 27
7
5 "objc-parse.y"
#line 27
8
5 "objc-parse.y"
{
push_parm_decl
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
506
:
#line 27
7
7 "objc-parse.y"
#line 27
8
7 "objc-parse.y"
{
push_parm_decl
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
507
:
#line 27
8
5 "objc-parse.y"
#line 27
9
5 "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
508
:
#line 2
79
0 "objc-parse.y"
#line 2
80
0 "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
509
:
#line 2
79
5 "objc-parse.y"
#line 2
80
5 "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
510
:
#line 28
0
3 "objc-parse.y"
#line 28
1
3 "objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
511
:
#line 28
0
7 "objc-parse.y"
#line 28
1
7 "objc-parse.y"
{
/* oh what a kludge! */
yyval
.
ttype
=
(
tree
)
1
;
;
break
;}
case
512
:
#line 28
1
2 "objc-parse.y"
#line 28
2
2 "objc-parse.y"
{
pushlevel
(
0
);
;
break
;}
case
513
:
#line 28
1
6 "objc-parse.y"
#line 28
2
6 "objc-parse.y"
{
/* returns a tree list node generated by get_parm_info */
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
...
...
@@ -4772,119 +4782,119 @@ case 513:
;
break
;}
case
516
:
#line 28
3
1 "objc-parse.y"
#line 28
4
1 "objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
521
:
#line 28
4
4 "objc-parse.y"
#line 28
5
4 "objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
522
:
#line 28
4
5 "objc-parse.y"
#line 28
5
5 "objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
523
:
#line 28
4
6 "objc-parse.y"
#line 28
5
6 "objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
524
:
#line 28
4
7 "objc-parse.y"
#line 28
5
7 "objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
525
:
#line 28
4
8 "objc-parse.y"
#line 28
5
8 "objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
526
:
#line 28
4
9 "objc-parse.y"
#line 28
5
9 "objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
527
:
#line 28
5
0 "objc-parse.y"
#line 28
6
0 "objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
528
:
#line 28
5
1 "objc-parse.y"
#line 28
6
1 "objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
529
:
#line 28
5
2 "objc-parse.y"
#line 28
6
2 "objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
530
:
#line 28
5
3 "objc-parse.y"
#line 28
6
3 "objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
531
:
#line 28
5
4 "objc-parse.y"
#line 28
6
4 "objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
532
:
#line 28
5
5 "objc-parse.y"
#line 28
6
5 "objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
533
:
#line 28
5
6 "objc-parse.y"
#line 28
6
6 "objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
534
:
#line 28
5
7 "objc-parse.y"
#line 28
6
7 "objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
535
:
#line 28
5
8 "objc-parse.y"
#line 28
6
8 "objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
536
:
#line 28
5
9 "objc-parse.y"
#line 28
6
9 "objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
537
:
#line 28
6
0 "objc-parse.y"
#line 28
7
0 "objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
538
:
#line 28
6
1 "objc-parse.y"
#line 28
7
1 "objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
539
:
#line 28
6
2 "objc-parse.y"
#line 28
7
2 "objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
542
:
#line 28
6
8 "objc-parse.y"
#line 28
7
8 "objc-parse.y"
{
yyval
.
ttype
=
build_keyword_decl
(
yyvsp
[
-
5
].
ttype
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
543
:
#line 28
7
3 "objc-parse.y"
#line 28
8
3 "objc-parse.y"
{
yyval
.
ttype
=
build_keyword_decl
(
yyvsp
[
-
2
].
ttype
,
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
544
:
#line 28
7
8 "objc-parse.y"
#line 28
8
8 "objc-parse.y"
{
yyval
.
ttype
=
build_keyword_decl
(
NULL_TREE
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
545
:
#line 28
8
3 "objc-parse.y"
#line 28
9
3 "objc-parse.y"
{
yyval
.
ttype
=
build_keyword_decl
(
NULL_TREE
,
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
549
:
#line 2
89
6 "objc-parse.y"
#line 2
90
6 "objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
550
:
#line 29
0
4 "objc-parse.y"
#line 29
1
4 "objc-parse.y"
{
if
(
TREE_CHAIN
(
yyvsp
[
0
].
ttype
)
==
NULL_TREE
)
/* just return the expr., remove a level of indirection */
...
...
@@ -4895,69 +4905,69 @@ case 550:
;
break
;}
case
551
:
#line 29
1
6 "objc-parse.y"
#line 29
2
6 "objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
552
:
#line 29
2
0 "objc-parse.y"
#line 29
3
0 "objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
554
:
#line 29
2
8 "objc-parse.y"
#line 29
3
8 "objc-parse.y"
{
yyval
.
ttype
=
get_class_reference
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
555
:
#line 29
3
5 "objc-parse.y"
#line 29
4
5 "objc-parse.y"
{
objc_receiver_context
=
1
;
;
break
;}
case
556
:
#line 29
3
7 "objc-parse.y"
#line 29
4
7 "objc-parse.y"
{
objc_receiver_context
=
0
;
;
break
;}
case
557
:
#line 29
3
9 "objc-parse.y"
#line 29
4
9 "objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
561
:
#line 29
5
2 "objc-parse.y"
#line 29
6
2 "objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
562
:
#line 29
5
9 "objc-parse.y"
#line 29
6
9 "objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
NULL_TREE
);
;
break
;}
case
563
:
#line 29
6
3 "objc-parse.y"
#line 29
7
3 "objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
564
:
#line 29
7
0 "objc-parse.y"
#line 29
8
0 "objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
case
565
:
#line 29
7
7 "objc-parse.y"
#line 29
8
7 "objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
case
566
:
#line 29
8
6 "objc-parse.y"
#line 29
9
6 "objc-parse.y"
{
yyval
.
ttype
=
groktypename
(
yyvsp
[
-
1
].
ttype
);
;
...
...
@@ -5160,5 +5170,5 @@ yyerrhandle:
yystate
=
yyn
;
goto
yynewstate
;
}
#line
299
1 "objc-parse.y"
#line
300
1 "objc-parse.y"
gcc/objc/objc-parse.y
View file @
01656b25
/*WARNING: This file is automatically generated!*/
/* YACC parser for C syntax and for Objective C. -*-c-*-
Copyright (C) 1987, 88, 89, 92-9
7, 1998
Free Software Foundation, Inc.
Copyright (C) 1987, 88, 89, 92-9
8, 1999
Free Software Foundation, Inc.
This file is part of GNU CC.
...
...
@@ -562,12 +562,22 @@ expr_no_commas:
{
skip_evaluation
-=
$
1
==
boolean_true_node
;
$$
=
build_conditional_expr
(
$
1
,
$
<
ttype
>
2
,
$
5
);
}
|
expr_no_commas
'='
expr_no_commas
{
$$
=
build_modify_expr
(
$
1
,
NOP_EXPR
,
$
3
);
C_SET_EXP_ORIGINAL_CODE
(
$$
,
MODIFY_EXPR
);
}
{
char
class
;
$$
=
build_modify_expr
(
$
1
,
NOP_EXPR
,
$
3
);
class
=
TREE_CODE_CLASS
(
TREE_CODE
(
$$
));
if
(
class
==
'e'
||
class
==
'1'
||
class
==
'2'
||
class
==
'<'
)
C_SET_EXP_ORIGINAL_CODE
(
$$
,
MODIFY_EXPR
);
}
|
expr_no_commas
ASSIGN
expr_no_commas
{
$$
=
build_modify_expr
(
$
1
,
$
2
,
$
3
);
{
char
class
;
$$
=
build_modify_expr
(
$
1
,
$
2
,
$
3
);
/* This inhibits warnings in truthvalue_conversion. */
C_SET_EXP_ORIGINAL_CODE
(
$$
,
ERROR_MARK
);
}
class
=
TREE_CODE_CLASS
(
TREE_CODE
(
$$
));
if
(
class
==
'e'
||
class
==
'1'
||
class
==
'2'
||
class
==
'<'
)
C_SET_EXP_ORIGINAL_CODE
(
$$
,
ERROR_MARK
);
}
;
primary
:
...
...
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