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
afe3d090
Commit
afe3d090
authored
Sep 07, 1999
by
Bernd Schmidt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit parts that were missing in Mark's last commit
From-SVN: r29164
parent
6bc2c8c8
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
560 additions
and
511 deletions
+560
-511
gcc/except.c
+2
-0
gcc/function.c
+1
-0
gcc/ggc-simple.c
+2
-2
gcc/objc/objc-parse.c
+519
-508
gcc/objc/objc-parse.y
+12
-1
gcc/toplev.c
+24
-0
No files found.
gcc/except.c
View file @
afe3d090
...
...
@@ -2393,6 +2393,7 @@ mark_eh_state (eh)
struct
eh_status
*
eh
;
{
mark_eh_stack
(
&
eh
->
x_ehstack
);
mark_eh_stack
(
&
eh
->
x_catchstack
);
mark_eh_queue
(
&
eh
->
x_ehqueue
);
ggc_mark_rtx
(
eh
->
x_catch_clauses
);
...
...
@@ -2401,6 +2402,7 @@ mark_eh_state (eh)
ggc_mark_tree
(
eh
->
x_protect_list
);
ggc_mark_rtx
(
eh
->
ehc
);
ggc_mark_rtx
(
eh
->
x_eh_return_stub_label
);
}
/* This group of functions initializes the exception handling data
...
...
gcc/function.c
View file @
afe3d090
...
...
@@ -6714,6 +6714,7 @@ mark_function_state (p)
}
ggc_mark_rtx
(
p
->
x_nonlocal_goto_handler_slots
);
ggc_mark_rtx
(
p
->
x_nonlocal_goto_handler_labels
);
ggc_mark_rtx
(
p
->
x_nonlocal_goto_stack_level
);
ggc_mark_tree
(
p
->
x_nonlocal_labels
);
}
...
...
gcc/ggc-simple.c
View file @
afe3d090
...
...
@@ -133,7 +133,7 @@ ggc_alloc_rtvec (nelt)
int
nelt
;
{
struct
ggc_rtvec
*
v
;
int
size
=
sizeof
(
*
v
)
+
(
nelt
-
1
)
*
sizeof
(
rt
union
);
int
size
=
sizeof
(
*
v
)
+
(
nelt
-
1
)
*
sizeof
(
rt
x
);
v
=
(
struct
ggc_rtvec
*
)
xmalloc
(
size
);
bzero
((
char
*
)
v
,
size
);
...
...
@@ -195,7 +195,7 @@ ggc_alloc_string (contents, length)
strings
=
s
;
#ifdef GGC_DUMP
fprintf
(
dump
,
"alloc string %p
\n
"
,
&
n
->
tree
);
fprintf
(
dump
,
"alloc string %p
\n
"
,
&
s
->
string
);
#endif
bytes_alloced_since_gc
+=
size
;
...
...
gcc/objc/objc-parse.c
View file @
afe3d090
...
...
@@ -79,7 +79,8 @@
#include "flags.h"
#include "output.h"
#include "toplev.h"
#include "ggc.h"
#ifdef MULTIBYTE_CHARS
#include <locale.h>
#endif
...
...
@@ -96,10 +97,10 @@ const char * const language_string = "GNU Obj-C";
/* Cause the `yydebug' variable to be defined. */
#define YYDEBUG 1
#line 6
4
"objc-parse.y"
#line 6
5
"objc-parse.y"
typedef
union
{
long
itype
;
tree
ttype
;
enum
tree_code
code
;
char
*
filename
;
int
lineno
;
int
ends_in_label
;
}
YYSTYPE
;
#line 19
5
"objc-parse.y"
#line 19
6
"objc-parse.y"
/* Number of statements (loosely speaking) and compound statements
seen so far. */
...
...
@@ -137,6 +138,16 @@ int objc_public_flag;
#define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
extern
void
yyprint
PROTO
((
FILE
*
,
int
,
YYSTYPE
));
/* Add GC roots for variables local to this file. */
void
c_parse_init
()
{
ggc_add_tree_root
(
&
declspec_stack
,
1
);
ggc_add_tree_root
(
&
current_declspecs
,
1
);
ggc_add_tree_root
(
&
prefix_attributes
,
1
);
}
#include <stdio.h>
#ifndef __cplusplus
...
...
@@ -433,63 +444,63 @@ static const short yyrhs[] = { -1,
#if YYDEBUG != 0
static
const
short
yyrline
[]
=
{
0
,
2
35
,
240
,
254
,
256
,
256
,
257
,
259
,
261
,
262
,
263
,
2
71
,
275
,
286
,
291
,
296
,
298
,
300
,
301
,
302
,
307
,
3
14
,
316
,
321
,
326
,
332
,
334
,
339
,
344
,
350
,
352
,
3
57
,
364
,
366
,
367
,
368
,
371
,
373
,
375
,
377
,
379
,
3
81
,
383
,
387
,
391
,
394
,
397
,
400
,
404
,
406
,
409
,
4
12
,
416
,
444
,
450
,
453
,
456
,
459
,
461
,
463
,
467
,
4
71
,
475
,
477
,
480
,
484
,
511
,
513
,
515
,
517
,
519
,
5
21
,
523
,
525
,
527
,
529
,
531
,
533
,
535
,
537
,
541
,
5
43
,
547
,
549
,
552
,
556
,
558
,
565
,
568
,
576
,
587
,
7
47
,
748
,
750
,
756
,
758
,
781
,
790
,
792
,
794
,
806
,
8
20
,
822
,
824
,
826
,
828
,
830
,
832
,
837
,
839
,
845
,
8
47
,
851
,
853
,
854
,
864
,
869
,
871
,
872
,
873
,
880
,
8
86
,
891
,
894
,
902
,
907
,
909
,
910
,
911
,
918
,
929
,
9
33
,
939
,
944
,
949
,
954
,
956
,
958
,
967
,
970
,
974
,
9
76
,
978
,
983
,
987
,
990
,
994
,
997
,
999
,
1011
,
1014
,
10
16
,
1018
,
1022
,
1026
,
1028
,
1031
,
1044
,
1047
,
1051
,
1053
,
10
61
,
1062
,
1063
,
1067
,
1069
,
1074
,
1076
,
1078
,
1084
,
1085
,
10
86
,
1089
,
1091
,
1094
,
1096
,
1099
,
1102
,
1108
,
1115
,
1117
,
11
24
,
1131
,
1134
,
1141
,
1144
,
1148
,
1151
,
1155
,
1160
,
1163
,
11
67
,
1170
,
1172
,
1174
,
1176
,
1183
,
1185
,
1186
,
1187
,
1192
,
1
194
,
1199
,
1207
,
1212
,
1216
,
1219
,
1221
,
1226
,
1228
,
1229
,
12
32
,
1232
,
1235
,
1238
,
1240
,
1242
,
1245
,
1247
,
1250
,
1258
,
12
72
,
1280
,
1284
,
1298
,
1306
,
1313
,
1315
,
1320
,
1323
,
1328
,
13
30
,
1332
,
1339
,
1341
,
1342
,
1350
,
1356
,
1358
,
1360
,
1367
,
13
69
,
1375
,
1381
,
1383
,
1385
,
1387
,
1394
,
1396
,
1399
,
1402
,
14
06
,
1409
,
1413
,
1416
,
1420
,
1425
,
1427
,
1431
,
1433
,
1435
,
14
37
,
1441
,
1443
,
1446
,
1449
,
1452
,
1455
,
1459
,
1461
,
1464
,
14
66
,
1471
,
1474
,
1479
,
1481
,
1483
,
1487
,
1511
,
1518
,
1523
,
15
29
,
1534
,
1536
,
1541
,
1543
,
1547
,
1551
,
1555
,
1565
,
1567
,
15
72
,
1577
,
1580
,
1584
,
1587
,
1591
,
1594
,
1597
,
1600
,
1604
,
16
07
,
1611
,
1615
,
1617
,
1619
,
1621
,
1623
,
1625
,
1627
,
1629
,
16
33
,
1641
,
1649
,
1651
,
1653
,
1657
,
1659
,
1662
,
1665
,
1678
,
16
80
,
1685
,
1687
,
1690
,
1704
,
1707
,
1710
,
1712
,
1714
,
1722
,
17
30
,
1740
,
1758
,
1763
,
1768
,
1771
,
1785
,
1794
,
1798
,
1802
,
18
06
,
1812
,
1816
,
1821
,
1824
,
1829
,
1832
,
1833
,
1850
,
1855
,
18
58
,
1870
,
1872
,
1882
,
1892
,
1893
,
1901
,
1904
,
1916
,
1920
,
19
37
,
1947
,
1956
,
1961
,
1966
,
1971
,
1975
,
1979
,
1990
,
1997
,
20
04
,
2011
,
2022
,
2028
,
2031
,
2036
,
2059
,
2093
,
2124
,
2155
,
21
70
,
2184
,
2188
,
2192
,
2195
,
2200
,
2202
,
2205
,
2207
,
2211
,
22
16
,
2219
,
2225
,
2230
,
2235
,
2237
,
2246
,
2247
,
2253
,
2255
,
22
65
,
2267
,
2271
,
2274
,
2280
,
2290
,
2299
,
2308
,
2318
,
2332
,
23
37
,
2342
,
2344
,
2353
,
2356
,
2361
,
2364
,
2368
,
2376
,
2378
,
23
79
,
2380
,
2381
,
2382
,
2396
,
2399
,
2403
,
2409
,
2415
,
2422
,
24
27
,
2433
,
2440
,
2446
,
2452
,
2457
,
2463
,
2470
,
2476
,
2482
,
24
88
,
2496
,
2502
,
2508
,
2516
,
2523
,
2529
,
2538
,
2545
,
2553
,
25
58
,
2561
,
2571
,
2573
,
2576
,
2578
,
2579
,
2582
,
2587
,
2588
,
26
05
,
2612
,
2618
,
2622
,
2625
,
2626
,
2629
,
2637
,
2643
,
2652
,
26
62
,
2669
,
2673
,
2678
,
2687
,
2694
,
2698
,
2708
,
2710
,
2711
,
27
13
,
2715
,
2716
,
2717
,
2718
,
2720
,
2722
,
2725
,
2733
,
2740
,
27
40
,
2747
,
2753
,
2755
,
2761
,
2766
,
2771
,
2780
,
2782
,
2788
,
2
790
,
2793
,
2795
,
2796
,
2797
,
2800
,
2806
,
2808
,
2812
,
2815
,
28
22
,
2828
,
2833
,
2840
,
2845
,
2850
,
2855
,
2862
,
2866
,
2869
,
28
75
,
2877
,
2878
,
2879
,
2882
,
2884
,
2885
,
2886
,
2887
,
2888
,
2
889
,
2890
,
2891
,
2892
,
2893
,
2894
,
2895
,
2896
,
2897
,
2898
,
2
899
,
2900
,
2901
,
2902
,
2902
,
2905
,
2911
,
2916
,
2921
,
2927
,
29
29
,
2932
,
2934
,
2941
,
2953
,
2958
,
2964
,
2966
,
2972
,
2976
,
29
77
,
2983
,
2985
,
2988
,
2990
,
2996
,
3001
,
3007
,
3014
,
3023
2
46
,
251
,
265
,
267
,
267
,
268
,
270
,
272
,
273
,
274
,
2
82
,
286
,
297
,
302
,
307
,
309
,
311
,
312
,
313
,
318
,
3
25
,
327
,
332
,
337
,
343
,
345
,
350
,
355
,
361
,
363
,
3
68
,
375
,
377
,
378
,
379
,
382
,
384
,
386
,
388
,
390
,
3
92
,
394
,
398
,
402
,
405
,
408
,
411
,
415
,
417
,
420
,
4
23
,
427
,
455
,
461
,
464
,
467
,
470
,
472
,
474
,
478
,
4
82
,
486
,
488
,
491
,
495
,
522
,
524
,
526
,
528
,
530
,
5
32
,
534
,
536
,
538
,
540
,
542
,
544
,
546
,
548
,
552
,
5
54
,
558
,
560
,
563
,
567
,
569
,
576
,
579
,
587
,
598
,
7
58
,
759
,
761
,
767
,
769
,
792
,
801
,
803
,
805
,
817
,
8
31
,
833
,
835
,
837
,
839
,
841
,
843
,
848
,
850
,
856
,
8
58
,
862
,
864
,
865
,
875
,
880
,
882
,
883
,
884
,
891
,
8
97
,
902
,
905
,
913
,
918
,
920
,
921
,
922
,
929
,
940
,
9
44
,
950
,
955
,
960
,
965
,
967
,
969
,
978
,
981
,
985
,
9
87
,
989
,
994
,
998
,
1001
,
1005
,
1008
,
1010
,
1022
,
1025
,
10
27
,
1029
,
1033
,
1037
,
1039
,
1042
,
1055
,
1058
,
1062
,
1064
,
10
72
,
1073
,
1074
,
1078
,
1080
,
1085
,
1087
,
1089
,
1095
,
1096
,
10
97
,
1100
,
1102
,
1105
,
1107
,
1110
,
1113
,
1119
,
1126
,
1128
,
11
35
,
1142
,
1145
,
1152
,
1155
,
1159
,
1162
,
1166
,
1171
,
1174
,
11
78
,
1181
,
1183
,
1185
,
1187
,
1194
,
1196
,
1197
,
1198
,
1203
,
1
205
,
1210
,
1218
,
1223
,
1227
,
1230
,
1232
,
1237
,
1239
,
1240
,
12
43
,
1243
,
1246
,
1249
,
1251
,
1253
,
1256
,
1258
,
1261
,
1269
,
12
83
,
1291
,
1295
,
1309
,
1317
,
1324
,
1326
,
1331
,
1334
,
1339
,
13
41
,
1343
,
1350
,
1352
,
1353
,
1361
,
1367
,
1369
,
1371
,
1378
,
13
80
,
1386
,
1392
,
1394
,
1396
,
1398
,
1405
,
1407
,
1410
,
1413
,
14
17
,
1420
,
1424
,
1427
,
1431
,
1436
,
1438
,
1442
,
1444
,
1446
,
14
48
,
1452
,
1454
,
1457
,
1460
,
1463
,
1466
,
1470
,
1472
,
1475
,
14
77
,
1482
,
1485
,
1490
,
1492
,
1494
,
1498
,
1522
,
1529
,
1534
,
15
40
,
1545
,
1547
,
1552
,
1554
,
1558
,
1562
,
1566
,
1576
,
1578
,
15
83
,
1588
,
1591
,
1595
,
1598
,
1602
,
1605
,
1608
,
1611
,
1615
,
16
18
,
1622
,
1626
,
1628
,
1630
,
1632
,
1634
,
1636
,
1638
,
1640
,
16
44
,
1652
,
1660
,
1662
,
1664
,
1668
,
1670
,
1673
,
1676
,
1689
,
16
91
,
1696
,
1698
,
1701
,
1715
,
1718
,
1721
,
1723
,
1725
,
1733
,
17
41
,
1751
,
1769
,
1774
,
1779
,
1782
,
1796
,
1805
,
1809
,
1813
,
18
17
,
1823
,
1827
,
1832
,
1835
,
1840
,
1843
,
1844
,
1861
,
1866
,
18
69
,
1881
,
1883
,
1893
,
1903
,
1904
,
1912
,
1915
,
1927
,
1931
,
19
48
,
1958
,
1967
,
1972
,
1977
,
1982
,
1986
,
1990
,
2001
,
2008
,
20
15
,
2022
,
2033
,
2039
,
2042
,
2047
,
2070
,
2104
,
2135
,
2166
,
21
81
,
2195
,
2199
,
2203
,
2206
,
2211
,
2213
,
2216
,
2218
,
2222
,
22
27
,
2230
,
2236
,
2241
,
2246
,
2248
,
2257
,
2258
,
2264
,
2266
,
22
76
,
2278
,
2282
,
2285
,
2291
,
2301
,
2310
,
2319
,
2329
,
2343
,
23
48
,
2353
,
2355
,
2364
,
2367
,
2372
,
2375
,
2379
,
2387
,
2389
,
23
90
,
2391
,
2392
,
2393
,
2407
,
2410
,
2414
,
2420
,
2426
,
2433
,
24
38
,
2444
,
2451
,
2457
,
2463
,
2468
,
2474
,
2481
,
2487
,
2493
,
24
99
,
2507
,
2513
,
2519
,
2527
,
2534
,
2540
,
2549
,
2556
,
2564
,
25
69
,
2572
,
2582
,
2584
,
2587
,
2589
,
2590
,
2593
,
2598
,
2599
,
26
16
,
2623
,
2629
,
2633
,
2636
,
2637
,
2640
,
2648
,
2654
,
2663
,
26
73
,
2680
,
2684
,
2689
,
2698
,
2705
,
2709
,
2719
,
2721
,
2722
,
27
24
,
2726
,
2727
,
2728
,
2729
,
2731
,
2733
,
2736
,
2744
,
2751
,
27
51
,
2758
,
2764
,
2766
,
2772
,
2777
,
2782
,
2791
,
2793
,
2799
,
2
801
,
2804
,
2806
,
2807
,
2808
,
2811
,
2817
,
2819
,
2823
,
2826
,
28
33
,
2839
,
2844
,
2851
,
2856
,
2861
,
2866
,
2873
,
2877
,
2880
,
28
86
,
2888
,
2889
,
2890
,
2893
,
2895
,
2896
,
2897
,
2898
,
2899
,
2
900
,
2901
,
2902
,
2903
,
2904
,
2905
,
2906
,
2907
,
2908
,
2909
,
2
910
,
2911
,
2912
,
2913
,
2913
,
2916
,
2922
,
2927
,
2932
,
2938
,
29
40
,
2943
,
2945
,
2952
,
2964
,
2969
,
2975
,
2977
,
2983
,
2987
,
29
88
,
2994
,
2996
,
2999
,
3001
,
3007
,
3012
,
3018
,
3025
,
3034
};
#endif
...
...
@@ -1723,7 +1734,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/
cygnus/TBD-TBD/
share/bison.simple"
#line 3 "/usr/share/bison.simple"
/* Skeleton output parser for bison,
Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
...
...
@@ -1916,7 +1927,7 @@ __yy_memcpy (char *to, char *from, int count)
#endif
#endif
#line 196 "/usr/
cygnus/TBD-TBD/
share/bison.simple"
#line 196 "/usr/share/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 *.
...
...
@@ -2221,14 +2232,14 @@ yyreduce:
switch
(
yyn
)
{
case
1
:
#line 2
36
"objc-parse.y"
#line 2
47
"objc-parse.y"
{
if
(
pedantic
)
pedwarn
(
"ANSI C forbids an empty source file"
);
finish_file
();
;
break
;}
case
2
:
#line 2
41
"objc-parse.y"
#line 2
52
"objc-parse.y"
{
/* In case there were missing closebraces,
get us back to the global binding level. */
...
...
@@ -2238,15 +2249,15 @@ case 2:
;
break
;}
case
3
:
#line 2
55
"objc-parse.y"
#line 2
66
"objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
5
:
#line 2
56
"objc-parse.y"
#line 2
67
"objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
10
:
#line 2
64
"objc-parse.y"
#line 2
75
"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
)
...
...
@@ -2256,11 +2267,11 @@ case 10:
error
(
"argument of `asm' is not a constant string"
);
;
break
;}
case
11
:
#line 2
72
"objc-parse.y"
#line 2
83
"objc-parse.y"
{
pedantic
=
yyvsp
[
-
1
].
itype
;
;
break
;}
case
12
:
#line 2
77
"objc-parse.y"
#line 2
88
"objc-parse.y"
{
if
(
pedantic
)
error
(
"ANSI C forbids data definition with no type or storage class"
);
else
if
(
!
flag_traditional
)
...
...
@@ -2272,45 +2283,45 @@ case 12:
resume_momentary
(
yyvsp
[
-
2
].
itype
);
;
break
;}
case
13
:
#line 2
87
"objc-parse.y"
#line 2
98
"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
14
:
#line
292
"objc-parse.y"
#line
303
"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
15
:
#line
297
"objc-parse.y"
#line
308
"objc-parse.y"
{
pedwarn
(
"empty declaration"
);
;
break
;}
case
16
:
#line
299
"objc-parse.y"
#line
310
"objc-parse.y"
{
shadow_tag
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
19
:
#line 3
03
"objc-parse.y"
#line 3
14
"objc-parse.y"
{
if
(
pedantic
)
pedwarn
(
"ANSI C does not allow extra `;' outside of a function"
);
;
break
;}
case
20
:
#line 3
09
"objc-parse.y"
#line 3
20
"objc-parse.y"
{
if
(
!
start_function
(
current_declspecs
,
yyvsp
[
0
].
ttype
,
prefix_attributes
,
NULL_TREE
,
0
))
YYERROR1
;
reinit_parse_for_function
();
;
break
;}
case
21
:
#line 3
14
"objc-parse.y"
#line 3
25
"objc-parse.y"
{
store_parm_decls
();
;
break
;}
case
22
:
#line 3
16
"objc-parse.y"
#line 3
27
"objc-parse.y"
{
finish_function
(
0
);
current_declspecs
=
TREE_VALUE
(
declspec_stack
);
prefix_attributes
=
TREE_PURPOSE
(
declspec_stack
);
...
...
@@ -2318,25 +2329,25 @@ case 22:
resume_momentary
(
yyvsp
[
-
5
].
itype
);
;
break
;}
case
23
:
#line 3
22
"objc-parse.y"
#line 3
33
"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
24
:
#line 3
27
"objc-parse.y"
#line 3
38
"objc-parse.y"
{
if
(
!
start_function
(
current_declspecs
,
yyvsp
[
0
].
ttype
,
prefix_attributes
,
NULL_TREE
,
0
))
YYERROR1
;
reinit_parse_for_function
();
;
break
;}
case
25
:
#line 3
32
"objc-parse.y"
#line 3
43
"objc-parse.y"
{
store_parm_decls
();
;
break
;}
case
26
:
#line 3
34
"objc-parse.y"
#line 3
45
"objc-parse.y"
{
finish_function
(
0
);
current_declspecs
=
TREE_VALUE
(
declspec_stack
);
prefix_attributes
=
TREE_PURPOSE
(
declspec_stack
);
...
...
@@ -2344,25 +2355,25 @@ case 26:
resume_momentary
(
yyvsp
[
-
5
].
itype
);
;
break
;}
case
27
:
#line 3
40
"objc-parse.y"
#line 3
51
"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
28
:
#line 3
45
"objc-parse.y"
#line 3
56
"objc-parse.y"
{
if
(
!
start_function
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
prefix_attributes
,
NULL_TREE
,
0
))
YYERROR1
;
reinit_parse_for_function
();
;
break
;}
case
29
:
#line 3
50
"objc-parse.y"
#line 3
61
"objc-parse.y"
{
store_parm_decls
();
;
break
;}
case
30
:
#line 3
52
"objc-parse.y"
#line 3
63
"objc-parse.y"
{
finish_function
(
0
);
current_declspecs
=
TREE_VALUE
(
declspec_stack
);
prefix_attributes
=
TREE_PURPOSE
(
declspec_stack
);
...
...
@@ -2370,72 +2381,72 @@ case 30:
resume_momentary
(
yyvsp
[
-
5
].
itype
);
;
break
;}
case
31
:
#line 3
58
"objc-parse.y"
#line 3
69
"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
36
:
#line 3
72
"objc-parse.y"
#line 3
83
"objc-parse.y"
{
yyval
.
code
=
ADDR_EXPR
;
;
break
;}
case
37
:
#line 3
74
"objc-parse.y"
#line 3
85
"objc-parse.y"
{
yyval
.
code
=
NEGATE_EXPR
;
;
break
;}
case
38
:
#line 3
76
"objc-parse.y"
#line 3
87
"objc-parse.y"
{
yyval
.
code
=
CONVERT_EXPR
;
;
break
;}
case
39
:
#line 3
78
"objc-parse.y"
#line 3
89
"objc-parse.y"
{
yyval
.
code
=
PREINCREMENT_EXPR
;
;
break
;}
case
40
:
#line 3
80
"objc-parse.y"
#line 3
91
"objc-parse.y"
{
yyval
.
code
=
PREDECREMENT_EXPR
;
;
break
;}
case
41
:
#line 3
82
"objc-parse.y"
#line 3
93
"objc-parse.y"
{
yyval
.
code
=
BIT_NOT_EXPR
;
;
break
;}
case
42
:
#line 3
84
"objc-parse.y"
#line 3
95
"objc-parse.y"
{
yyval
.
code
=
TRUTH_NOT_EXPR
;
;
break
;}
case
43
:
#line 3
88
"objc-parse.y"
#line 3
99
"objc-parse.y"
{
yyval
.
ttype
=
build_compound_expr
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
44
:
#line
393
"objc-parse.y"
#line
404
"objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
46
:
#line
399
"objc-parse.y"
#line
410
"objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
47
:
#line 4
01
"objc-parse.y"
#line 4
12
"objc-parse.y"
{
chainon
(
yyvsp
[
-
2
].
ttype
,
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
));
;
break
;}
case
49
:
#line 4
07
"objc-parse.y"
#line 4
18
"objc-parse.y"
{
yyval
.
ttype
=
build_indirect_ref
(
yyvsp
[
0
].
ttype
,
"unary *"
);
;
break
;}
case
50
:
#line 4
10
"objc-parse.y"
#line 4
21
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
pedantic
=
yyvsp
[
-
1
].
itype
;
;
break
;}
case
51
:
#line 4
13
"objc-parse.y"
#line 4
24
"objc-parse.y"
{
yyval
.
ttype
=
build_unary_op
(
yyvsp
[
-
1
].
code
,
yyvsp
[
0
].
ttype
,
0
);
overflow_warning
(
yyval
.
ttype
);
;
break
;}
case
52
:
#line 4
17
"objc-parse.y"
#line 4
28
"objc-parse.y"
{
tree
label
=
lookup_label
(
yyvsp
[
0
].
ttype
);
if
(
pedantic
)
pedwarn
(
"ANSI C forbids `&&'"
);
...
...
@@ -2450,7 +2461,7 @@ case 52:
;
break
;}
case
53
:
#line 4
45
"objc-parse.y"
#line 4
56
"objc-parse.y"
{
skip_evaluation
--
;
if
(
TREE_CODE
(
yyvsp
[
0
].
ttype
)
==
COMPONENT_REF
&&
DECL_C_BIT_FIELD
(
TREE_OPERAND
(
yyvsp
[
0
].
ttype
,
1
)))
...
...
@@ -2458,53 +2469,53 @@ case 53:
yyval
.
ttype
=
c_sizeof
(
TREE_TYPE
(
yyvsp
[
0
].
ttype
));
;
break
;}
case
54
:
#line 4
51
"objc-parse.y"
#line 4
62
"objc-parse.y"
{
skip_evaluation
--
;
yyval
.
ttype
=
c_sizeof
(
groktypename
(
yyvsp
[
-
1
].
ttype
));
;
break
;}
case
55
:
#line 4
54
"objc-parse.y"
#line 4
65
"objc-parse.y"
{
skip_evaluation
--
;
yyval
.
ttype
=
c_alignof_expr
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
56
:
#line 4
57
"objc-parse.y"
#line 4
68
"objc-parse.y"
{
skip_evaluation
--
;
yyval
.
ttype
=
c_alignof
(
groktypename
(
yyvsp
[
-
1
].
ttype
));
;
break
;}
case
57
:
#line 4
60
"objc-parse.y"
#line 4
71
"objc-parse.y"
{
yyval
.
ttype
=
build_unary_op
(
REALPART_EXPR
,
yyvsp
[
0
].
ttype
,
0
);
;
break
;}
case
58
:
#line 4
62
"objc-parse.y"
#line 4
73
"objc-parse.y"
{
yyval
.
ttype
=
build_unary_op
(
IMAGPART_EXPR
,
yyvsp
[
0
].
ttype
,
0
);
;
break
;}
case
59
:
#line 4
64
"objc-parse.y"
#line 4
75
"objc-parse.y"
{
yyval
.
ttype
=
build_va_arg
(
yyvsp
[
-
3
].
ttype
,
groktypename
(
yyvsp
[
-
1
].
ttype
));
;
break
;}
case
60
:
#line 4
68
"objc-parse.y"
#line 4
79
"objc-parse.y"
{
skip_evaluation
++
;
;
break
;}
case
61
:
#line 4
72
"objc-parse.y"
#line 4
83
"objc-parse.y"
{
skip_evaluation
++
;
;
break
;}
case
63
:
#line 4
78
"objc-parse.y"
#line 4
89
"objc-parse.y"
{
tree
type
=
groktypename
(
yyvsp
[
-
2
].
ttype
);
yyval
.
ttype
=
build_c_cast
(
type
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
64
:
#line 4
81
"objc-parse.y"
#line 4
92
"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 4
85
"objc-parse.y"
#line 4
96
"objc-parse.y"
{
char
*
name
;
tree
result
=
pop_init_level
(
0
);
tree
type
=
yyvsp
[
-
5
].
ttype
;
...
...
@@ -2531,90 +2542,90 @@ case 65:
;
break
;}
case
67
:
#line 5
14
"objc-parse.y"
#line 5
25
"objc-parse.y"
{
yyval
.
ttype
=
parser_build_binary_op
(
yyvsp
[
-
1
].
code
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
68
:
#line 5
16
"objc-parse.y"
#line 5
27
"objc-parse.y"
{
yyval
.
ttype
=
parser_build_binary_op
(
yyvsp
[
-
1
].
code
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
69
:
#line 5
18
"objc-parse.y"
#line 5
29
"objc-parse.y"
{
yyval
.
ttype
=
parser_build_binary_op
(
yyvsp
[
-
1
].
code
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
70
:
#line 5
20
"objc-parse.y"
#line 5
31
"objc-parse.y"
{
yyval
.
ttype
=
parser_build_binary_op
(
yyvsp
[
-
1
].
code
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
71
:
#line 5
22
"objc-parse.y"
#line 5
33
"objc-parse.y"
{
yyval
.
ttype
=
parser_build_binary_op
(
yyvsp
[
-
1
].
code
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
72
:
#line 5
24
"objc-parse.y"
#line 5
35
"objc-parse.y"
{
yyval
.
ttype
=
parser_build_binary_op
(
yyvsp
[
-
1
].
code
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
73
:
#line 5
26
"objc-parse.y"
#line 5
37
"objc-parse.y"
{
yyval
.
ttype
=
parser_build_binary_op
(
yyvsp
[
-
1
].
code
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
74
:
#line 5
28
"objc-parse.y"
#line 5
39
"objc-parse.y"
{
yyval
.
ttype
=
parser_build_binary_op
(
yyvsp
[
-
1
].
code
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
75
:
#line 5
30
"objc-parse.y"
#line 5
41
"objc-parse.y"
{
yyval
.
ttype
=
parser_build_binary_op
(
yyvsp
[
-
1
].
code
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
76
:
#line 5
32
"objc-parse.y"
#line 5
43
"objc-parse.y"
{
yyval
.
ttype
=
parser_build_binary_op
(
yyvsp
[
-
1
].
code
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
77
:
#line 5
34
"objc-parse.y"
#line 5
45
"objc-parse.y"
{
yyval
.
ttype
=
parser_build_binary_op
(
yyvsp
[
-
1
].
code
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
78
:
#line 5
36
"objc-parse.y"
#line 5
47
"objc-parse.y"
{
yyval
.
ttype
=
parser_build_binary_op
(
yyvsp
[
-
1
].
code
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
79
:
#line 5
38
"objc-parse.y"
#line 5
49
"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 5
41
"objc-parse.y"
#line 5
52
"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 5
44
"objc-parse.y"
#line 5
55
"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 5
47
"objc-parse.y"
#line 5
58
"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 5
50
"objc-parse.y"
#line 5
61
"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 5
53
"objc-parse.y"
#line 5
64
"objc-parse.y"
{
skip_evaluation
+=
((
yyvsp
[
-
4
].
ttype
==
boolean_true_node
)
-
(
yyvsp
[
-
4
].
ttype
==
boolean_false_node
));
;
break
;}
case
85
:
#line 5
56
"objc-parse.y"
#line 5
67
"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 5
59
"objc-parse.y"
#line 5
70
"objc-parse.y"
{
if
(
pedantic
)
pedwarn
(
"ANSI C forbids omitting the middle term of a ?: expression"
);
/* Make sure first operand is calculated only once. */
...
...
@@ -2623,12 +2634,12 @@ case 86:
skip_evaluation
+=
yyvsp
[
-
1
].
ttype
==
boolean_true_node
;
;
break
;}
case
87
:
#line 5
66
"objc-parse.y"
#line 5
77
"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 5
69
"objc-parse.y"
#line 5
80
"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
));
...
...
@@ -2638,7 +2649,7 @@ case 88:
;
break
;}
case
89
:
#line 5
77
"objc-parse.y"
#line 5
88
"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. */
...
...
@@ -2649,7 +2660,7 @@ case 89:
;
break
;}
case
90
:
#line
589
"objc-parse.y"
#line
600
"objc-parse.y"
{
yyval
.
ttype
=
lastiddecl
;
if
(
!
yyval
.
ttype
||
yyval
.
ttype
==
error_mark_node
)
...
...
@@ -2810,11 +2821,11 @@ case 90:
;
break
;}
case
92
:
#line 7
49
"objc-parse.y"
#line 7
60
"objc-parse.y"
{
yyval
.
ttype
=
combine_strings
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
93
:
#line 7
51
"objc-parse.y"
#line 7
62
"objc-parse.y"
{
char
class
=
TREE_CODE_CLASS
(
TREE_CODE
(
yyvsp
[
-
1
].
ttype
));
if
(
class
==
'e'
||
class
==
'1'
||
class
==
'2'
||
class
==
'<'
)
...
...
@@ -2822,11 +2833,11 @@ case 93:
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
case
94
:
#line 7
57
"objc-parse.y"
#line 7
68
"objc-parse.y"
{
yyval
.
ttype
=
error_mark_node
;
;
break
;}
case
95
:
#line 7
59
"objc-parse.y"
#line 7
70
"objc-parse.y"
{
tree
rtl_exp
;
if
(
pedantic
)
pedwarn
(
"ANSI C forbids braced-groups within expressions"
);
...
...
@@ -2851,7 +2862,7 @@ case 95:
;
break
;}
case
96
:
#line 7
82
"objc-parse.y"
#line 7
93
"objc-parse.y"
{
/* Make sure we call expand_end_stmt_expr. Otherwise
we are likely to lose sequences and crash later. */
...
...
@@ -2862,15 +2873,15 @@ case 96:
;
break
;}
case
97
:
#line
791
"objc-parse.y"
#line
802
"objc-parse.y"
{
yyval
.
ttype
=
build_function_call
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
98
:
#line
793
"objc-parse.y"
#line
804
"objc-parse.y"
{
yyval
.
ttype
=
build_array_ref
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
99
:
#line
795
"objc-parse.y"
#line
806
"objc-parse.y"
{
if
(
doing_objc_thang
)
{
...
...
@@ -2884,7 +2895,7 @@ case 99:
;
break
;}
case
100
:
#line 8
07
"objc-parse.y"
#line 8
18
"objc-parse.y"
{
tree
expr
=
build_indirect_ref
(
yyvsp
[
-
2
].
ttype
,
"->"
);
...
...
@@ -2900,80 +2911,80 @@ case 100:
;
break
;}
case
101
:
#line 8
21
"objc-parse.y"
#line 8
32
"objc-parse.y"
{
yyval
.
ttype
=
build_unary_op
(
POSTINCREMENT_EXPR
,
yyvsp
[
-
1
].
ttype
,
0
);
;
break
;}
case
102
:
#line 8
23
"objc-parse.y"
#line 8
34
"objc-parse.y"
{
yyval
.
ttype
=
build_unary_op
(
POSTDECREMENT_EXPR
,
yyvsp
[
-
1
].
ttype
,
0
);
;
break
;}
case
103
:
#line 8
25
"objc-parse.y"
#line 8
36
"objc-parse.y"
{
yyval
.
ttype
=
build_message_expr
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
104
:
#line 8
27
"objc-parse.y"
#line 8
38
"objc-parse.y"
{
yyval
.
ttype
=
build_selector_expr
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
105
:
#line 8
29
"objc-parse.y"
#line 8
40
"objc-parse.y"
{
yyval
.
ttype
=
build_protocol_expr
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
106
:
#line 8
31
"objc-parse.y"
#line 8
42
"objc-parse.y"
{
yyval
.
ttype
=
build_encode_expr
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
107
:
#line 8
33
"objc-parse.y"
#line 8
44
"objc-parse.y"
{
yyval
.
ttype
=
build_objc_string_object
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
109
:
#line 8
40
"objc-parse.y"
#line 8
51
"objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
111
:
#line 8
48
"objc-parse.y"
#line 8
59
"objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
114
:
#line 8
56
"objc-parse.y"
#line 8
67
"objc-parse.y"
{
c_mark_varargs
();
if
(
pedantic
)
pedwarn
(
"ANSI C does not permit use of `varargs.h'"
);
;
break
;}
case
115
:
#line 8
66
"objc-parse.y"
#line 8
77
"objc-parse.y"
{
;
break
;}
case
120
:
#line 8
82
"objc-parse.y"
#line 8
93
"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
87
"objc-parse.y"
#line 8
98
"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
122
:
#line
892
"objc-parse.y"
#line
903
"objc-parse.y"
{
shadow_tag_warned
(
yyvsp
[
-
1
].
ttype
,
1
);
pedwarn
(
"empty declaration"
);
;
break
;}
case
123
:
#line
895
"objc-parse.y"
#line
906
"objc-parse.y"
{
pedwarn
(
"empty declaration"
);
;
break
;}
case
124
:
#line 9
04
"objc-parse.y"
#line 9
15
"objc-parse.y"
{
;
break
;}
case
129
:
#line 9
19
"objc-parse.y"
#line 9
30
"objc-parse.y"
{
yyval
.
itype
=
suspend_momentary
();
pending_xref_error
();
declspec_stack
=
tree_cons
(
prefix_attributes
,
...
...
@@ -2983,131 +2994,131 @@ case 129:
&
current_declspecs
,
&
prefix_attributes
);
;
break
;}
case
130
:
#line 9
30
"objc-parse.y"
#line 9
41
"objc-parse.y"
{
prefix_attributes
=
chainon
(
prefix_attributes
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
131
:
#line 9
35
"objc-parse.y"
#line 9
46
"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
40
"objc-parse.y"
#line 9
51
"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
133
:
#line 9
45
"objc-parse.y"
#line 9
56
"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
50
"objc-parse.y"
#line 9
61
"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
135
:
#line 9
55
"objc-parse.y"
#line 9
66
"objc-parse.y"
{
shadow_tag
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
136
:
#line 9
57
"objc-parse.y"
#line 9
68
"objc-parse.y"
{
pedwarn
(
"empty declaration"
);
;
break
;}
case
137
:
#line 9
59
"objc-parse.y"
#line 9
70
"objc-parse.y"
{
pedantic
=
yyvsp
[
-
1
].
itype
;
;
break
;}
case
138
:
#line 9
69
"objc-parse.y"
#line 9
80
"objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
139
:
#line 9
71
"objc-parse.y"
#line 9
82
"objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
0
].
ttype
,
tree_cons
(
NULL_TREE
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
2
].
ttype
));
;
break
;}
case
140
:
#line 9
75
"objc-parse.y"
#line 9
86
"objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
141
:
#line 9
77
"objc-parse.y"
#line 9
88
"objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
142
:
#line 9
79
"objc-parse.y"
#line 9
90
"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 9
84
"objc-parse.y"
#line 9
95
"objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
yyvsp
[
0
].
ttype
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
144
:
#line
989
"objc-parse.y"
#line
1000
"objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
145
:
#line
991
"objc-parse.y"
#line
1002
"objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
0
].
ttype
,
tree_cons
(
NULL_TREE
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
2
].
ttype
));
;
break
;}
case
146
:
#line
996
"objc-parse.y"
#line
1007
"objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
147
:
#line
998
"objc-parse.y"
#line
1009
"objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
148
:
#line 10
00
"objc-parse.y"
#line 10
11
"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 10
13
"objc-parse.y"
#line 10
24
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
150
:
#line 10
15
"objc-parse.y"
#line 10
26
"objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
yyvsp
[
0
].
ttype
,
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
151
:
#line 10
17
"objc-parse.y"
#line 10
28
"objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
152
:
#line 10
19
"objc-parse.y"
#line 10
30
"objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
yyvsp
[
0
].
ttype
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
153
:
#line 10
24
"objc-parse.y"
#line 10
35
"objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
NULL_TREE
);
TREE_STATIC
(
yyval
.
ttype
)
=
1
;
;
break
;}
case
154
:
#line 10
27
"objc-parse.y"
#line 10
38
"objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
155
:
#line 10
29
"objc-parse.y"
#line 10
40
"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
32
"objc-parse.y"
#line 10
43
"objc-parse.y"
{
if
(
extra_warnings
&&
TREE_STATIC
(
yyvsp
[
-
1
].
ttype
))
warning
(
"`%s' is not at beginning of declaration"
,
IDENTIFIER_POINTER
(
yyvsp
[
0
].
ttype
));
...
...
@@ -3115,150 +3126,150 @@ case 156:
TREE_STATIC
(
yyval
.
ttype
)
=
TREE_STATIC
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
157
:
#line 10
46
"objc-parse.y"
#line 10
57
"objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
158
:
#line 10
48
"objc-parse.y"
#line 10
59
"objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
0
].
ttype
,
tree_cons
(
NULL_TREE
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
2
].
ttype
));
;
break
;}
case
159
:
#line 10
52
"objc-parse.y"
#line 10
63
"objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
160
:
#line 10
54
"objc-parse.y"
#line 10
65
"objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
163
:
#line 10
64
"objc-parse.y"
#line 10
75
"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 10
68
"objc-parse.y"
#line 10
79
"objc-parse.y"
{
yyval
.
ttype
=
get_static_reference
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
165
:
#line 10
70
"objc-parse.y"
#line 10
81
"objc-parse.y"
{
yyval
.
ttype
=
get_object_reference
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
166
:
#line 10
75
"objc-parse.y"
#line 10
86
"objc-parse.y"
{
yyval
.
ttype
=
get_object_reference
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
167
:
#line 10
77
"objc-parse.y"
#line 10
88
"objc-parse.y"
{
yyval
.
ttype
=
TREE_TYPE
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
168
:
#line 10
79
"objc-parse.y"
#line 10
90
"objc-parse.y"
{
yyval
.
ttype
=
groktypename
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
176
:
#line 11
01
"objc-parse.y"
#line 11
12
"objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
177
:
#line 11
03
"objc-parse.y"
#line 11
14
"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 11
10
"objc-parse.y"
#line 11
21
"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 11
15
"objc-parse.y"
#line 11
26
"objc-parse.y"
{
finish_init
();
finish_decl
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
4
].
ttype
);
;
break
;}
case
180
:
#line 11
18
"objc-parse.y"
#line 11
29
"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 11
26
"objc-parse.y"
#line 11
37
"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 11
31
"objc-parse.y"
#line 11
42
"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 11
35
"objc-parse.y"
#line 11
46
"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 11
43
"objc-parse.y"
#line 11
54
"objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
185
:
#line 11
45
"objc-parse.y"
#line 11
56
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
186
:
#line 11
50
"objc-parse.y"
#line 11
61
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
187
:
#line 11
52
"objc-parse.y"
#line 11
63
"objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
188
:
#line 11
57
"objc-parse.y"
#line 11
68
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
2
].
ttype
;
;
break
;}
case
189
:
#line 11
62
"objc-parse.y"
#line 11
73
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
190
:
#line 11
64
"objc-parse.y"
#line 11
75
"objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
191
:
#line 11
69
"objc-parse.y"
#line 11
80
"objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
192
:
#line 11
71
"objc-parse.y"
#line 11
82
"objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
193
:
#line 11
73
"objc-parse.y"
#line 11
84
"objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
3
].
ttype
,
build_tree_list
(
NULL_TREE
,
yyvsp
[
-
1
].
ttype
));
;
break
;}
case
194
:
#line 11
75
"objc-parse.y"
#line 11
86
"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 11
77
"objc-parse.y"
#line 11
88
"objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
201
:
#line 1
195
"objc-parse.y"
#line 1
206
"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
202
:
#line 12
00
"objc-parse.y"
#line 12
11
"objc-parse.y"
{
yyval
.
ttype
=
pop_init_level
(
0
);
if
(
yyval
.
ttype
==
error_mark_node
&&
!
(
yychar
==
STRING
||
yychar
==
CONSTANT
))
...
...
@@ -3267,36 +3278,36 @@ case 202:
pop_momentary_nofree
();
;
break
;}
case
203
:
#line 12
08
"objc-parse.y"
#line 12
19
"objc-parse.y"
{
yyval
.
ttype
=
error_mark_node
;
;
break
;}
case
204
:
#line 12
14
"objc-parse.y"
#line 12
25
"objc-parse.y"
{
if
(
pedantic
)
pedwarn
(
"ANSI C forbids empty initializer braces"
);
;
break
;}
case
210
:
#line 12
30
"objc-parse.y"
#line 12
41
"objc-parse.y"
{
set_init_label
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
213
:
#line 12
37
"objc-parse.y"
#line 12
48
"objc-parse.y"
{
push_init_level
(
0
);
;
break
;}
case
214
:
#line 12
39
"objc-parse.y"
#line 12
50
"objc-parse.y"
{
process_init_element
(
pop_init_level
(
0
));
;
break
;}
case
215
:
#line 12
41
"objc-parse.y"
#line 12
52
"objc-parse.y"
{
process_init_element
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
219
:
#line 12
52
"objc-parse.y"
#line 12
63
"objc-parse.y"
{
set_init_label
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
220
:
#line 12
60
"objc-parse.y"
#line 12
71
"objc-parse.y"
{
if
(
pedantic
)
pedwarn
(
"ANSI C forbids nested functions"
);
...
...
@@ -3310,16 +3321,16 @@ case 220:
reinit_parse_for_function
();
;
break
;}
case
221
:
#line 12
72
"objc-parse.y"
#line 12
83
"objc-parse.y"
{
store_parm_decls
();
;
break
;}
case
222
:
#line 12
80
"objc-parse.y"
#line 12
91
"objc-parse.y"
{
finish_function
(
1
);
pop_function_context
();
;
break
;}
case
223
:
#line 12
86
"objc-parse.y"
#line 12
97
"objc-parse.y"
{
if
(
pedantic
)
pedwarn
(
"ANSI C forbids nested functions"
);
...
...
@@ -3333,197 +3344,197 @@ case 223:
reinit_parse_for_function
();
;
break
;}
case
224
:
#line 1
298
"objc-parse.y"
#line 1
309
"objc-parse.y"
{
store_parm_decls
();
;
break
;}
case
225
:
#line 13
06
"objc-parse.y"
#line 13
17
"objc-parse.y"
{
finish_function
(
1
);
pop_function_context
();
;
break
;}
case
228
:
#line 13
22
"objc-parse.y"
#line 13
33
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
case
229
:
#line 13
24
"objc-parse.y"
#line 13
35
"objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
CALL_EXPR
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
230
:
#line 13
29
"objc-parse.y"
#line 13
40
"objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
ARRAY_REF
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
231
:
#line 13
31
"objc-parse.y"
#line 13
42
"objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
ARRAY_REF
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
);
;
break
;}
case
232
:
#line 13
33
"objc-parse.y"
#line 13
44
"objc-parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
233
:
#line 13
40
"objc-parse.y"
#line 13
51
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
236
:
#line 13
52
"objc-parse.y"
#line 13
63
"objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
CALL_EXPR
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
237
:
#line 13
57
"objc-parse.y"
#line 13
68
"objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
ARRAY_REF
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
238
:
#line 13
59
"objc-parse.y"
#line 13
70
"objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
ARRAY_REF
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
);
;
break
;}
case
239
:
#line 13
61
"objc-parse.y"
#line 13
72
"objc-parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
240
:
#line 13
68
"objc-parse.y"
#line 13
79
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
242
:
#line 13
77
"objc-parse.y"
#line 13
88
"objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
CALL_EXPR
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
243
:
#line 13
82
"objc-parse.y"
#line 13
93
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
case
244
:
#line 13
84
"objc-parse.y"
#line 13
95
"objc-parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
245
:
#line 13
86
"objc-parse.y"
#line 13
97
"objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
ARRAY_REF
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
246
:
#line 13
88
"objc-parse.y"
#line 13
99
"objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
ARRAY_REF
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
);
;
break
;}
case
247
:
#line 1
395
"objc-parse.y"
#line 1
406
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
249
:
#line 14
01
"objc-parse.y"
#line 14
12
"objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
250
:
#line 14
03
"objc-parse.y"
#line 14
14
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
251
:
#line 14
08
"objc-parse.y"
#line 14
19
"objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
252
:
#line 14
10
"objc-parse.y"
#line 14
21
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
253
:
#line 14
15
"objc-parse.y"
#line 14
26
"objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
254
:
#line 14
17
"objc-parse.y"
#line 14
28
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
255
:
#line 14
22
"objc-parse.y"
#line 14
33
"objc-parse.y"
{
yyval
.
ttype
=
start_struct
(
RECORD_TYPE
,
yyvsp
[
-
1
].
ttype
);
/* Start scope of tag before parsing components. */
;
break
;}
case
256
:
#line 14
26
"objc-parse.y"
#line 14
37
"objc-parse.y"
{
yyval
.
ttype
=
finish_struct
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
2
].
ttype
,
chainon
(
yyvsp
[
-
6
].
ttype
,
yyvsp
[
0
].
ttype
));
;
break
;}
case
257
:
#line 14
28
"objc-parse.y"
#line 14
39
"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 14
32
"objc-parse.y"
#line 14
43
"objc-parse.y"
{
yyval
.
ttype
=
xref_tag
(
RECORD_TYPE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
259
:
#line 14
34
"objc-parse.y"
#line 14
45
"objc-parse.y"
{
yyval
.
ttype
=
start_struct
(
UNION_TYPE
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
260
:
#line 14
36
"objc-parse.y"
#line 14
47
"objc-parse.y"
{
yyval
.
ttype
=
finish_struct
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
2
].
ttype
,
chainon
(
yyvsp
[
-
6
].
ttype
,
yyvsp
[
0
].
ttype
));
;
break
;}
case
261
:
#line 14
38
"objc-parse.y"
#line 14
49
"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 14
42
"objc-parse.y"
#line 14
53
"objc-parse.y"
{
yyval
.
ttype
=
xref_tag
(
UNION_TYPE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
263
:
#line 14
44
"objc-parse.y"
#line 14
55
"objc-parse.y"
{
yyvsp
[
0
].
itype
=
suspend_momentary
();
yyval
.
ttype
=
start_enum
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
264
:
#line 14
47
"objc-parse.y"
#line 14
58
"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
265
:
#line 14
50
"objc-parse.y"
#line 14
61
"objc-parse.y"
{
yyvsp
[
0
].
itype
=
suspend_momentary
();
yyval
.
ttype
=
start_enum
(
NULL_TREE
);
;
break
;}
case
266
:
#line 14
53
"objc-parse.y"
#line 14
64
"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
267
:
#line 14
56
"objc-parse.y"
#line 14
67
"objc-parse.y"
{
yyval
.
ttype
=
xref_tag
(
ENUMERAL_TYPE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
271
:
#line 14
67
"objc-parse.y"
#line 14
78
"objc-parse.y"
{
if
(
pedantic
&&
!
flag_isoc9x
)
pedwarn
(
"comma at end of enumerator list"
);
;
break
;}
case
272
:
#line 14
73
"objc-parse.y"
#line 14
84
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
273
:
#line 14
75
"objc-parse.y"
#line 14
86
"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 14
80
"objc-parse.y"
#line 14
91
"objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
275
:
#line 14
82
"objc-parse.y"
#line 14
93
"objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
276
:
#line 14
84
"objc-parse.y"
#line 14
95
"objc-parse.y"
{
if
(
pedantic
)
pedwarn
(
"extra semicolon in struct or union specified"
);
;
break
;}
case
277
:
#line 14
88
"objc-parse.y"
#line 14
99
"objc-parse.y"
{
tree
interface
=
lookup_interface
(
yyvsp
[
-
1
].
ttype
);
...
...
@@ -3538,7 +3549,7 @@ case 277:
;
break
;}
case
278
:
#line 15
13
"objc-parse.y"
#line 15
24
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
current_declspecs
=
TREE_VALUE
(
declspec_stack
);
prefix_attributes
=
TREE_PURPOSE
(
declspec_stack
);
...
...
@@ -3546,14 +3557,14 @@ case 278:
resume_momentary
(
yyvsp
[
-
1
].
itype
);
;
break
;}
case
279
:
#line 15
19
"objc-parse.y"
#line 15
30
"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
280
:
#line 15
24
"objc-parse.y"
#line 15
35
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
current_declspecs
=
TREE_VALUE
(
declspec_stack
);
prefix_attributes
=
TREE_PURPOSE
(
declspec_stack
);
...
...
@@ -3561,144 +3572,144 @@ case 280:
resume_momentary
(
yyvsp
[
-
1
].
itype
);
;
break
;}
case
281
:
#line 15
30
"objc-parse.y"
#line 15
41
"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 15
35
"objc-parse.y"
#line 15
46
"objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
283
:
#line 15
37
"objc-parse.y"
#line 15
48
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
pedantic
=
yyvsp
[
-
1
].
itype
;
;
break
;}
case
285
:
#line 15
44
"objc-parse.y"
#line 15
55
"objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
286
:
#line 15
49
"objc-parse.y"
#line 15
60
"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 15
53
"objc-parse.y"
#line 15
64
"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 15
56
"objc-parse.y"
#line 15
67
"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 15
68
"objc-parse.y"
#line 15
79
"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 15
73
"objc-parse.y"
#line 15
84
"objc-parse.y"
{
yyval
.
ttype
=
error_mark_node
;
;
break
;}
case
292
:
#line 15
79
"objc-parse.y"
#line 15
90
"objc-parse.y"
{
yyval
.
ttype
=
build_enumerator
(
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
293
:
#line 15
81
"objc-parse.y"
#line 15
92
"objc-parse.y"
{
yyval
.
ttype
=
build_enumerator
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
294
:
#line 15
86
"objc-parse.y"
#line 15
97
"objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
295
:
#line 15
88
"objc-parse.y"
#line 15
99
"objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
296
:
#line 1
593
"objc-parse.y"
#line 1
604
"objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
298
:
#line 1
599
"objc-parse.y"
#line 1
610
"objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
299
:
#line 16
01
"objc-parse.y"
#line 16
12
"objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
300
:
#line 16
06
"objc-parse.y"
#line 16
17
"objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
301
:
#line 16
08
"objc-parse.y"
#line 16
19
"objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
302
:
#line 16
13
"objc-parse.y"
#line 16
24
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
case
303
:
#line 16
16
"objc-parse.y"
#line 16
27
"objc-parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
304
:
#line 16
18
"objc-parse.y"
#line 16
29
"objc-parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
305
:
#line 16
20
"objc-parse.y"
#line 16
31
"objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
CALL_EXPR
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
306
:
#line 16
22
"objc-parse.y"
#line 16
33
"objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
ARRAY_REF
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
307
:
#line 16
24
"objc-parse.y"
#line 16
35
"objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
ARRAY_REF
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
);
;
break
;}
case
308
:
#line 16
26
"objc-parse.y"
#line 16
37
"objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
CALL_EXPR
,
NULL_TREE
,
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
309
:
#line 16
28
"objc-parse.y"
#line 16
39
"objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
ARRAY_REF
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
310
:
#line 16
30
"objc-parse.y"
#line 16
41
"objc-parse.y"
{
yyval
.
ttype
=
build_nt
(
ARRAY_REF
,
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
311
:
#line 16
34
"objc-parse.y"
#line 16
45
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
312
:
#line 16
43
"objc-parse.y"
#line 16
54
"objc-parse.y"
{
if
(
pedantic
&&
yyvsp
[
0
].
ends_in_label
)
pedwarn
(
"ANSI C forbids label at end of compound statement"
);
;
break
;}
case
314
:
#line 16
52
"objc-parse.y"
#line 16
63
"objc-parse.y"
{
yyval
.
ends_in_label
=
yyvsp
[
0
].
ends_in_label
;
;
break
;}
case
315
:
#line 16
54
"objc-parse.y"
#line 16
65
"objc-parse.y"
{
yyval
.
ends_in_label
=
0
;
;
break
;}
case
319
:
#line 16
66
"objc-parse.y"
#line 16
77
"objc-parse.y"
{
emit_line_note
(
input_filename
,
lineno
);
pushlevel
(
0
);
clear_last_expr
();
...
...
@@ -3709,12 +3720,12 @@ case 319:
;
break
;}
case
321
:
#line 16
81
"objc-parse.y"
#line 16
92
"objc-parse.y"
{
if
(
pedantic
)
pedwarn
(
"ANSI C forbids label declarations"
);
;
break
;}
case
324
:
#line 1
692
"objc-parse.y"
#line 1
703
"objc-parse.y"
{
tree
link
;
for
(
link
=
yyvsp
[
-
1
].
ttype
;
link
;
link
=
TREE_CHAIN
(
link
))
{
...
...
@@ -3725,19 +3736,19 @@ case 324:
;
break
;}
case
325
:
#line 17
06
"objc-parse.y"
#line 17
17
"objc-parse.y"
{;
break
;}
case
327
:
#line 17
10
"objc-parse.y"
#line 17
21
"objc-parse.y"
{
compstmt_count
++
;
;
break
;}
case
328
:
#line 17
13
"objc-parse.y"
#line 17
24
"objc-parse.y"
{
yyval
.
ttype
=
convert
(
void_type_node
,
integer_zero_node
);
;
break
;}
case
329
:
#line 17
15
"objc-parse.y"
#line 17
26
"objc-parse.y"
{
emit_line_note
(
input_filename
,
lineno
);
expand_end_bindings
(
getdecls
(),
1
,
0
);
yyval
.
ttype
=
poplevel
(
1
,
1
,
0
);
...
...
@@ -3747,7 +3758,7 @@ case 329:
pop_momentary
();
;
break
;}
case
330
:
#line 17
23
"objc-parse.y"
#line 17
34
"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
);
...
...
@@ -3757,7 +3768,7 @@ case 330:
pop_momentary
();
;
break
;}
case
331
:
#line 17
31
"objc-parse.y"
#line 17
42
"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
);
...
...
@@ -3767,7 +3778,7 @@ case 331:
pop_momentary
();
;
break
;}
case
332
:
#line 17
42
"objc-parse.y"
#line 17
53
"objc-parse.y"
{
if
(
current_function_decl
==
0
)
{
error
(
"braced-group within expression allowed only inside a function"
);
...
...
@@ -3785,11 +3796,11 @@ case 332:
;
break
;}
case
333
:
#line 17
59
"objc-parse.y"
#line 17
70
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
336
:
#line 17
73
"objc-parse.y"
#line 17
84
"objc-parse.y"
{
emit_line_note
(
yyvsp
[
-
5
].
filename
,
yyvsp
[
-
4
].
lineno
);
c_expand_start_cond
(
truthvalue_conversion
(
yyvsp
[
-
1
].
ttype
),
0
,
compstmt_count
);
...
...
@@ -3799,7 +3810,7 @@ case 336:
position_after_white_space
();
;
break
;}
case
337
:
#line 17
87
"objc-parse.y"
#line 17
98
"objc-parse.y"
{
stmt_count
++
;
compstmt_count
++
;
emit_line_note
(
yyvsp
[
-
2
].
filename
,
yyvsp
[
-
1
].
lineno
);
...
...
@@ -3809,43 +3820,43 @@ case 337:
position_after_white_space
();
;
break
;}
case
338
:
#line 1
795
"objc-parse.y"
#line 1
806
"objc-parse.y"
{
expand_loop_continue_here
();
;
break
;}
case
339
:
#line 1
799
"objc-parse.y"
#line 1
810
"objc-parse.y"
{
yyval
.
filename
=
input_filename
;
;
break
;}
case
340
:
#line 18
03
"objc-parse.y"
#line 18
14
"objc-parse.y"
{
yyval
.
lineno
=
lineno
;
;
break
;}
case
341
:
#line 18
08
"objc-parse.y"
#line 18
19
"objc-parse.y"
{
;
break
;}
case
342
:
#line 18
13
"objc-parse.y"
#line 18
24
"objc-parse.y"
{
;
break
;}
case
343
:
#line 18
18
"objc-parse.y"
#line 18
29
"objc-parse.y"
{
yyval
.
ends_in_label
=
yyvsp
[
0
].
ends_in_label
;
;
break
;}
case
344
:
#line 18
23
"objc-parse.y"
#line 18
34
"objc-parse.y"
{
yyval
.
ends_in_label
=
0
;
;
break
;}
case
345
:
#line 18
25
"objc-parse.y"
#line 18
36
"objc-parse.y"
{
yyval
.
ends_in_label
=
1
;
;
break
;}
case
346
:
#line 18
31
"objc-parse.y"
#line 18
42
"objc-parse.y"
{
stmt_count
++
;
;
break
;}
case
348
:
#line 18
34
"objc-parse.y"
#line 18
45
"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
...
...
@@ -3864,19 +3875,19 @@ case 348:
clear_momentary
();
;
break
;}
case
349
:
#line 18
51
"objc-parse.y"
#line 18
62
"objc-parse.y"
{
c_expand_start_else
();
yyvsp
[
-
1
].
itype
=
stmt_count
;
position_after_white_space
();
;
break
;}
case
350
:
#line 18
55
"objc-parse.y"
#line 18
66
"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 18
59
"objc-parse.y"
#line 18
70
"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
...
...
@@ -3887,11 +3898,11 @@ case 351:
"empty body in an if-statement"
);
;
break
;}
case
352
:
#line 18
71
"objc-parse.y"
#line 18
82
"objc-parse.y"
{
c_expand_end_cond
();
;
break
;}
case
353
:
#line 18
73
"objc-parse.y"
#line 18
84
"objc-parse.y"
{
stmt_count
++
;
emit_line_note
(
yyvsp
[
-
2
].
filename
,
yyvsp
[
-
1
].
lineno
);
/* The emit_nop used to come before emit_line_note,
...
...
@@ -3903,7 +3914,7 @@ case 353:
emit_nop
();
;
break
;}
case
354
:
#line 18
83
"objc-parse.y"
#line 18
94
"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. */
...
...
@@ -3914,11 +3925,11 @@ case 354:
position_after_white_space
();
;
break
;}
case
355
:
#line 1
892
"objc-parse.y"
#line 1
903
"objc-parse.y"
{
expand_end_loop
();
;
break
;}
case
356
:
#line 1
895
"objc-parse.y"
#line 1
906
"objc-parse.y"
{
emit_line_note
(
input_filename
,
lineno
);
expand_exit_loop_if_false
(
NULL_PTR
,
truthvalue_conversion
(
yyvsp
[
-
2
].
ttype
));
...
...
@@ -3926,12 +3937,12 @@ case 356:
clear_momentary
();
;
break
;}
case
357
:
#line 19
02
"objc-parse.y"
#line 19
13
"objc-parse.y"
{
expand_end_loop
();
clear_momentary
();
;
break
;}
case
358
:
#line 19
06
"objc-parse.y"
#line 19
17
"objc-parse.y"
{
stmt_count
++
;
emit_line_note
(
yyvsp
[
-
5
].
filename
,
yyvsp
[
-
4
].
lineno
);
/* See comment in `while' alternative, above. */
...
...
@@ -3944,12 +3955,12 @@ case 358:
;
break
;}
case
359
:
#line 19
18
"objc-parse.y"
#line 19
29
"objc-parse.y"
{
yyvsp
[
0
].
lineno
=
lineno
;
yyval
.
filename
=
input_filename
;
;
break
;}
case
360
:
#line 19
21
"objc-parse.y"
#line 19
32
"objc-parse.y"
{
/* Start the loop. Doing this after parsing
all the expressions ensures we will end the loop. */
...
...
@@ -3967,7 +3978,7 @@ case 360:
position_after_white_space
();
;
break
;}
case
361
:
#line 19
37
"objc-parse.y"
#line 19
48
"objc-parse.y"
{
/* Emit the increment expression, with a line number. */
emit_line_note
(
yyvsp
[
-
4
].
filename
,
yyvsp
[
-
5
].
lineno
);
expand_loop_continue_here
();
...
...
@@ -3980,7 +3991,7 @@ case 361:
expand_end_loop
();
;
break
;}
case
362
:
#line 19
48
"objc-parse.y"
#line 19
59
"objc-parse.y"
{
stmt_count
++
;
emit_line_note
(
yyvsp
[
-
5
].
filename
,
yyvsp
[
-
4
].
lineno
);
c_expand_start_case
(
yyvsp
[
-
1
].
ttype
);
...
...
@@ -3990,7 +4001,7 @@ case 362:
position_after_white_space
();
;
break
;}
case
363
:
#line 19
56
"objc-parse.y"
#line 19
67
"objc-parse.y"
{
expand_end_case
(
yyvsp
[
-
3
].
ttype
);
if
(
yychar
==
CONSTANT
||
yychar
==
STRING
)
pop_momentary_nofree
();
...
...
@@ -3998,33 +4009,33 @@ case 363:
pop_momentary
();
;
break
;}
case
364
:
#line 19
62
"objc-parse.y"
#line 19
73
"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
67
"objc-parse.y"
#line 19
78
"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 19
72
"objc-parse.y"
#line 19
83
"objc-parse.y"
{
stmt_count
++
;
emit_line_note
(
yyvsp
[
-
3
].
filename
,
yyvsp
[
-
2
].
lineno
);
c_expand_return
(
NULL_TREE
);
;
break
;}
case
367
:
#line 19
76
"objc-parse.y"
#line 19
87
"objc-parse.y"
{
stmt_count
++
;
emit_line_note
(
yyvsp
[
-
4
].
filename
,
yyvsp
[
-
3
].
lineno
);
c_expand_return
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
368
:
#line 19
80
"objc-parse.y"
#line 19
91
"objc-parse.y"
{
stmt_count
++
;
emit_line_note
(
yyvsp
[
-
7
].
filename
,
yyvsp
[
-
6
].
lineno
);
STRIP_NOPS
(
yyvsp
[
-
2
].
ttype
);
...
...
@@ -4036,7 +4047,7 @@ case 368:
error
(
"argument of `asm' is not a constant string"
);
;
break
;}
case
369
:
#line
1991
"objc-parse.y"
#line
2002
"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
,
...
...
@@ -4044,7 +4055,7 @@ case 369:
input_filename
,
lineno
);
;
break
;}
case
370
:
#line
1998
"objc-parse.y"
#line
2009
"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
,
...
...
@@ -4052,7 +4063,7 @@ case 370:
input_filename
,
lineno
);
;
break
;}
case
371
:
#line 20
06
"objc-parse.y"
#line 20
17
"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
,
...
...
@@ -4060,7 +4071,7 @@ case 371:
input_filename
,
lineno
);
;
break
;}
case
372
:
#line 20
12
"objc-parse.y"
#line 20
23
"objc-parse.y"
{
tree
decl
;
stmt_count
++
;
emit_line_note
(
yyvsp
[
-
4
].
filename
,
yyvsp
[
-
3
].
lineno
);
...
...
@@ -4073,7 +4084,7 @@ case 372:
;
break
;}
case
373
:
#line 20
23
"objc-parse.y"
#line 20
34
"objc-parse.y"
{
if
(
pedantic
)
pedwarn
(
"ANSI C forbids `goto *expr;'"
);
stmt_count
++
;
...
...
@@ -4081,7 +4092,7 @@ case 373:
expand_computed_goto
(
convert
(
ptr_type_node
,
yyvsp
[
-
1
].
ttype
));
;
break
;}
case
376
:
#line 20
38
"objc-parse.y"
#line 20
49
"objc-parse.y"
{
/* The value returned by this action is */
/* 1 if everything is OK */
...
...
@@ -4104,14 +4115,14 @@ case 376:
;
break
;}
case
377
:
#line 20
59
"objc-parse.y"
#line 20
70
"objc-parse.y"
{
if
(
yyvsp
[
-
1
].
itype
)
iterator_for_loop_end
(
yyvsp
[
-
3
].
ttype
);
;
break
;}
case
378
:
#line 2
094
"objc-parse.y"
#line 2
105
"objc-parse.y"
{
register
tree
value
=
check_case_value
(
yyvsp
[
-
1
].
ttype
);
register
tree
label
=
build_decl
(
LABEL_DECL
,
NULL_TREE
,
NULL_TREE
);
...
...
@@ -4144,7 +4155,7 @@ case 378:
position_after_white_space
();
;
break
;}
case
379
:
#line 21
25
"objc-parse.y"
#line 21
36
"objc-parse.y"
{
register
tree
value1
=
check_case_value
(
yyvsp
[
-
3
].
ttype
);
register
tree
value2
=
check_case_value
(
yyvsp
[
-
1
].
ttype
);
register
tree
label
...
...
@@ -4177,7 +4188,7 @@ case 379:
position_after_white_space
();
;
break
;}
case
380
:
#line 21
56
"objc-parse.y"
#line 21
67
"objc-parse.y"
{
tree
duplicate
;
register
tree
label
...
...
@@ -4194,7 +4205,7 @@ case 380:
position_after_white_space
();
;
break
;}
case
381
:
#line 21
71
"objc-parse.y"
#line 21
82
"objc-parse.y"
{
tree
label
=
define_label
(
input_filename
,
lineno
,
yyvsp
[
-
2
].
ttype
);
stmt_count
++
;
emit_nop
();
...
...
@@ -4206,52 +4217,52 @@ case 381:
position_after_white_space
();
;
break
;}
case
382
:
#line 21
86
"objc-parse.y"
#line 21
97
"objc-parse.y"
{
emit_line_note
(
input_filename
,
lineno
);
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
383
:
#line 2
189
"objc-parse.y"
#line 2
200
"objc-parse.y"
{
emit_line_note
(
input_filename
,
lineno
);
;
break
;}
case
384
:
#line 2
194
"objc-parse.y"
#line 2
205
"objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
386
:
#line 22
01
"objc-parse.y"
#line 22
12
"objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
389
:
#line 22
08
"objc-parse.y"
#line 22
19
"objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
390
:
#line 22
13
"objc-parse.y"
#line 22
24
"objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
391
:
#line 22
18
"objc-parse.y"
#line 22
29
"objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
combine_strings
(
yyvsp
[
0
].
ttype
),
NULL_TREE
);
;
break
;}
case
392
:
#line 22
20
"objc-parse.y"
#line 22
31
"objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
combine_strings
(
yyvsp
[
0
].
ttype
),
yyvsp
[
-
2
].
ttype
);
;
break
;}
case
393
:
#line 22
26
"objc-parse.y"
#line 22
37
"objc-parse.y"
{
pushlevel
(
0
);
clear_parm_order
();
declare_parm_level
(
0
);
;
break
;}
case
394
:
#line 22
30
"objc-parse.y"
#line 22
41
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
parmlist_tags_warning
();
poplevel
(
0
,
0
,
0
);
;
break
;}
case
396
:
#line 22
38
"objc-parse.y"
#line 22
49
"objc-parse.y"
{
tree
parm
;
if
(
pedantic
)
pedwarn
(
"ANSI C forbids forward parameter declarations"
);
...
...
@@ -4261,19 +4272,19 @@ case 396:
clear_parm_order
();
;
break
;}
case
397
:
#line 22
46
"objc-parse.y"
#line 22
57
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
398
:
#line 22
48
"objc-parse.y"
#line 22
59
"objc-parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
399
:
#line 22
54
"objc-parse.y"
#line 22
65
"objc-parse.y"
{
yyval
.
ttype
=
get_parm_info
(
0
);
;
break
;}
case
400
:
#line 22
56
"objc-parse.y"
#line 22
67
"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.
...
...
@@ -4285,23 +4296,23 @@ case 400:
;
break
;}
case
401
:
#line 22
66
"objc-parse.y"
#line 22
77
"objc-parse.y"
{
yyval
.
ttype
=
get_parm_info
(
1
);
;
break
;}
case
402
:
#line 22
68
"objc-parse.y"
#line 22
79
"objc-parse.y"
{
yyval
.
ttype
=
get_parm_info
(
0
);
;
break
;}
case
403
:
#line 22
73
"objc-parse.y"
#line 22
84
"objc-parse.y"
{
push_parm_decl
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
404
:
#line 22
75
"objc-parse.y"
#line 22
86
"objc-parse.y"
{
push_parm_decl
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
405
:
#line 22
82
"objc-parse.y"
#line 22
93
"objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
build_tree_list
(
current_declspecs
,
yyvsp
[
-
1
].
ttype
),
build_tree_list
(
prefix_attributes
,
...
...
@@ -4312,7 +4323,7 @@ case 405:
resume_momentary
(
yyvsp
[
-
2
].
itype
);
;
break
;}
case
406
:
#line 2
291
"objc-parse.y"
#line 2
302
"objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
build_tree_list
(
current_declspecs
,
yyvsp
[
-
1
].
ttype
),
build_tree_list
(
prefix_attributes
,
...
...
@@ -4323,7 +4334,7 @@ case 406:
resume_momentary
(
yyvsp
[
-
2
].
itype
);
;
break
;}
case
407
:
#line 23
00
"objc-parse.y"
#line 23
11
"objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
build_tree_list
(
current_declspecs
,
yyvsp
[
-
1
].
ttype
),
build_tree_list
(
prefix_attributes
,
...
...
@@ -4334,7 +4345,7 @@ case 407:
resume_momentary
(
yyvsp
[
-
2
].
itype
);
;
break
;}
case
408
:
#line 23
09
"objc-parse.y"
#line 23
20
"objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
build_tree_list
(
current_declspecs
,
yyvsp
[
-
1
].
ttype
),
build_tree_list
(
prefix_attributes
,
...
...
@@ -4345,7 +4356,7 @@ case 408:
resume_momentary
(
yyvsp
[
-
2
].
itype
);
;
break
;}
case
409
:
#line 23
19
"objc-parse.y"
#line 23
30
"objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
build_tree_list
(
current_declspecs
,
yyvsp
[
-
1
].
ttype
),
build_tree_list
(
prefix_attributes
,
...
...
@@ -4356,19 +4367,19 @@ case 409:
resume_momentary
(
yyvsp
[
-
2
].
itype
);
;
break
;}
case
410
:
#line 23
33
"objc-parse.y"
#line 23
44
"objc-parse.y"
{
pushlevel
(
0
);
clear_parm_order
();
declare_parm_level
(
1
);
;
break
;}
case
411
:
#line 23
37
"objc-parse.y"
#line 23
48
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
parmlist_tags_warning
();
poplevel
(
0
,
0
,
0
);
;
break
;}
case
413
:
#line 23
45
"objc-parse.y"
#line 23
56
"objc-parse.y"
{
tree
t
;
for
(
t
=
yyvsp
[
-
1
].
ttype
;
t
;
t
=
TREE_CHAIN
(
t
))
if
(
TREE_VALUE
(
t
)
==
NULL_TREE
)
...
...
@@ -4376,28 +4387,28 @@ case 413:
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
414
:
#line 23
55
"objc-parse.y"
#line 23
66
"objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
415
:
#line 23
57
"objc-parse.y"
#line 23
68
"objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
2
].
ttype
,
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
));
;
break
;}
case
416
:
#line 23
63
"objc-parse.y"
#line 23
74
"objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
417
:
#line 23
65
"objc-parse.y"
#line 23
76
"objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
2
].
ttype
,
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
));
;
break
;}
case
418
:
#line 23
70
"objc-parse.y"
#line 23
81
"objc-parse.y"
{
yyval
.
itype
=
pedantic
;
pedantic
=
0
;
;
break
;}
case
424
:
#line 23
83
"objc-parse.y"
#line 23
94
"objc-parse.y"
{
if
(
objc_implementation_context
)
{
...
...
@@ -4410,27 +4421,27 @@ case 424:
;
break
;}
case
425
:
#line 2
398
"objc-parse.y"
#line 2
409
"objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
426
:
#line 24
00
"objc-parse.y"
#line 24
11
"objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
2
].
ttype
,
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
));
;
break
;}
case
427
:
#line 24
05
"objc-parse.y"
#line 24
16
"objc-parse.y"
{
objc_declare_class
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
428
:
#line 24
11
"objc-parse.y"
#line 24
22
"objc-parse.y"
{
objc_declare_alias
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
429
:
#line 24
17
"objc-parse.y"
#line 24
28
"objc-parse.y"
{
objc_interface_context
=
objc_ivar_context
=
start_class
(
CLASS_INTERFACE_TYPE
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
...
...
@@ -4438,20 +4449,20 @@ case 429:
;
break
;}
case
430
:
#line 24
23
"objc-parse.y"
#line 24
34
"objc-parse.y"
{
continue_class
(
objc_interface_context
);
;
break
;}
case
431
:
#line 24
28
"objc-parse.y"
#line 24
39
"objc-parse.y"
{
finish_class
(
objc_interface_context
);
objc_interface_context
=
NULL_TREE
;
;
break
;}
case
432
:
#line 24
34
"objc-parse.y"
#line 24
45
"objc-parse.y"
{
objc_interface_context
=
start_class
(
CLASS_INTERFACE_TYPE
,
yyvsp
[
-
1
].
ttype
,
NULL_TREE
,
yyvsp
[
0
].
ttype
);
...
...
@@ -4459,14 +4470,14 @@ case 432:
;
break
;}
case
433
:
#line 24
41
"objc-parse.y"
#line 24
52
"objc-parse.y"
{
finish_class
(
objc_interface_context
);
objc_interface_context
=
NULL_TREE
;
;
break
;}
case
434
:
#line 24
47
"objc-parse.y"
#line 24
58
"objc-parse.y"
{
objc_interface_context
=
objc_ivar_context
=
start_class
(
CLASS_INTERFACE_TYPE
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
);
...
...
@@ -4474,20 +4485,20 @@ case 434:
;
break
;}
case
435
:
#line 24
53
"objc-parse.y"
#line 24
64
"objc-parse.y"
{
continue_class
(
objc_interface_context
);
;
break
;}
case
436
:
#line 24
58
"objc-parse.y"
#line 24
69
"objc-parse.y"
{
finish_class
(
objc_interface_context
);
objc_interface_context
=
NULL_TREE
;
;
break
;}
case
437
:
#line 24
64
"objc-parse.y"
#line 24
75
"objc-parse.y"
{
objc_interface_context
=
start_class
(
CLASS_INTERFACE_TYPE
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
...
...
@@ -4495,14 +4506,14 @@ case 437:
;
break
;}
case
438
:
#line 24
71
"objc-parse.y"
#line 24
82
"objc-parse.y"
{
finish_class
(
objc_interface_context
);
objc_interface_context
=
NULL_TREE
;
;
break
;}
case
439
:
#line 24
77
"objc-parse.y"
#line 24
88
"objc-parse.y"
{
objc_implementation_context
=
objc_ivar_context
=
start_class
(
CLASS_IMPLEMENTATION_TYPE
,
yyvsp
[
-
1
].
ttype
,
NULL_TREE
,
NULL_TREE
);
...
...
@@ -4510,14 +4521,14 @@ case 439:
;
break
;}
case
440
:
#line 24
83
"objc-parse.y"
#line 24
94
"objc-parse.y"
{
objc_ivar_chain
=
continue_class
(
objc_implementation_context
);
;
break
;}
case
441
:
#line 2
489
"objc-parse.y"
#line 2
500
"objc-parse.y"
{
objc_implementation_context
=
start_class
(
CLASS_IMPLEMENTATION_TYPE
,
yyvsp
[
0
].
ttype
,
NULL_TREE
,
NULL_TREE
);
...
...
@@ -4526,7 +4537,7 @@ case 441:
;
break
;}
case
442
:
#line 2
497
"objc-parse.y"
#line 2
508
"objc-parse.y"
{
objc_implementation_context
=
objc_ivar_context
=
start_class
(
CLASS_IMPLEMENTATION_TYPE
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
NULL_TREE
);
...
...
@@ -4534,14 +4545,14 @@ case 442:
;
break
;}
case
443
:
#line 25
03
"objc-parse.y"
#line 25
14
"objc-parse.y"
{
objc_ivar_chain
=
continue_class
(
objc_implementation_context
);
;
break
;}
case
444
:
#line 25
09
"objc-parse.y"
#line 25
20
"objc-parse.y"
{
objc_implementation_context
=
start_class
(
CLASS_IMPLEMENTATION_TYPE
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
,
NULL_TREE
);
...
...
@@ -4550,7 +4561,7 @@ case 444:
;
break
;}
case
445
:
#line 25
17
"objc-parse.y"
#line 25
28
"objc-parse.y"
{
objc_interface_context
=
start_class
(
CATEGORY_INTERFACE_TYPE
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
...
...
@@ -4558,14 +4569,14 @@ case 445:
;
break
;}
case
446
:
#line 25
24
"objc-parse.y"
#line 25
35
"objc-parse.y"
{
finish_class
(
objc_interface_context
);
objc_interface_context
=
NULL_TREE
;
;
break
;}
case
447
:
#line 25
30
"objc-parse.y"
#line 25
41
"objc-parse.y"
{
objc_implementation_context
=
start_class
(
CATEGORY_IMPLEMENTATION_TYPE
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
NULL_TREE
);
...
...
@@ -4574,7 +4585,7 @@ case 447:
;
break
;}
case
448
:
#line 25
40
"objc-parse.y"
#line 25
51
"objc-parse.y"
{
remember_protocol_qualifiers
();
objc_interface_context
...
...
@@ -4582,7 +4593,7 @@ case 448:
;
break
;}
case
449
:
#line 25
46
"objc-parse.y"
#line 25
57
"objc-parse.y"
{
forget_protocol_qualifiers
();
finish_protocol
(
objc_interface_context
);
...
...
@@ -4590,13 +4601,13 @@ case 449:
;
break
;}
case
450
:
#line 25
55
"objc-parse.y"
#line 25
66
"objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
452
:
#line 25
63
"objc-parse.y"
#line 25
74
"objc-parse.y"
{
if
(
yyvsp
[
-
2
].
code
==
LT_EXPR
&&
yyvsp
[
0
].
code
==
GT_EXPR
)
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
...
...
@@ -4605,32 +4616,32 @@ case 452:
;
break
;}
case
455
:
#line 25
77
"objc-parse.y"
#line 25
88
"objc-parse.y"
{
objc_public_flag
=
2
;
;
break
;}
case
456
:
#line 25
78
"objc-parse.y"
#line 25
89
"objc-parse.y"
{
objc_public_flag
=
0
;
;
break
;}
case
457
:
#line 25
79
"objc-parse.y"
#line 25
90
"objc-parse.y"
{
objc_public_flag
=
1
;
;
break
;}
case
458
:
#line 25
84
"objc-parse.y"
#line 25
95
"objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
460
:
#line 2
589
"objc-parse.y"
#line 2
600
"objc-parse.y"
{
if
(
pedantic
)
pedwarn
(
"extra semicolon in struct or union specified"
);
;
break
;}
case
461
:
#line 26
07
"objc-parse.y"
#line 26
18
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
current_declspecs
=
TREE_VALUE
(
declspec_stack
);
prefix_attributes
=
TREE_PURPOSE
(
declspec_stack
);
...
...
@@ -4638,7 +4649,7 @@ case 461:
resume_momentary
(
yyvsp
[
-
1
].
itype
);
;
break
;}
case
462
:
#line 26
13
"objc-parse.y"
#line 26
24
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
current_declspecs
=
TREE_VALUE
(
declspec_stack
);
prefix_attributes
=
TREE_PURPOSE
(
declspec_stack
);
...
...
@@ -4646,15 +4657,15 @@ case 462:
resume_momentary
(
yyvsp
[
-
1
].
itype
);
;
break
;}
case
463
:
#line 26
19
"objc-parse.y"
#line 26
30
"objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
464
:
#line 26
24
"objc-parse.y"
#line 26
35
"objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
467
:
#line 26
31
"objc-parse.y"
#line 26
42
"objc-parse.y"
{
yyval
.
ttype
=
add_instance_variable
(
objc_ivar_context
,
objc_public_flag
,
...
...
@@ -4663,7 +4674,7 @@ case 467:
;
break
;}
case
468
:
#line 26
38
"objc-parse.y"
#line 26
49
"objc-parse.y"
{
yyval
.
ttype
=
add_instance_variable
(
objc_ivar_context
,
objc_public_flag
,
...
...
@@ -4671,7 +4682,7 @@ case 468:
;
break
;}
case
469
:
#line 26
44
"objc-parse.y"
#line 26
55
"objc-parse.y"
{
yyval
.
ttype
=
add_instance_variable
(
objc_ivar_context
,
objc_public_flag
,
...
...
@@ -4680,7 +4691,7 @@ case 469:
;
break
;}
case
470
:
#line 26
54
"objc-parse.y"
#line 26
65
"objc-parse.y"
{
remember_protocol_qualifiers
();
if
(
objc_implementation_context
)
...
...
@@ -4690,7 +4701,7 @@ case 470:
;
break
;}
case
471
:
#line 26
62
"objc-parse.y"
#line 26
73
"objc-parse.y"
{
forget_protocol_qualifiers
();
add_class_method
(
objc_implementation_context
,
yyvsp
[
0
].
ttype
);
...
...
@@ -4699,20 +4710,20 @@ case 471:
;
break
;}
case
472
:
#line 26
69
"objc-parse.y"
#line 26
80
"objc-parse.y"
{
continue_method_def
();
;
break
;}
case
473
:
#line 26
73
"objc-parse.y"
#line 26
84
"objc-parse.y"
{
finish_method_def
();
objc_method_context
=
NULL_TREE
;
;
break
;}
case
474
:
#line 26
79
"objc-parse.y"
#line 26
90
"objc-parse.y"
{
remember_protocol_qualifiers
();
if
(
objc_implementation_context
)
...
...
@@ -4722,7 +4733,7 @@ case 474:
;
break
;}
case
475
:
#line 26
87
"objc-parse.y"
#line 26
98
"objc-parse.y"
{
forget_protocol_qualifiers
();
add_instance_method
(
objc_implementation_context
,
yyvsp
[
0
].
ttype
);
...
...
@@ -4731,28 +4742,28 @@ case 475:
;
break
;}
case
476
:
#line 2
694
"objc-parse.y"
#line 2
705
"objc-parse.y"
{
continue_method_def
();
;
break
;}
case
477
:
#line 2
698
"objc-parse.y"
#line 2
709
"objc-parse.y"
{
finish_method_def
();
objc_method_context
=
NULL_TREE
;
;
break
;}
case
479
:
#line 27
10
"objc-parse.y"
#line 27
21
"objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
484
:
#line 27
17
"objc-parse.y"
#line 27
28
"objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
488
:
#line 27
27
"objc-parse.y"
#line 27
38
"objc-parse.y"
{
/* Remember protocol qualifiers in prototypes. */
remember_protocol_qualifiers
();
...
...
@@ -4760,7 +4771,7 @@ case 488:
;
break
;}
case
489
:
#line 27
33
"objc-parse.y"
#line 27
44
"objc-parse.y"
{
/* Forget protocol qualifiers here. */
forget_protocol_qualifiers
();
...
...
@@ -4768,7 +4779,7 @@ case 489:
;
break
;}
case
491
:
#line 27
41
"objc-parse.y"
#line 27
52
"objc-parse.y"
{
/* Remember protocol qualifiers in prototypes. */
remember_protocol_qualifiers
();
...
...
@@ -4776,7 +4787,7 @@ case 491:
;
break
;}
case
492
:
#line 27
47
"objc-parse.y"
#line 27
58
"objc-parse.y"
{
/* Forget protocol qualifiers here. */
forget_protocol_qualifiers
();
...
...
@@ -4784,94 +4795,94 @@ case 492:
;
break
;}
case
494
:
#line 27
57
"objc-parse.y"
#line 27
68
"objc-parse.y"
{
yyval
.
ttype
=
build_method_decl
(
objc_inherit_code
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
495
:
#line 27
62
"objc-parse.y"
#line 27
73
"objc-parse.y"
{
yyval
.
ttype
=
build_method_decl
(
objc_inherit_code
,
NULL_TREE
,
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
496
:
#line 27
67
"objc-parse.y"
#line 27
78
"objc-parse.y"
{
yyval
.
ttype
=
build_method_decl
(
objc_inherit_code
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
497
:
#line 27
72
"objc-parse.y"
#line 27
83
"objc-parse.y"
{
yyval
.
ttype
=
build_method_decl
(
objc_inherit_code
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
506
:
#line 28
02
"objc-parse.y"
#line 28
13
"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
507
:
#line 28
07
"objc-parse.y"
#line 28
18
"objc-parse.y"
{
shadow_tag
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
508
:
#line 28
09
"objc-parse.y"
#line 28
20
"objc-parse.y"
{
pedwarn
(
"empty declaration"
);
;
break
;}
case
509
:
#line 28
14
"objc-parse.y"
#line 28
25
"objc-parse.y"
{
push_parm_decl
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
510
:
#line 28
16
"objc-parse.y"
#line 28
27
"objc-parse.y"
{
push_parm_decl
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
511
:
#line 28
24
"objc-parse.y"
#line 28
35
"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 28
29
"objc-parse.y"
#line 28
40
"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 28
34
"objc-parse.y"
#line 28
45
"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 28
42
"objc-parse.y"
#line 28
53
"objc-parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
515
:
#line 28
46
"objc-parse.y"
#line 28
57
"objc-parse.y"
{
/* oh what a kludge! */
yyval
.
ttype
=
(
tree
)
1
;
;
break
;}
case
516
:
#line 28
51
"objc-parse.y"
#line 28
62
"objc-parse.y"
{
pushlevel
(
0
);
;
break
;}
case
517
:
#line 28
55
"objc-parse.y"
#line 28
66
"objc-parse.y"
{
/* returns a tree list node generated by get_parm_info */
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
...
...
@@ -4879,119 +4890,119 @@ case 517:
;
break
;}
case
520
:
#line 28
70
"objc-parse.y"
#line 28
81
"objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
525
:
#line 28
83
"objc-parse.y"
#line 28
94
"objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
526
:
#line 28
84
"objc-parse.y"
#line 28
95
"objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
527
:
#line 28
85
"objc-parse.y"
#line 28
96
"objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
528
:
#line 28
86
"objc-parse.y"
#line 28
97
"objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
529
:
#line 28
87
"objc-parse.y"
#line 28
98
"objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
530
:
#line 28
88
"objc-parse.y"
#line 28
99
"objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
531
:
#line 2
889
"objc-parse.y"
#line 2
900
"objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
532
:
#line 2
890
"objc-parse.y"
#line 2
901
"objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
533
:
#line 2
891
"objc-parse.y"
#line 2
902
"objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
534
:
#line 2
892
"objc-parse.y"
#line 2
903
"objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
535
:
#line 2
893
"objc-parse.y"
#line 2
904
"objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
536
:
#line 2
894
"objc-parse.y"
#line 2
905
"objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
537
:
#line 2
895
"objc-parse.y"
#line 2
906
"objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
538
:
#line 2
896
"objc-parse.y"
#line 2
907
"objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
539
:
#line 2
897
"objc-parse.y"
#line 2
908
"objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
540
:
#line 2
898
"objc-parse.y"
#line 2
909
"objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
541
:
#line 2
899
"objc-parse.y"
#line 2
910
"objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
542
:
#line 29
00
"objc-parse.y"
#line 29
11
"objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
543
:
#line 29
01
"objc-parse.y"
#line 29
12
"objc-parse.y"
{
yyval
.
ttype
=
get_identifier
(
token_buffer
);
;
break
;}
case
546
:
#line 29
07
"objc-parse.y"
#line 29
18
"objc-parse.y"
{
yyval
.
ttype
=
build_keyword_decl
(
yyvsp
[
-
5
].
ttype
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
547
:
#line 29
12
"objc-parse.y"
#line 29
23
"objc-parse.y"
{
yyval
.
ttype
=
build_keyword_decl
(
yyvsp
[
-
2
].
ttype
,
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
548
:
#line 29
17
"objc-parse.y"
#line 29
28
"objc-parse.y"
{
yyval
.
ttype
=
build_keyword_decl
(
NULL_TREE
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
549
:
#line 29
22
"objc-parse.y"
#line 29
33
"objc-parse.y"
{
yyval
.
ttype
=
build_keyword_decl
(
NULL_TREE
,
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
553
:
#line 29
35
"objc-parse.y"
#line 29
46
"objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
554
:
#line 29
43
"objc-parse.y"
#line 29
54
"objc-parse.y"
{
if
(
TREE_CHAIN
(
yyvsp
[
0
].
ttype
)
==
NULL_TREE
)
/* just return the expr., remove a level of indirection */
...
...
@@ -5002,76 +5013,76 @@ case 554:
;
break
;}
case
555
:
#line 29
55
"objc-parse.y"
#line 29
66
"objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
556
:
#line 29
59
"objc-parse.y"
#line 29
70
"objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
558
:
#line 29
67
"objc-parse.y"
#line 29
78
"objc-parse.y"
{
yyval
.
ttype
=
get_class_reference
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
559
:
#line 29
74
"objc-parse.y"
#line 29
85
"objc-parse.y"
{
objc_receiver_context
=
1
;
;
break
;}
case
560
:
#line 29
76
"objc-parse.y"
#line 29
87
"objc-parse.y"
{
objc_receiver_context
=
0
;
;
break
;}
case
561
:
#line 29
78
"objc-parse.y"
#line 29
89
"objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
565
:
#line
2991
"objc-parse.y"
#line
3002
"objc-parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
566
:
#line
2998
"objc-parse.y"
#line
3009
"objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
NULL_TREE
);
;
break
;}
case
567
:
#line 30
02
"objc-parse.y"
#line 30
13
"objc-parse.y"
{
yyval
.
ttype
=
build_tree_list
(
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
568
:
#line 30
09
"objc-parse.y"
#line 30
20
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
case
569
:
#line 30
16
"objc-parse.y"
#line 30
27
"objc-parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
case
570
:
#line 30
25
"objc-parse.y"
#line 30
36
"objc-parse.y"
{
yyval
.
ttype
=
groktypename
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
}
/* the action file gets copied in in place of this dollarsign */
#line 498 "/usr/
cygnus/TBD-TBD/
share/bison.simple"
#line 498 "/usr/share/bison.simple"
yyvsp
-=
yylen
;
yyssp
-=
yylen
;
...
...
@@ -5267,5 +5278,5 @@ yyerrhandle:
yystate
=
yyn
;
goto
yynewstate
;
}
#line 30
30
"objc-parse.y"
#line 30
41
"objc-parse.y"
gcc/objc/objc-parse.y
View file @
afe3d090
...
...
@@ -41,7 +41,8 @@ Boston, MA 02111-1307, USA. */
#include "flags.h"
#include "output.h"
#include "toplev.h"
#include "ggc.h"
#ifdef MULTIBYTE_CHARS
#include <locale.h>
#endif
...
...
@@ -229,6 +230,16 @@ int objc_public_flag;
#define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
extern
void
yyprint
PROTO
((
FILE
*
,
int
,
YYSTYPE
));
/* Add GC roots for variables local to this file. */
void
c_parse_init
()
{
ggc_add_tree_root
(
&
declspec_stack
,
1
);
ggc_add_tree_root
(
&
current_declspecs
,
1
);
ggc_add_tree_root
(
&
prefix_attributes
,
1
);
}
%
}
%%
...
...
gcc/toplev.c
View file @
afe3d090
...
...
@@ -1493,6 +1493,25 @@ decl_name (decl, verbosity)
return
IDENTIFIER_POINTER
(
DECL_NAME
(
decl
));
}
/* Mark P for GC. Also mark main_input_filename and input_filename. */
static
void
mark_file_stack
(
p
)
void
*
p
;
{
struct
file_stack
*
stack
=
*
(
struct
file_stack
**
)
p
;
/* We're only called for input_file_stack, so we can mark the current
input_filename here as well. */
ggc_mark_string
(
main_input_filename
);
ggc_mark_string
(
input_filename
);
while
(
stack
)
{
ggc_mark_string
(
stack
->
name
);
stack
=
stack
->
next
;
}
}
static
int
need_error_newline
;
/* Function of last error message;
...
...
@@ -3055,6 +3074,8 @@ compile_file (name)
#endif
}
if
(
ggc_p
)
name
=
ggc_alloc_string
(
name
,
strlen
(
name
));
input_filename
=
name
;
/* Put an entry on the input file stack for the main input file. */
...
...
@@ -4772,6 +4793,9 @@ main (argc, argv)
flag_short_enums
=
DEFAULT_SHORT_ENUMS
;
#endif
ggc_add_root
(
&
input_file_stack
,
1
,
sizeof
input_file_stack
,
&
mark_file_stack
);
/* Perform language-specific options intialization. */
lang_init_options
();
...
...
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