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
dc469f59
Commit
dc469f59
authored
Aug 24, 1998
by
Jason Merrill
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
comment
From-SVN: r21940
parent
479aecf1
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
540 additions
and
536 deletions
+540
-536
gcc/cp/parse.c
+538
-536
gcc/cp/parse.y
+2
-0
No files found.
gcc/cp/parse.c
View file @
dc469f59
...
@@ -666,63 +666,63 @@ static const short yyrline[] = { 0,
...
@@ -666,63 +666,63 @@ static const short yyrline[] = { 0,
1254
,
1258
,
1260
,
1262
,
1279
,
1282
,
1284
,
1285
,
1286
,
1287
,
1254
,
1258
,
1260
,
1262
,
1279
,
1282
,
1284
,
1285
,
1286
,
1287
,
1288
,
1291
,
1294
,
1297
,
1301
,
1304
,
1306
,
1311
,
1313
,
1314
,
1288
,
1291
,
1294
,
1297
,
1301
,
1304
,
1306
,
1311
,
1313
,
1314
,
1317
,
1319
,
1321
,
1323
,
1327
,
1330
,
1334
,
1338
,
1339
,
1340
,
1317
,
1319
,
1321
,
1323
,
1327
,
1330
,
1334
,
1338
,
1339
,
1340
,
1344
,
1352
,
1353
,
1354
,
136
6
,
1368
,
1371
,
1373
,
1383
,
1388
,
1344
,
1352
,
1353
,
1354
,
136
8
,
1370
,
1373
,
1375
,
1385
,
1390
,
139
0
,
1392
,
1394
,
1396
,
1398
,
1400
,
1403
,
1405
,
1449
,
1450
,
139
2
,
1394
,
1396
,
1398
,
1400
,
1402
,
1405
,
1407
,
1451
,
1452
,
145
4
,
1458
,
1462
,
1466
,
1468
,
1472
,
1474
,
1476
,
1484
,
1486
,
145
6
,
1460
,
1464
,
1468
,
1470
,
1474
,
1476
,
1478
,
1486
,
1488
,
14
88
,
1490
,
1494
,
1496
,
1498
,
1500
,
1505
,
1507
,
1509
,
1511
,
14
90
,
1492
,
1496
,
1498
,
1500
,
1502
,
1507
,
1509
,
1511
,
1513
,
151
4
,
1516
,
1518
,
1562
,
1565
,
1569
,
1572
,
1576
,
1579
,
1584
,
151
6
,
1518
,
1520
,
1564
,
1567
,
1571
,
1574
,
1578
,
1581
,
1586
,
158
6
,
1590
,
1603
,
1606
,
1613
,
1620
,
1625
,
1627
,
1632
,
1634
,
158
8
,
1592
,
1605
,
1608
,
1615
,
1622
,
1627
,
1629
,
1634
,
1636
,
164
1
,
1643
,
1647
,
1651
,
1657
,
1661
,
1664
,
1667
,
1670
,
1680
,
164
3
,
1645
,
1649
,
1653
,
1659
,
1663
,
1666
,
1669
,
1672
,
1682
,
168
2
,
1685
,
1689
,
1692
,
1695
,
1698
,
1701
,
1707
,
1713
,
1715
,
168
4
,
1687
,
1691
,
1694
,
1697
,
1700
,
1703
,
1709
,
1715
,
1717
,
172
0
,
1722
,
1731
,
1734
,
1736
,
1739
,
1745
,
1747
,
1757
,
1761
,
172
2
,
1724
,
1733
,
1736
,
1738
,
1741
,
1747
,
1749
,
1759
,
1763
,
176
4
,
1767
,
1772
,
1775
,
1783
,
1785
,
1787
,
1789
,
1792
,
1795
,
176
6
,
1769
,
1774
,
1777
,
1785
,
1787
,
1789
,
1791
,
1794
,
1797
,
181
0
,
1829
,
1832
,
1834
,
1837
,
1839
,
1842
,
1844
,
1847
,
1849
,
181
2
,
1831
,
1834
,
1836
,
1839
,
1841
,
1844
,
1846
,
1849
,
1851
,
185
2
,
1855
,
1859
,
1865
,
1866
,
1878
,
1885
,
1888
,
1894
,
1898
,
185
4
,
1857
,
1861
,
1867
,
1868
,
1880
,
1887
,
1890
,
1896
,
1900
,
190
3
,
1909
,
1910
,
1918
,
1921
,
1925
,
1928
,
1932
,
1937
,
1940
,
190
5
,
1911
,
1912
,
1920
,
1923
,
1927
,
1930
,
1934
,
1939
,
1942
,
194
4
,
1947
,
1949
,
1951
,
1953
,
1960
,
1962
,
1963
,
1964
,
1968
,
194
6
,
1949
,
1951
,
1953
,
1955
,
1962
,
1964
,
1965
,
1966
,
1970
,
197
1
,
1975
,
1978
,
1984
,
1986
,
1989
,
1992
,
1995
,
2001
,
2004
,
197
3
,
1977
,
1980
,
1986
,
1988
,
1991
,
1994
,
1997
,
2003
,
2006
,
200
7
,
2009
,
2011
,
2015
,
2021
,
2029
,
2031
,
2035
,
2037
,
2042
,
200
9
,
2011
,
2013
,
2017
,
2023
,
2031
,
2033
,
2037
,
2039
,
2044
,
204
5
,
2048
,
2050
,
2052
,
2056
,
2060
,
2065
,
2069
,
2072
,
2077
,
204
7
,
2050
,
2052
,
2054
,
2058
,
2062
,
2067
,
2071
,
2074
,
2079
,
208
1
,
2084
,
2087
,
2091
,
2103
,
2105
,
2108
,
2128
,
2130
,
2133
,
208
3
,
2086
,
2089
,
2093
,
2105
,
2107
,
2110
,
2130
,
2132
,
2135
,
213
5
,
2140
,
2142
,
2144
,
2146
,
2148
,
2150
,
2154
,
2159
,
2162
,
213
7
,
2142
,
2144
,
2146
,
2148
,
2150
,
2152
,
2156
,
2161
,
2164
,
216
4
,
2168
,
2174
,
2179
,
2184
,
2186
,
2190
,
2195
,
2198
,
2205
,
216
6
,
2170
,
2176
,
2181
,
2186
,
2188
,
2192
,
2197
,
2200
,
2207
,
222
2
,
2228
,
2230
,
2233
,
2236
,
2238
,
2242
,
2244
,
2248
,
2281
,
222
4
,
2230
,
2232
,
2235
,
2238
,
2240
,
2244
,
2246
,
2250
,
2283
,
231
7
,
2320
,
2321
,
2342
,
2365
,
2367
,
2371
,
2382
,
2396
,
2401
,
231
9
,
2322
,
2323
,
2344
,
2367
,
2369
,
2373
,
2384
,
2398
,
2403
,
24
08
,
2411
,
2419
,
2430
,
2439
,
2443
,
2458
,
2461
,
2466
,
2468
,
24
10
,
2413
,
2421
,
2432
,
2441
,
2445
,
2460
,
2463
,
2468
,
2470
,
247
0
,
2472
,
2474
,
2476
,
2479
,
2481
,
2485
,
2491
,
2493
,
2496
,
247
2
,
2474
,
2476
,
2478
,
2481
,
2483
,
2487
,
2493
,
2495
,
2498
,
2
499
,
2501
,
2512
,
2517
,
2520
,
2525
,
2528
,
2529
,
2540
,
2543
,
2
501
,
2503
,
2514
,
2519
,
2522
,
2527
,
2530
,
2531
,
2542
,
2545
,
254
4
,
2555
,
2557
,
2560
,
2562
,
2565
,
2572
,
2580
,
2587
,
2593
,
254
6
,
2557
,
2559
,
2562
,
2564
,
2567
,
2574
,
2582
,
2589
,
2595
,
2
599
,
2607
,
2611
,
2616
,
2620
,
2623
,
2632
,
2634
,
2638
,
2641
,
2
601
,
2609
,
2613
,
2618
,
2622
,
2625
,
2634
,
2636
,
2640
,
2643
,
264
6
,
2650
,
2656
,
2667
,
2670
,
2674
,
2678
,
2686
,
2691
,
2697
,
264
8
,
2652
,
2658
,
2669
,
2672
,
2676
,
2680
,
2688
,
2693
,
2699
,
270
0
,
2702
,
2704
,
2710
,
2713
,
2715
,
2717
,
2719
,
2723
,
2726
,
270
2
,
2704
,
2706
,
2712
,
2715
,
2717
,
2719
,
2721
,
2725
,
2728
,
274
4
,
2754
,
2756
,
2757
,
2761
,
2766
,
2769
,
2771
,
2773
,
2775
,
274
6
,
2756
,
2758
,
2759
,
2763
,
2768
,
2771
,
2773
,
2775
,
2777
,
27
79
,
2785
,
2788
,
2790
,
2792
,
2794
,
2798
,
2801
,
2804
,
2806
,
27
81
,
2787
,
2790
,
2792
,
2794
,
2796
,
2800
,
2803
,
2806
,
2808
,
28
08
,
2810
,
2814
,
2817
,
2820
,
2822
,
2824
,
2826
,
2828
,
2835
,
28
10
,
2812
,
2816
,
2819
,
2822
,
2824
,
2826
,
2828
,
2830
,
2837
,
28
39
,
2844
,
2848
,
2853
,
2855
,
2859
,
2862
,
2864
,
2868
,
2870
,
28
41
,
2846
,
2850
,
2855
,
2857
,
2861
,
2864
,
2866
,
2870
,
2872
,
287
1
,
2874
,
2876
,
2878
,
2884
,
2899
,
2905
,
2911
,
2925
,
2927
,
287
3
,
2876
,
2878
,
2880
,
2886
,
2901
,
2907
,
2913
,
2927
,
2929
,
293
1
,
2945
,
2947
,
2949
,
2953
,
2959
,
2972
,
2974
,
2978
,
2991
,
293
3
,
2947
,
2949
,
2951
,
2955
,
2961
,
2974
,
2976
,
2980
,
2993
,
299
7
,
2999
,
3000
,
3001
,
3009
,
3014
,
3023
,
3024
,
3028
,
3031
,
299
9
,
3001
,
3002
,
3003
,
3011
,
3016
,
3025
,
3026
,
3030
,
3033
,
303
7
,
3043
,
3046
,
3048
,
3050
,
3052
,
3056
,
3060
,
3064
,
3067
,
303
9
,
3045
,
3048
,
3050
,
3052
,
3054
,
3058
,
3062
,
3066
,
3069
,
307
2
,
3075
,
3077
,
3079
,
3081
,
3083
,
3085
,
3087
,
3089
,
3093
,
307
4
,
3077
,
3079
,
3081
,
3083
,
3085
,
3087
,
3089
,
3091
,
3095
,
309
7
,
3101
,
3105
,
3106
,
3108
,
3110
,
3112
,
3114
,
3116
,
3118
,
309
9
,
3103
,
3107
,
3108
,
3110
,
3112
,
3114
,
3116
,
3118
,
3120
,
312
0
,
3122
,
3130
,
3132
,
3133
,
3134
,
3137
,
3143
,
3145
,
3150
,
312
2
,
3124
,
3132
,
3134
,
3135
,
3136
,
3139
,
3145
,
3147
,
3152
,
315
2
,
3155
,
3169
,
3172
,
3175
,
3179
,
3182
,
3189
,
3191
,
3194
,
315
4
,
3157
,
3171
,
3174
,
3177
,
3181
,
3184
,
3191
,
3193
,
3196
,
319
6
,
3198
,
3201
,
3204
,
3207
,
3210
,
3212
,
3215
,
3219
,
3221
,
319
8
,
3200
,
3203
,
3206
,
3209
,
3212
,
3214
,
3217
,
3221
,
3223
,
322
7
,
3229
,
3230
,
3232
,
3237
,
3239
,
3241
,
3243
,
3245
,
3248
,
322
9
,
3231
,
3232
,
3234
,
3239
,
3241
,
3243
,
3245
,
3247
,
3250
,
32
49
,
3251
,
3254
,
3255
,
3258
,
3258
,
3261
,
3261
,
3264
,
3264
,
32
51
,
3253
,
3256
,
3257
,
3260
,
3260
,
3263
,
3263
,
3266
,
3266
,
326
6
,
3268
,
3270
,
3272
,
3278
,
3284
,
3287
,
3290
,
3296
,
3298
,
326
8
,
3270
,
3272
,
3274
,
3280
,
3286
,
3289
,
3292
,
3298
,
3300
,
330
0
,
3304
,
3306
,
3307
,
3308
,
3310
,
3313
,
3320
,
3325
,
3333
,
330
2
,
3306
,
3308
,
3309
,
3310
,
3312
,
3315
,
3322
,
3327
,
3335
,
333
7
,
3339
,
3342
,
3344
,
3347
,
3351
,
3353
,
3356
,
3358
,
3361
,
333
9
,
3341
,
3344
,
3346
,
3349
,
3353
,
3355
,
3358
,
3360
,
3363
,
33
78
,
3384
,
3392
,
3394
,
3396
,
3400
,
3403
,
3404
,
3412
,
3416
,
33
80
,
3386
,
3394
,
3396
,
3398
,
3402
,
3405
,
3406
,
3414
,
3418
,
342
0
,
3423
,
3424
,
3430
,
3433
,
3436
,
3438
,
3442
,
3447
,
3450
,
342
2
,
3425
,
3426
,
3432
,
3435
,
3438
,
3440
,
3444
,
3449
,
3452
,
346
0
,
3465
,
3466
,
3473
,
3476
,
3479
,
3481
,
3484
,
3486
,
3496
,
346
2
,
3467
,
3468
,
3475
,
3478
,
3481
,
3483
,
3486
,
3488
,
3498
,
351
0
,
3514
,
3517
,
3519
,
3523
,
3527
,
3530
,
3533
,
3535
,
3539
,
351
2
,
3516
,
3519
,
3521
,
3525
,
3529
,
3532
,
3535
,
3537
,
3541
,
354
1
,
3548
,
3555
,
3558
,
3561
,
3565
,
3569
,
3575
,
3579
,
3584
,
354
3
,
3550
,
3557
,
3560
,
3563
,
3567
,
3571
,
3577
,
3581
,
3586
,
358
6
,
3589
,
3594
,
3600
,
3611
,
3614
,
3616
,
3620
,
3625
,
3627
,
358
8
,
3591
,
3596
,
3602
,
3613
,
3616
,
3618
,
3622
,
3627
,
3629
,
363
4
,
3637
,
3639
,
3641
,
3647
,
3652
,
3655
,
3657
,
3659
,
3661
,
363
6
,
3639
,
3641
,
3643
,
3649
,
3654
,
3657
,
3659
,
3661
,
3663
,
366
3
,
3665
,
3667
,
3669
,
3671
,
3673
,
3675
,
3677
,
3679
,
3681
,
366
5
,
3667
,
3669
,
3671
,
3673
,
3675
,
3677
,
3679
,
3681
,
3683
,
368
3
,
3685
,
3687
,
3689
,
3691
,
3693
,
3695
,
3697
,
3699
,
3701
,
368
5
,
3687
,
3689
,
3691
,
3693
,
3695
,
3697
,
3699
,
3701
,
3703
,
370
3
,
3705
,
3707
,
3709
,
3711
,
3713
,
3715
,
3717
,
3720
,
3722
370
5
,
3707
,
3709
,
3711
,
3713
,
3715
,
3717
,
3719
,
3722
,
3724
};
};
#endif
#endif
...
@@ -5227,6 +5227,8 @@ case 304:
...
@@ -5227,6 +5227,8 @@ case 304:
if
(
processing_template_decl
)
if
(
processing_template_decl
)
push_obstacks
(
&
permanent_obstack
,
&
permanent_obstack
);
push_obstacks
(
&
permanent_obstack
,
&
permanent_obstack
);
yyval
.
ttype
=
combine_strings
(
yyval
.
ttype
);
yyval
.
ttype
=
combine_strings
(
yyval
.
ttype
);
/* combine_strings doesn't set up TYPE_MAIN_VARIANT of
a const array the way we want, so fix it. */
if
(
flag_const_strings
)
if
(
flag_const_strings
)
TREE_TYPE
(
yyval
.
ttype
)
=
build_cplus_array_type
TREE_TYPE
(
yyval
.
ttype
)
=
build_cplus_array_type
(
TREE_TYPE
(
TREE_TYPE
(
yyval
.
ttype
)),
(
TREE_TYPE
(
TREE_TYPE
(
yyval
.
ttype
)),
...
@@ -5236,20 +5238,20 @@ case 304:
...
@@ -5236,20 +5238,20 @@ case 304:
;
;
break
;}
break
;}
case
305
:
case
305
:
#line 136
7
"parse.y"
#line 136
9
"parse.y"
{
yyval
.
ttype
=
finish_parenthesized_expr
(
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
finish_parenthesized_expr
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
306
:
case
306
:
#line 13
69
"parse.y"
#line 13
71
"parse.y"
{
yyvsp
[
-
1
].
ttype
=
reparse_decl_as_expr
(
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
{
yyvsp
[
-
1
].
ttype
=
reparse_decl_as_expr
(
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
yyval
.
ttype
=
finish_parenthesized_expr
(
yyvsp
[
-
1
].
ttype
);
;
yyval
.
ttype
=
finish_parenthesized_expr
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
307
:
case
307
:
#line 137
2
"parse.y"
#line 137
4
"parse.y"
{
yyval
.
ttype
=
error_mark_node
;
;
{
yyval
.
ttype
=
error_mark_node
;
;
break
;}
break
;}
case
308
:
case
308
:
#line 137
4
"parse.y"
#line 137
6
"parse.y"
{
if
(
current_function_decl
==
0
)
{
if
(
current_function_decl
==
0
)
{
{
error
(
"braced-group within expression allowed only inside a function"
);
error
(
"braced-group within expression allowed only inside a function"
);
...
@@ -5261,43 +5263,43 @@ case 308:
...
@@ -5261,43 +5263,43 @@ case 308:
;
;
break
;}
break
;}
case
309
:
case
309
:
#line 138
4
"parse.y"
#line 138
6
"parse.y"
{
yyval
.
ttype
=
finish_stmt_expr
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
finish_stmt_expr
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
310
:
case
310
:
#line 13
89
"parse.y"
#line 13
91
"parse.y"
{
yyval
.
ttype
=
finish_call_expr
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
1
);
;
{
yyval
.
ttype
=
finish_call_expr
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
1
);
;
break
;}
break
;}
case
311
:
case
311
:
#line 139
1
"parse.y"
#line 139
3
"parse.y"
{
yyval
.
ttype
=
finish_call_expr
(
yyvsp
[
-
1
].
ttype
,
NULL_TREE
,
1
);
;
{
yyval
.
ttype
=
finish_call_expr
(
yyvsp
[
-
1
].
ttype
,
NULL_TREE
,
1
);
;
break
;}
break
;}
case
312
:
case
312
:
#line 139
3
"parse.y"
#line 139
5
"parse.y"
{
yyval
.
ttype
=
finish_call_expr
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
0
);
;
{
yyval
.
ttype
=
finish_call_expr
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
0
);
;
break
;}
break
;}
case
313
:
case
313
:
#line 139
5
"parse.y"
#line 139
7
"parse.y"
{
yyval
.
ttype
=
finish_call_expr
(
yyvsp
[
-
1
].
ttype
,
NULL_TREE
,
0
);
;
{
yyval
.
ttype
=
finish_call_expr
(
yyvsp
[
-
1
].
ttype
,
NULL_TREE
,
0
);
;
break
;}
break
;}
case
314
:
case
314
:
#line 139
7
"parse.y"
#line 139
9
"parse.y"
{
yyval
.
ttype
=
grok_array_decl
(
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
grok_array_decl
(
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
315
:
case
315
:
#line 1
399
"parse.y"
#line 1
401
"parse.y"
{
yyval
.
ttype
=
finish_increment_expr
(
yyvsp
[
-
1
].
ttype
,
POSTINCREMENT_EXPR
);
;
{
yyval
.
ttype
=
finish_increment_expr
(
yyvsp
[
-
1
].
ttype
,
POSTINCREMENT_EXPR
);
;
break
;}
break
;}
case
316
:
case
316
:
#line 140
1
"parse.y"
#line 140
3
"parse.y"
{
yyval
.
ttype
=
finish_increment_expr
(
yyvsp
[
-
1
].
ttype
,
POSTDECREMENT_EXPR
);
;
{
yyval
.
ttype
=
finish_increment_expr
(
yyvsp
[
-
1
].
ttype
,
POSTDECREMENT_EXPR
);
;
break
;}
break
;}
case
317
:
case
317
:
#line 140
4
"parse.y"
#line 140
6
"parse.y"
{
yyval
.
ttype
=
finish_this_expr
();
;
{
yyval
.
ttype
=
finish_this_expr
();
;
break
;}
break
;}
case
318
:
case
318
:
#line 140
6
"parse.y"
#line 140
8
"parse.y"
{
{
tree
type
=
NULL_TREE
;
tree
type
=
NULL_TREE
;
tree
id
=
yyval
.
ttype
;
tree
id
=
yyval
.
ttype
;
...
@@ -5343,49 +5345,49 @@ case 318:
...
@@ -5343,49 +5345,49 @@ case 318:
;
;
break
;}
break
;}
case
320
:
case
320
:
#line 145
1
"parse.y"
#line 145
3
"parse.y"
{
tree
type
=
groktypename
(
yyvsp
[
-
4
].
ftype
.
t
);
{
tree
type
=
groktypename
(
yyvsp
[
-
4
].
ftype
.
t
);
check_for_new_type
(
"dynamic_cast"
,
yyvsp
[
-
4
].
ftype
);
check_for_new_type
(
"dynamic_cast"
,
yyvsp
[
-
4
].
ftype
);
yyval
.
ttype
=
build_dynamic_cast
(
type
,
yyvsp
[
-
1
].
ttype
);
;
yyval
.
ttype
=
build_dynamic_cast
(
type
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
321
:
case
321
:
#line 145
5
"parse.y"
#line 145
7
"parse.y"
{
tree
type
=
groktypename
(
yyvsp
[
-
4
].
ftype
.
t
);
{
tree
type
=
groktypename
(
yyvsp
[
-
4
].
ftype
.
t
);
check_for_new_type
(
"static_cast"
,
yyvsp
[
-
4
].
ftype
);
check_for_new_type
(
"static_cast"
,
yyvsp
[
-
4
].
ftype
);
yyval
.
ttype
=
build_static_cast
(
type
,
yyvsp
[
-
1
].
ttype
);
;
yyval
.
ttype
=
build_static_cast
(
type
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
322
:
case
322
:
#line 14
59
"parse.y"
#line 14
61
"parse.y"
{
tree
type
=
groktypename
(
yyvsp
[
-
4
].
ftype
.
t
);
{
tree
type
=
groktypename
(
yyvsp
[
-
4
].
ftype
.
t
);
check_for_new_type
(
"reinterpret_cast"
,
yyvsp
[
-
4
].
ftype
);
check_for_new_type
(
"reinterpret_cast"
,
yyvsp
[
-
4
].
ftype
);
yyval
.
ttype
=
build_reinterpret_cast
(
type
,
yyvsp
[
-
1
].
ttype
);
;
yyval
.
ttype
=
build_reinterpret_cast
(
type
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
323
:
case
323
:
#line 146
3
"parse.y"
#line 146
5
"parse.y"
{
tree
type
=
groktypename
(
yyvsp
[
-
4
].
ftype
.
t
);
{
tree
type
=
groktypename
(
yyvsp
[
-
4
].
ftype
.
t
);
check_for_new_type
(
"const_cast"
,
yyvsp
[
-
4
].
ftype
);
check_for_new_type
(
"const_cast"
,
yyvsp
[
-
4
].
ftype
);
yyval
.
ttype
=
build_const_cast
(
type
,
yyvsp
[
-
1
].
ttype
);
;
yyval
.
ttype
=
build_const_cast
(
type
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
324
:
case
324
:
#line 146
7
"parse.y"
#line 146
9
"parse.y"
{
yyval
.
ttype
=
build_x_typeid
(
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
build_x_typeid
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
325
:
case
325
:
#line 14
69
"parse.y"
#line 14
71
"parse.y"
{
tree
type
=
groktypename
(
yyvsp
[
-
1
].
ftype
.
t
);
{
tree
type
=
groktypename
(
yyvsp
[
-
1
].
ftype
.
t
);
check_for_new_type
(
"typeid"
,
yyvsp
[
-
1
].
ftype
);
check_for_new_type
(
"typeid"
,
yyvsp
[
-
1
].
ftype
);
yyval
.
ttype
=
get_typeid
(
TYPE_MAIN_VARIANT
(
type
));
;
yyval
.
ttype
=
get_typeid
(
TYPE_MAIN_VARIANT
(
type
));
;
break
;}
break
;}
case
326
:
case
326
:
#line 147
3
"parse.y"
#line 147
5
"parse.y"
{
yyval
.
ttype
=
do_scoped_id
(
yyvsp
[
0
].
ttype
,
1
);
;
{
yyval
.
ttype
=
do_scoped_id
(
yyvsp
[
0
].
ttype
,
1
);
;
break
;}
break
;}
case
327
:
case
327
:
#line 147
5
"parse.y"
#line 147
7
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
break
;}
case
328
:
case
328
:
#line 147
7
"parse.y"
#line 147
9
"parse.y"
{
{
got_scope
=
NULL_TREE
;
got_scope
=
NULL_TREE
;
if
(
TREE_CODE
(
yyvsp
[
0
].
ttype
)
==
IDENTIFIER_NODE
)
if
(
TREE_CODE
(
yyvsp
[
0
].
ttype
)
==
IDENTIFIER_NODE
)
...
@@ -5395,102 +5397,102 @@ case 328:
...
@@ -5395,102 +5397,102 @@ case 328:
;
;
break
;}
break
;}
case
329
:
case
329
:
#line 148
5
"parse.y"
#line 148
7
"parse.y"
{
yyval
.
ttype
=
build_offset_ref
(
OP0
(
yyval
.
ttype
),
OP1
(
yyval
.
ttype
));
;
{
yyval
.
ttype
=
build_offset_ref
(
OP0
(
yyval
.
ttype
),
OP1
(
yyval
.
ttype
));
;
break
;}
break
;}
case
330
:
case
330
:
#line 148
7
"parse.y"
#line 148
9
"parse.y"
{
yyval
.
ttype
=
finish_globally_qualified_member_call_expr
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
finish_globally_qualified_member_call_expr
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
331
:
case
331
:
#line 14
89
"parse.y"
#line 14
91
"parse.y"
{
yyval
.
ttype
=
finish_globally_qualified_member_call_expr
(
yyvsp
[
-
1
].
ttype
,
NULL_TREE
);
;
{
yyval
.
ttype
=
finish_globally_qualified_member_call_expr
(
yyvsp
[
-
1
].
ttype
,
NULL_TREE
);
;
break
;}
break
;}
case
332
:
case
332
:
#line 149
1
"parse.y"
#line 149
3
"parse.y"
{
{
yyval
.
ttype
=
build_x_component_ref
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
NULL_TREE
,
1
);
yyval
.
ttype
=
build_x_component_ref
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
NULL_TREE
,
1
);
;
;
break
;}
break
;}
case
333
:
case
333
:
#line 149
5
"parse.y"
#line 149
7
"parse.y"
{
yyval
.
ttype
=
finish_object_call_expr
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
finish_object_call_expr
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
334
:
case
334
:
#line 149
7
"parse.y"
#line 149
9
"parse.y"
{
yyval
.
ttype
=
finish_object_call_expr
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
);
;
{
yyval
.
ttype
=
finish_object_call_expr
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
);
;
break
;}
break
;}
case
335
:
case
335
:
#line 1
499
"parse.y"
#line 1
501
"parse.y"
{
yyval
.
ttype
=
build_x_component_ref
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
NULL_TREE
,
1
);
;
{
yyval
.
ttype
=
build_x_component_ref
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
NULL_TREE
,
1
);
;
break
;}
break
;}
case
336
:
case
336
:
#line 150
1
"parse.y"
#line 150
3
"parse.y"
{
if
(
processing_template_decl
)
{
if
(
processing_template_decl
)
yyval
.
ttype
=
build_min_nt
(
COMPONENT_REF
,
yyvsp
[
-
1
].
ttype
,
copy_to_permanent
(
yyvsp
[
0
].
ttype
));
yyval
.
ttype
=
build_min_nt
(
COMPONENT_REF
,
yyvsp
[
-
1
].
ttype
,
copy_to_permanent
(
yyvsp
[
0
].
ttype
));
else
else
yyval
.
ttype
=
build_object_ref
(
yyval
.
ttype
,
OP0
(
yyvsp
[
0
].
ttype
),
OP1
(
yyvsp
[
0
].
ttype
));
;
yyval
.
ttype
=
build_object_ref
(
yyval
.
ttype
,
OP0
(
yyvsp
[
0
].
ttype
),
OP1
(
yyvsp
[
0
].
ttype
));
;
break
;}
break
;}
case
337
:
case
337
:
#line 150
6
"parse.y"
#line 150
8
"parse.y"
{
yyval
.
ttype
=
finish_object_call_expr
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
finish_object_call_expr
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
338
:
case
338
:
#line 15
08
"parse.y"
#line 15
10
"parse.y"
{
yyval
.
ttype
=
finish_object_call_expr
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
);
;
{
yyval
.
ttype
=
finish_object_call_expr
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
);
;
break
;}
break
;}
case
339
:
case
339
:
#line 151
0
"parse.y"
#line 151
2
"parse.y"
{
yyval
.
ttype
=
finish_qualified_object_call_expr
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
finish_qualified_object_call_expr
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
340
:
case
340
:
#line 151
2
"parse.y"
#line 151
4
"parse.y"
{
yyval
.
ttype
=
finish_qualified_object_call_expr
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
);
;
{
yyval
.
ttype
=
finish_qualified_object_call_expr
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
);
;
break
;}
break
;}
case
341
:
case
341
:
#line 151
5
"parse.y"
#line 151
7
"parse.y"
{
yyval
.
ttype
=
finish_pseudo_destructor_call_expr
(
yyvsp
[
-
3
].
ttype
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
finish_pseudo_destructor_call_expr
(
yyvsp
[
-
3
].
ttype
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
342
:
case
342
:
#line 151
7
"parse.y"
#line 151
9
"parse.y"
{
yyval
.
ttype
=
finish_pseudo_destructor_call_expr
(
yyvsp
[
-
5
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
finish_pseudo_destructor_call_expr
(
yyvsp
[
-
5
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
343
:
case
343
:
#line 15
19
"parse.y"
#line 15
21
"parse.y"
{
{
yyval
.
ttype
=
error_mark_node
;
yyval
.
ttype
=
error_mark_node
;
;
;
break
;}
break
;}
case
344
:
case
344
:
#line 156
4
"parse.y"
#line 156
6
"parse.y"
{
yyval
.
itype
=
0
;
;
{
yyval
.
itype
=
0
;
;
break
;}
break
;}
case
345
:
case
345
:
#line 156
6
"parse.y"
#line 156
8
"parse.y"
{
got_scope
=
NULL_TREE
;
yyval
.
itype
=
1
;
;
{
got_scope
=
NULL_TREE
;
yyval
.
itype
=
1
;
;
break
;}
break
;}
case
346
:
case
346
:
#line 157
1
"parse.y"
#line 157
3
"parse.y"
{
yyval
.
itype
=
0
;
;
{
yyval
.
itype
=
0
;
;
break
;}
break
;}
case
347
:
case
347
:
#line 157
3
"parse.y"
#line 157
5
"parse.y"
{
got_scope
=
NULL_TREE
;
yyval
.
itype
=
1
;
;
{
got_scope
=
NULL_TREE
;
yyval
.
itype
=
1
;
;
break
;}
break
;}
case
348
:
case
348
:
#line 15
78
"parse.y"
#line 15
80
"parse.y"
{
yyval
.
ttype
=
boolean_true_node
;
;
{
yyval
.
ttype
=
boolean_true_node
;
;
break
;}
break
;}
case
349
:
case
349
:
#line 158
0
"parse.y"
#line 158
2
"parse.y"
{
yyval
.
ttype
=
boolean_false_node
;
;
{
yyval
.
ttype
=
boolean_false_node
;
;
break
;}
break
;}
case
351
:
case
351
:
#line 158
7
"parse.y"
#line 158
9
"parse.y"
{
yyval
.
ttype
=
chainon
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
chainon
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
352
:
case
352
:
#line 159
2
"parse.y"
#line 159
4
"parse.y"
{
{
if
(
!
current_function_parms_stored
)
if
(
!
current_function_parms_stored
)
store_parm_decls
();
store_parm_decls
();
...
@@ -5502,18 +5504,18 @@ case 352:
...
@@ -5502,18 +5504,18 @@ case 352:
;
;
break
;}
break
;}
case
353
:
case
353
:
#line 160
5
"parse.y"
#line 160
7
"parse.y"
{
got_object
=
TREE_TYPE
(
yyval
.
ttype
);
;
{
got_object
=
TREE_TYPE
(
yyval
.
ttype
);
;
break
;}
break
;}
case
354
:
case
354
:
#line 160
7
"parse.y"
#line 160
9
"parse.y"
{
{
yyval
.
ttype
=
build_x_arrow
(
yyval
.
ttype
);
yyval
.
ttype
=
build_x_arrow
(
yyval
.
ttype
);
got_object
=
TREE_TYPE
(
yyval
.
ttype
);
got_object
=
TREE_TYPE
(
yyval
.
ttype
);
;
;
break
;}
break
;}
case
355
:
case
355
:
#line 161
5
"parse.y"
#line 161
7
"parse.y"
{
{
resume_momentary
(
yyvsp
[
-
1
].
itype
);
resume_momentary
(
yyvsp
[
-
1
].
itype
);
if
(
yyvsp
[
-
2
].
ftype
.
t
&&
IS_AGGR_TYPE_CODE
(
TREE_CODE
(
yyvsp
[
-
2
].
ftype
.
t
)))
if
(
yyvsp
[
-
2
].
ftype
.
t
&&
IS_AGGR_TYPE_CODE
(
TREE_CODE
(
yyvsp
[
-
2
].
ftype
.
t
)))
...
@@ -5521,138 +5523,138 @@ case 355:
...
@@ -5521,138 +5523,138 @@ case 355:
;
;
break
;}
break
;}
case
356
:
case
356
:
#line 162
1
"parse.y"
#line 162
3
"parse.y"
{
{
resume_momentary
(
yyvsp
[
-
1
].
itype
);
resume_momentary
(
yyvsp
[
-
1
].
itype
);
note_list_got_semicolon
(
yyvsp
[
-
2
].
ftype
.
t
);
note_list_got_semicolon
(
yyvsp
[
-
2
].
ftype
.
t
);
;
;
break
;}
break
;}
case
357
:
case
357
:
#line 162
6
"parse.y"
#line 162
8
"parse.y"
{
resume_momentary
(
yyvsp
[
-
1
].
itype
);
;
{
resume_momentary
(
yyvsp
[
-
1
].
itype
);
;
break
;}
break
;}
case
358
:
case
358
:
#line 16
28
"parse.y"
#line 16
30
"parse.y"
{
{
shadow_tag
(
yyvsp
[
-
1
].
ftype
.
t
);
shadow_tag
(
yyvsp
[
-
1
].
ftype
.
t
);
note_list_got_semicolon
(
yyvsp
[
-
1
].
ftype
.
t
);
note_list_got_semicolon
(
yyvsp
[
-
1
].
ftype
.
t
);
;
;
break
;}
break
;}
case
359
:
case
359
:
#line 163
3
"parse.y"
#line 163
5
"parse.y"
{
warning
(
"empty declaration"
);
;
{
warning
(
"empty declaration"
);
;
break
;}
break
;}
case
360
:
case
360
:
#line 163
5
"parse.y"
#line 163
7
"parse.y"
{
pedantic
=
yyvsp
[
-
1
].
itype
;
;
{
pedantic
=
yyvsp
[
-
1
].
itype
;
;
break
;}
break
;}
case
363
:
case
363
:
#line 16
49
"parse.y"
#line 16
51
"parse.y"
{
yyval
.
ttype
=
make_call_declarator
(
NULL_TREE
,
empty_parms
(),
{
yyval
.
ttype
=
make_call_declarator
(
NULL_TREE
,
empty_parms
(),
NULL_TREE
,
NULL_TREE
);
;
NULL_TREE
,
NULL_TREE
);
;
break
;}
break
;}
case
364
:
case
364
:
#line 165
2
"parse.y"
#line 165
4
"parse.y"
{
yyval
.
ttype
=
make_call_declarator
(
yyval
.
ttype
,
empty_parms
(),
NULL_TREE
,
{
yyval
.
ttype
=
make_call_declarator
(
yyval
.
ttype
,
empty_parms
(),
NULL_TREE
,
NULL_TREE
);
;
NULL_TREE
);
;
break
;}
break
;}
case
365
:
case
365
:
#line 16
59
"parse.y"
#line 16
61
"parse.y"
{
yyval
.
ftype
.
t
=
build_decl_list
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
{
yyval
.
ftype
.
t
=
build_decl_list
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
;
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
;
break
;}
break
;}
case
366
:
case
366
:
#line 166
2
"parse.y"
#line 166
4
"parse.y"
{
yyval
.
ftype
.
t
=
build_decl_list
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
{
yyval
.
ftype
.
t
=
build_decl_list
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
;
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
;
break
;}
break
;}
case
367
:
case
367
:
#line 166
5
"parse.y"
#line 166
7
"parse.y"
{
yyval
.
ftype
.
t
=
build_decl_list
(
get_decl_list
(
yyvsp
[
-
1
].
ftype
.
t
),
yyvsp
[
0
].
ttype
);
{
yyval
.
ftype
.
t
=
build_decl_list
(
get_decl_list
(
yyvsp
[
-
1
].
ftype
.
t
),
yyvsp
[
0
].
ttype
);
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
;
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
;
break
;}
break
;}
case
368
:
case
368
:
#line 16
68
"parse.y"
#line 16
70
"parse.y"
{
yyval
.
ftype
.
t
=
build_decl_list
(
yyvsp
[
0
].
ftype
.
t
,
NULL_TREE
);
{
yyval
.
ftype
.
t
=
build_decl_list
(
yyvsp
[
0
].
ftype
.
t
,
NULL_TREE
);
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
0
].
ftype
.
new_type_flag
;
;
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
0
].
ftype
.
new_type_flag
;
;
break
;}
break
;}
case
369
:
case
369
:
#line 167
1
"parse.y"
#line 167
3
"parse.y"
{
yyval
.
ftype
.
t
=
build_decl_list
(
yyvsp
[
0
].
ftype
.
t
,
NULL_TREE
);
{
yyval
.
ftype
.
t
=
build_decl_list
(
yyvsp
[
0
].
ftype
.
t
,
NULL_TREE
);
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
0
].
ftype
.
new_type_flag
;
;
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
0
].
ftype
.
new_type_flag
;
;
break
;}
break
;}
case
372
:
case
372
:
#line 168
7
"parse.y"
#line 168
9
"parse.y"
{
yyval
.
ftype
.
t
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ftype
.
t
,
yyvsp
[
-
1
].
ttype
);
{
yyval
.
ftype
.
t
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ftype
.
t
,
yyvsp
[
-
1
].
ttype
);
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
0
].
ftype
.
new_type_flag
;
;
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
0
].
ftype
.
new_type_flag
;
;
break
;}
break
;}
case
373
:
case
373
:
#line 169
0
"parse.y"
#line 169
2
"parse.y"
{
yyval
.
ftype
.
t
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
{
yyval
.
ftype
.
t
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
;
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
;
break
;}
break
;}
case
374
:
case
374
:
#line 169
3
"parse.y"
#line 169
5
"parse.y"
{
yyval
.
ftype
.
t
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
-
2
].
ftype
.
t
,
chainon
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
));
{
yyval
.
ftype
.
t
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
-
2
].
ftype
.
t
,
chainon
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
));
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
2
].
ftype
.
new_type_flag
;
;
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
2
].
ftype
.
new_type_flag
;
;
break
;}
break
;}
case
375
:
case
375
:
#line 169
6
"parse.y"
#line 169
8
"parse.y"
{
yyval
.
ftype
.
t
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
-
1
].
ftype
.
t
,
chainon
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
2
].
ttype
));
{
yyval
.
ftype
.
t
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
-
1
].
ftype
.
t
,
chainon
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
2
].
ttype
));
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
;
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
;
break
;}
break
;}
case
376
:
case
376
:
#line 1
699
"parse.y"
#line 1
701
"parse.y"
{
yyval
.
ftype
.
t
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
-
1
].
ftype
.
t
,
chainon
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
2
].
ttype
));
{
yyval
.
ftype
.
t
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
-
1
].
ftype
.
t
,
chainon
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
2
].
ttype
));
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
;
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
;
break
;}
break
;}
case
377
:
case
377
:
#line 170
2
"parse.y"
#line 170
4
"parse.y"
{
yyval
.
ftype
.
t
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
-
2
].
ftype
.
t
,
{
yyval
.
ftype
.
t
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
-
2
].
ftype
.
t
,
chainon
(
yyvsp
[
-
1
].
ttype
,
chainon
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
3
].
ttype
)));
chainon
(
yyvsp
[
-
1
].
ttype
,
chainon
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
3
].
ttype
)));
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
2
].
ftype
.
new_type_flag
;
;
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
2
].
ftype
.
new_type_flag
;
;
break
;}
break
;}
case
378
:
case
378
:
#line 17
09
"parse.y"
#line 17
11
"parse.y"
{
if
(
extra_warnings
)
{
if
(
extra_warnings
)
warning
(
"`%s' is not at beginning of declaration"
,
warning
(
"`%s' is not at beginning of declaration"
,
IDENTIFIER_POINTER
(
yyval
.
ttype
));
IDENTIFIER_POINTER
(
yyval
.
ttype
));
yyval
.
ttype
=
build_decl_list
(
NULL_TREE
,
yyval
.
ttype
);
;
yyval
.
ttype
=
build_decl_list
(
NULL_TREE
,
yyval
.
ttype
);
;
break
;}
break
;}
case
379
:
case
379
:
#line 171
4
"parse.y"
#line 171
6
"parse.y"
{
yyval
.
ttype
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ftype
.
t
,
yyval
.
ttype
);
;
{
yyval
.
ttype
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ftype
.
t
,
yyval
.
ttype
);
;
break
;}
break
;}
case
380
:
case
380
:
#line 171
6
"parse.y"
#line 171
8
"parse.y"
{
if
(
extra_warnings
)
{
if
(
extra_warnings
)
warning
(
"`%s' is not at beginning of declaration"
,
warning
(
"`%s' is not at beginning of declaration"
,
IDENTIFIER_POINTER
(
yyvsp
[
0
].
ttype
));
IDENTIFIER_POINTER
(
yyvsp
[
0
].
ttype
));
yyval
.
ttype
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyval
.
ttype
);
;
yyval
.
ttype
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyval
.
ttype
);
;
break
;}
break
;}
case
381
:
case
381
:
#line 172
1
"parse.y"
#line 172
3
"parse.y"
{
yyval
.
ttype
=
decl_tree_cons
(
yyvsp
[
0
].
ttype
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
decl_tree_cons
(
yyvsp
[
0
].
ttype
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
382
:
case
382
:
#line 172
3
"parse.y"
#line 172
5
"parse.y"
{
yyval
.
ttype
=
decl_tree_cons
(
yyvsp
[
0
].
ttype
,
NULL_TREE
,
NULL_TREE
);
;
{
yyval
.
ttype
=
decl_tree_cons
(
yyvsp
[
0
].
ttype
,
NULL_TREE
,
NULL_TREE
);
;
break
;}
break
;}
case
383
:
case
383
:
#line 173
3
"parse.y"
#line 173
5
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ftype
.
t
;
TREE_STATIC
(
yyval
.
ttype
)
=
1
;
;
{
yyval
.
ttype
=
yyvsp
[
0
].
ftype
.
t
;
TREE_STATIC
(
yyval
.
ttype
)
=
1
;
;
break
;}
break
;}
case
384
:
case
384
:
#line 173
5
"parse.y"
#line 173
7
"parse.y"
{
yyval
.
ttype
=
IDENTIFIER_AS_LIST
(
yyval
.
ttype
);
;
{
yyval
.
ttype
=
IDENTIFIER_AS_LIST
(
yyval
.
ttype
);
;
break
;}
break
;}
case
385
:
case
385
:
#line 173
7
"parse.y"
#line 173
9
"parse.y"
{
yyval
.
ttype
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyval
.
ttype
);
{
yyval
.
ttype
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyval
.
ttype
);
TREE_STATIC
(
yyval
.
ttype
)
=
1
;
;
TREE_STATIC
(
yyval
.
ttype
)
=
1
;
;
break
;}
break
;}
case
386
:
case
386
:
#line 174
0
"parse.y"
#line 174
2
"parse.y"
{
if
(
extra_warnings
&&
TREE_STATIC
(
yyval
.
ttype
))
{
if
(
extra_warnings
&&
TREE_STATIC
(
yyval
.
ttype
))
warning
(
"`%s' is not at beginning of declaration"
,
warning
(
"`%s' is not at beginning of declaration"
,
IDENTIFIER_POINTER
(
yyvsp
[
0
].
ttype
));
IDENTIFIER_POINTER
(
yyvsp
[
0
].
ttype
));
...
@@ -5660,61 +5662,61 @@ case 386:
...
@@ -5660,61 +5662,61 @@ case 386:
TREE_STATIC
(
yyval
.
ttype
)
=
TREE_STATIC
(
yyvsp
[
-
1
].
ttype
);
;
TREE_STATIC
(
yyval
.
ttype
)
=
TREE_STATIC
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
387
:
case
387
:
#line 174
6
"parse.y"
#line 174
8
"parse.y"
{
yyval
.
ttype
=
decl_tree_cons
(
yyvsp
[
0
].
ttype
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
decl_tree_cons
(
yyvsp
[
0
].
ttype
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
388
:
case
388
:
#line 17
48
"parse.y"
#line 17
50
"parse.y"
{
yyval
.
ttype
=
decl_tree_cons
(
yyvsp
[
0
].
ttype
,
NULL_TREE
,
NULL_TREE
);
;
{
yyval
.
ttype
=
decl_tree_cons
(
yyvsp
[
0
].
ttype
,
NULL_TREE
,
NULL_TREE
);
;
break
;}
break
;}
case
389
:
case
389
:
#line 17
59
"parse.y"
#line 17
61
"parse.y"
{
yyval
.
ftype
.
t
=
get_decl_list
(
yyvsp
[
0
].
ftype
.
t
);
{
yyval
.
ftype
.
t
=
get_decl_list
(
yyvsp
[
0
].
ftype
.
t
);
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
0
].
ftype
.
new_type_flag
;
;
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
0
].
ftype
.
new_type_flag
;
;
break
;}
break
;}
case
390
:
case
390
:
#line 176
2
"parse.y"
#line 176
4
"parse.y"
{
yyval
.
ftype
.
t
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ftype
.
t
,
yyvsp
[
-
1
].
ftype
.
t
);
{
yyval
.
ftype
.
t
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ftype
.
t
,
yyvsp
[
-
1
].
ftype
.
t
);
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
0
].
ftype
.
new_type_flag
;
;
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
0
].
ftype
.
new_type_flag
;
;
break
;}
break
;}
case
391
:
case
391
:
#line 176
5
"parse.y"
#line 176
7
"parse.y"
{
yyval
.
ftype
.
t
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
{
yyval
.
ftype
.
t
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
;
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
;
break
;}
break
;}
case
392
:
case
392
:
#line 17
68
"parse.y"
#line 17
70
"parse.y"
{
yyval
.
ftype
.
t
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
-
1
].
ftype
.
t
,
chainon
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
2
].
ftype
.
t
));
{
yyval
.
ftype
.
t
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
-
1
].
ftype
.
t
,
chainon
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
2
].
ftype
.
t
));
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
2
].
ftype
.
new_type_flag
;
;
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
2
].
ftype
.
new_type_flag
;
;
break
;}
break
;}
case
393
:
case
393
:
#line 177
4
"parse.y"
#line 177
6
"parse.y"
{
yyval
.
ttype
=
build_decl_list
(
NULL_TREE
,
yyvsp
[
0
].
ftype
.
t
);
;
{
yyval
.
ttype
=
build_decl_list
(
NULL_TREE
,
yyvsp
[
0
].
ftype
.
t
);
;
break
;}
break
;}
case
394
:
case
394
:
#line 177
6
"parse.y"
#line 177
8
"parse.y"
{
yyval
.
ttype
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ftype
.
t
,
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ftype
.
t
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
396
:
case
396
:
#line 178
6
"parse.y"
#line 178
8
"parse.y"
{
yyval
.
ftype
.
t
=
yyvsp
[
0
].
ttype
;
yyval
.
ftype
.
new_type_flag
=
0
;
;
{
yyval
.
ftype
.
t
=
yyvsp
[
0
].
ttype
;
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
break
;}
case
397
:
case
397
:
#line 17
88
"parse.y"
#line 17
90
"parse.y"
{
yyval
.
ftype
.
t
=
yyvsp
[
0
].
ttype
;
yyval
.
ftype
.
new_type_flag
=
0
;
;
{
yyval
.
ftype
.
t
=
yyvsp
[
0
].
ttype
;
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
break
;}
case
398
:
case
398
:
#line 179
0
"parse.y"
#line 179
2
"parse.y"
{
yyval
.
ftype
.
t
=
TREE_TYPE
(
yyvsp
[
-
1
].
ttype
);
{
yyval
.
ftype
.
t
=
TREE_TYPE
(
yyvsp
[
-
1
].
ttype
);
yyval
.
ftype
.
new_type_flag
=
0
;
;
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
break
;}
case
399
:
case
399
:
#line 179
3
"parse.y"
#line 179
5
"parse.y"
{
yyval
.
ftype
.
t
=
groktypename
(
yyvsp
[
-
1
].
ftype
.
t
);
{
yyval
.
ftype
.
t
=
groktypename
(
yyvsp
[
-
1
].
ftype
.
t
);
yyval
.
ftype
.
new_type_flag
=
0
;
;
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
break
;}
case
400
:
case
400
:
#line 179
6
"parse.y"
#line 179
8
"parse.y"
{
tree
type
=
TREE_TYPE
(
yyvsp
[
-
1
].
ttype
);
{
tree
type
=
TREE_TYPE
(
yyvsp
[
-
1
].
ttype
);
yyval
.
ftype
.
new_type_flag
=
0
;
yyval
.
ftype
.
new_type_flag
=
0
;
...
@@ -5731,7 +5733,7 @@ case 400:
...
@@ -5731,7 +5733,7 @@ case 400:
;
;
break
;}
break
;}
case
401
:
case
401
:
#line 181
1
"parse.y"
#line 181
3
"parse.y"
{
tree
type
=
groktypename
(
yyvsp
[
-
1
].
ftype
.
t
);
{
tree
type
=
groktypename
(
yyvsp
[
-
1
].
ftype
.
t
);
yyval
.
ftype
.
new_type_flag
=
0
;
yyval
.
ftype
.
new_type_flag
=
0
;
...
@@ -5748,188 +5750,188 @@ case 401:
...
@@ -5748,188 +5750,188 @@ case 401:
;
;
break
;}
break
;}
case
402
:
case
402
:
#line 183
1
"parse.y"
#line 183
3
"parse.y"
{
yyval
.
ftype
.
t
=
yyvsp
[
0
].
ttype
;
yyval
.
ftype
.
new_type_flag
=
0
;
;
{
yyval
.
ftype
.
t
=
yyvsp
[
0
].
ttype
;
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
break
;}
case
403
:
case
403
:
#line 183
3
"parse.y"
#line 183
5
"parse.y"
{
yyval
.
ftype
.
t
=
yyvsp
[
0
].
ttype
;
yyval
.
ftype
.
new_type_flag
=
0
;
;
{
yyval
.
ftype
.
t
=
yyvsp
[
0
].
ttype
;
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
break
;}
case
411
:
case
411
:
#line 185
4
"parse.y"
#line 185
6
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
break
;}
case
412
:
case
412
:
#line 185
6
"parse.y"
#line 185
8
"parse.y"
{
if
(
TREE_CHAIN
(
yyvsp
[
-
1
].
ttype
))
yyvsp
[
-
1
].
ttype
=
combine_strings
(
yyvsp
[
-
1
].
ttype
);
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
{
if
(
TREE_CHAIN
(
yyvsp
[
-
1
].
ttype
))
yyvsp
[
-
1
].
ttype
=
combine_strings
(
yyvsp
[
-
1
].
ttype
);
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
break
;}
case
413
:
case
413
:
#line 186
1
"parse.y"
#line 186
3
"parse.y"
{
yyval
.
ttype
=
start_decl
(
yyvsp
[
-
3
].
ttype
,
current_declspecs
,
1
,
{
yyval
.
ttype
=
start_decl
(
yyvsp
[
-
3
].
ttype
,
current_declspecs
,
1
,
yyvsp
[
-
1
].
ttype
,
prefix_attributes
);
;
yyvsp
[
-
1
].
ttype
,
prefix_attributes
);
;
break
;}
break
;}
case
414
:
case
414
:
#line 186
5
"parse.y"
#line 186
7
"parse.y"
{
cp_finish_decl
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
4
].
ttype
,
1
,
LOOKUP_ONLYCONVERTING
);
;
{
cp_finish_decl
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
4
].
ttype
,
1
,
LOOKUP_ONLYCONVERTING
);
;
break
;}
break
;}
case
415
:
case
415
:
#line 186
7
"parse.y"
#line 186
9
"parse.y"
{
yyval
.
ttype
=
start_decl
(
yyvsp
[
-
2
].
ttype
,
current_declspecs
,
0
,
{
yyval
.
ttype
=
start_decl
(
yyvsp
[
-
2
].
ttype
,
current_declspecs
,
0
,
yyvsp
[
0
].
ttype
,
prefix_attributes
);
yyvsp
[
0
].
ttype
,
prefix_attributes
);
cp_finish_decl
(
yyval
.
ttype
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
,
1
,
0
);
;
cp_finish_decl
(
yyval
.
ttype
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
,
1
,
0
);
;
break
;}
break
;}
case
416
:
case
416
:
#line 188
0
"parse.y"
#line 188
2
"parse.y"
{
yyvsp
[
0
].
itype
=
parse_decl
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
4
].
ttype
,
{
yyvsp
[
0
].
itype
=
parse_decl
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
1
].
ttype
,
1
,
&
yyval
.
ttype
);
;
yyvsp
[
-
1
].
ttype
,
1
,
&
yyval
.
ttype
);
;
break
;}
break
;}
case
417
:
case
417
:
#line 188
5
"parse.y"
#line 188
7
"parse.y"
{
cp_finish_decl
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
4
].
ttype
,
1
,
{
cp_finish_decl
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
4
].
ttype
,
1
,
LOOKUP_ONLYCONVERTING
);
LOOKUP_ONLYCONVERTING
);
yyval
.
itype
=
yyvsp
[
-
2
].
itype
;
;
yyval
.
itype
=
yyvsp
[
-
2
].
itype
;
;
break
;}
break
;}
case
418
:
case
418
:
#line 18
89
"parse.y"
#line 18
91
"parse.y"
{
tree
d
;
{
tree
d
;
yyval
.
itype
=
parse_decl
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
0
].
ttype
,
0
,
&
d
);
yyval
.
itype
=
parse_decl
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
0
].
ttype
,
0
,
&
d
);
cp_finish_decl
(
d
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
,
1
,
0
);
;
cp_finish_decl
(
d
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
,
1
,
0
);
;
break
;}
break
;}
case
419
:
case
419
:
#line 189
6
"parse.y"
#line 189
8
"parse.y"
{
yyval
.
itype
=
yyvsp
[
0
].
itype
;
;
{
yyval
.
itype
=
yyvsp
[
0
].
itype
;
;
break
;}
break
;}
case
420
:
case
420
:
#line 190
0
"parse.y"
#line 190
2
"parse.y"
{
yyval
.
itype
=
yyvsp
[
0
].
itype
;
;
{
yyval
.
itype
=
yyvsp
[
0
].
itype
;
;
break
;}
break
;}
case
421
:
case
421
:
#line 190
5
"parse.y"
#line 190
7
"parse.y"
{
/* Set things up as initdcl0_innards expects. */
{
/* Set things up as initdcl0_innards expects. */
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
yyvsp
[
-
1
].
ttype
=
NULL_TREE
;
;
yyvsp
[
-
1
].
ttype
=
NULL_TREE
;
;
break
;}
break
;}
case
422
:
case
422
:
#line 19
09
"parse.y"
#line 19
11
"parse.y"
{;
{;
break
;}
break
;}
case
423
:
case
423
:
#line 191
1
"parse.y"
#line 191
3
"parse.y"
{
tree
d
;
{
tree
d
;
parse_decl
(
yyvsp
[
-
2
].
ttype
,
NULL_TREE
,
yyvsp
[
0
].
ttype
,
0
,
&
d
);
parse_decl
(
yyvsp
[
-
2
].
ttype
,
NULL_TREE
,
yyvsp
[
0
].
ttype
,
0
,
&
d
);
cp_finish_decl
(
d
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
,
1
,
0
);
;
cp_finish_decl
(
d
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
,
1
,
0
);
;
break
;}
break
;}
case
424
:
case
424
:
#line 192
0
"parse.y"
#line 192
2
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
break
;}
case
425
:
case
425
:
#line 192
2
"parse.y"
#line 192
4
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
break
;}
case
426
:
case
426
:
#line 192
7
"parse.y"
#line 192
9
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
break
;}
case
427
:
case
427
:
#line 19
29
"parse.y"
#line 19
31
"parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
428
:
case
428
:
#line 193
4
"parse.y"
#line 193
6
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
2
].
ttype
;
;
{
yyval
.
ttype
=
yyvsp
[
-
2
].
ttype
;
;
break
;}
break
;}
case
429
:
case
429
:
#line 19
39
"parse.y"
#line 19
41
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
break
;}
case
430
:
case
430
:
#line 194
1
"parse.y"
#line 194
3
"parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
431
:
case
431
:
#line 194
6
"parse.y"
#line 194
8
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
break
;}
case
432
:
case
432
:
#line 19
48
"parse.y"
#line 19
50
"parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
break
;}
case
433
:
case
433
:
#line 195
0
"parse.y"
#line 195
2
"parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
3
].
ttype
,
build_tree_list
(
NULL_TREE
,
yyvsp
[
-
1
].
ttype
));
;
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
3
].
ttype
,
build_tree_list
(
NULL_TREE
,
yyvsp
[
-
1
].
ttype
));
;
break
;}
break
;}
case
434
:
case
434
:
#line 195
2
"parse.y"
#line 195
4
"parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
5
].
ttype
,
tree_cons
(
NULL_TREE
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
));
;
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
5
].
ttype
,
tree_cons
(
NULL_TREE
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
));
;
break
;}
break
;}
case
435
:
case
435
:
#line 195
4
"parse.y"
#line 195
6
"parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
440
:
case
440
:
#line 197
0
"parse.y"
#line 197
2
"parse.y"
{
yyval
.
ttype
=
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
441
:
case
441
:
#line 197
2
"parse.y"
#line 197
4
"parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
2
].
ttype
,
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
));
;
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
2
].
ttype
,
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
));
;
break
;}
break
;}
case
442
:
case
442
:
#line 197
7
"parse.y"
#line 197
9
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
break
;}
case
443
:
case
443
:
#line 19
79
"parse.y"
#line 19
81
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
break
;}
case
445
:
case
445
:
#line 198
7
"parse.y"
#line 198
9
"parse.y"
{
yyval
.
ttype
=
build_nt
(
CONSTRUCTOR
,
NULL_TREE
,
NULL_TREE
);
{
yyval
.
ttype
=
build_nt
(
CONSTRUCTOR
,
NULL_TREE
,
NULL_TREE
);
TREE_HAS_CONSTRUCTOR
(
yyval
.
ttype
)
=
1
;
;
TREE_HAS_CONSTRUCTOR
(
yyval
.
ttype
)
=
1
;
;
break
;}
break
;}
case
446
:
case
446
:
#line 199
0
"parse.y"
#line 199
2
"parse.y"
{
yyval
.
ttype
=
build_nt
(
CONSTRUCTOR
,
NULL_TREE
,
nreverse
(
yyvsp
[
-
1
].
ttype
));
{
yyval
.
ttype
=
build_nt
(
CONSTRUCTOR
,
NULL_TREE
,
nreverse
(
yyvsp
[
-
1
].
ttype
));
TREE_HAS_CONSTRUCTOR
(
yyval
.
ttype
)
=
1
;
;
TREE_HAS_CONSTRUCTOR
(
yyval
.
ttype
)
=
1
;
;
break
;}
break
;}
case
447
:
case
447
:
#line 199
3
"parse.y"
#line 199
5
"parse.y"
{
yyval
.
ttype
=
build_nt
(
CONSTRUCTOR
,
NULL_TREE
,
nreverse
(
yyvsp
[
-
2
].
ttype
));
{
yyval
.
ttype
=
build_nt
(
CONSTRUCTOR
,
NULL_TREE
,
nreverse
(
yyvsp
[
-
2
].
ttype
));
TREE_HAS_CONSTRUCTOR
(
yyval
.
ttype
)
=
1
;
;
TREE_HAS_CONSTRUCTOR
(
yyval
.
ttype
)
=
1
;
;
break
;}
break
;}
case
448
:
case
448
:
#line 199
6
"parse.y"
#line 199
8
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
break
;}
case
449
:
case
449
:
#line 200
3
"parse.y"
#line 200
5
"parse.y"
{
yyval
.
ttype
=
build_tree_list
(
NULL_TREE
,
yyval
.
ttype
);
;
{
yyval
.
ttype
=
build_tree_list
(
NULL_TREE
,
yyval
.
ttype
);
;
break
;}
break
;}
case
450
:
case
450
:
#line 200
5
"parse.y"
#line 200
7
"parse.y"
{
yyval
.
ttype
=
expr_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyval
.
ttype
);
;
{
yyval
.
ttype
=
expr_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyval
.
ttype
);
;
break
;}
break
;}
case
451
:
case
451
:
#line 20
08
"parse.y"
#line 20
10
"parse.y"
{
yyval
.
ttype
=
build_expr_list
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
build_expr_list
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
452
:
case
452
:
#line 201
0
"parse.y"
#line 201
2
"parse.y"
{
yyval
.
ttype
=
build_expr_list
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
build_expr_list
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
453
:
case
453
:
#line 201
2
"parse.y"
#line 201
4
"parse.y"
{
yyval
.
ttype
=
expr_tree_cons
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
,
yyval
.
ttype
);
;
{
yyval
.
ttype
=
expr_tree_cons
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
,
yyval
.
ttype
);
;
break
;}
break
;}
case
454
:
case
454
:
#line 201
7
"parse.y"
#line 201
9
"parse.y"
{
start_function
(
NULL_TREE
,
TREE_VALUE
(
yyvsp
[
0
].
ttype
),
{
start_function
(
NULL_TREE
,
TREE_VALUE
(
yyvsp
[
0
].
ttype
),
NULL_TREE
,
1
);
NULL_TREE
,
1
);
reinit_parse_for_function
();
;
reinit_parse_for_function
();
;
break
;}
break
;}
case
455
:
case
455
:
#line 202
3
"parse.y"
#line 202
5
"parse.y"
{
{
int
nested
=
(
hack_decl_function_context
int
nested
=
(
hack_decl_function_context
(
current_function_decl
)
!=
NULL_TREE
);
(
current_function_decl
)
!=
NULL_TREE
);
...
@@ -5938,82 +5940,82 @@ case 455:
...
@@ -5938,82 +5940,82 @@ case 455:
;
;
break
;}
break
;}
case
456
:
case
456
:
#line 203
0
"parse.y"
#line 203
2
"parse.y"
{
process_next_inline
(
yyvsp
[
-
2
].
ttype
);
;
{
process_next_inline
(
yyvsp
[
-
2
].
ttype
);
;
break
;}
break
;}
case
457
:
case
457
:
#line 203
2
"parse.y"
#line 203
4
"parse.y"
{
process_next_inline
(
yyvsp
[
-
2
].
ttype
);
;
{
process_next_inline
(
yyvsp
[
-
2
].
ttype
);
;
break
;}
break
;}
case
460
:
case
460
:
#line 204
4
"parse.y"
#line 204
6
"parse.y"
{
replace_defarg
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
{
replace_defarg
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
461
:
case
461
:
#line 204
6
"parse.y"
#line 204
8
"parse.y"
{
replace_defarg
(
yyvsp
[
-
2
].
ttype
,
error_mark_node
);
;
{
replace_defarg
(
yyvsp
[
-
2
].
ttype
,
error_mark_node
);
;
break
;}
break
;}
case
463
:
case
463
:
#line 205
1
"parse.y"
#line 205
3
"parse.y"
{
do_pending_defargs
();
;
{
do_pending_defargs
();
;
break
;}
break
;}
case
464
:
case
464
:
#line 205
3
"parse.y"
#line 205
5
"parse.y"
{
do_pending_defargs
();
;
{
do_pending_defargs
();
;
break
;}
break
;}
case
465
:
case
465
:
#line 20
58
"parse.y"
#line 20
60
"parse.y"
{
yyvsp
[
0
].
itype
=
suspend_momentary
();
{
yyvsp
[
0
].
itype
=
suspend_momentary
();
yyval
.
ttype
=
start_enum
(
yyvsp
[
-
1
].
ttype
);
;
yyval
.
ttype
=
start_enum
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
466
:
case
466
:
#line 206
1
"parse.y"
#line 206
3
"parse.y"
{
yyval
.
ftype
.
t
=
finish_enum
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
2
].
ttype
);
{
yyval
.
ftype
.
t
=
finish_enum
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
2
].
ttype
);
yyval
.
ftype
.
new_type_flag
=
1
;
yyval
.
ftype
.
new_type_flag
=
1
;
resume_momentary
((
int
)
yyvsp
[
-
4
].
itype
);
resume_momentary
((
int
)
yyvsp
[
-
4
].
itype
);
check_for_missing_semicolon
(
yyvsp
[
-
3
].
ttype
);
;
check_for_missing_semicolon
(
yyvsp
[
-
3
].
ttype
);
;
break
;}
break
;}
case
467
:
case
467
:
#line 206
6
"parse.y"
#line 206
8
"parse.y"
{
yyval
.
ftype
.
t
=
finish_enum
(
start_enum
(
yyvsp
[
-
2
].
ttype
),
NULL_TREE
);
{
yyval
.
ftype
.
t
=
finish_enum
(
start_enum
(
yyvsp
[
-
2
].
ttype
),
NULL_TREE
);
yyval
.
ftype
.
new_type_flag
=
1
;
yyval
.
ftype
.
new_type_flag
=
1
;
check_for_missing_semicolon
(
yyval
.
ftype
.
t
);
;
check_for_missing_semicolon
(
yyval
.
ftype
.
t
);
;
break
;}
break
;}
case
468
:
case
468
:
#line 207
0
"parse.y"
#line 207
2
"parse.y"
{
yyvsp
[
0
].
itype
=
suspend_momentary
();
{
yyvsp
[
0
].
itype
=
suspend_momentary
();
yyval
.
ttype
=
start_enum
(
make_anon_name
());
;
yyval
.
ttype
=
start_enum
(
make_anon_name
());
;
break
;}
break
;}
case
469
:
case
469
:
#line 207
3
"parse.y"
#line 207
5
"parse.y"
{
yyval
.
ftype
.
t
=
finish_enum
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
2
].
ttype
);
{
yyval
.
ftype
.
t
=
finish_enum
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
2
].
ttype
);
resume_momentary
((
int
)
yyvsp
[
-
5
].
itype
);
resume_momentary
((
int
)
yyvsp
[
-
5
].
itype
);
check_for_missing_semicolon
(
yyvsp
[
-
3
].
ttype
);
check_for_missing_semicolon
(
yyvsp
[
-
3
].
ttype
);
yyval
.
ftype
.
new_type_flag
=
1
;
;
yyval
.
ftype
.
new_type_flag
=
1
;
;
break
;}
break
;}
case
470
:
case
470
:
#line 20
78
"parse.y"
#line 20
80
"parse.y"
{
yyval
.
ftype
.
t
=
finish_enum
(
start_enum
(
make_anon_name
()),
NULL_TREE
);
{
yyval
.
ftype
.
t
=
finish_enum
(
start_enum
(
make_anon_name
()),
NULL_TREE
);
yyval
.
ftype
.
new_type_flag
=
1
;
yyval
.
ftype
.
new_type_flag
=
1
;
check_for_missing_semicolon
(
yyval
.
ftype
.
t
);
;
check_for_missing_semicolon
(
yyval
.
ftype
.
t
);
;
break
;}
break
;}
case
471
:
case
471
:
#line 208
2
"parse.y"
#line 208
4
"parse.y"
{
yyval
.
ftype
.
t
=
xref_tag
(
enum_type_node
,
yyvsp
[
0
].
ttype
,
NULL_TREE
,
1
);
{
yyval
.
ftype
.
t
=
xref_tag
(
enum_type_node
,
yyvsp
[
0
].
ttype
,
NULL_TREE
,
1
);
yyval
.
ftype
.
new_type_flag
=
0
;
;
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
break
;}
case
472
:
case
472
:
#line 208
5
"parse.y"
#line 208
7
"parse.y"
{
yyval
.
ftype
.
t
=
xref_tag
(
enum_type_node
,
yyvsp
[
0
].
ttype
,
NULL_TREE
,
1
);
{
yyval
.
ftype
.
t
=
xref_tag
(
enum_type_node
,
yyvsp
[
0
].
ttype
,
NULL_TREE
,
1
);
yyval
.
ftype
.
new_type_flag
=
0
;
;
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
break
;}
case
473
:
case
473
:
#line 20
88
"parse.y"
#line 20
90
"parse.y"
{
yyval
.
ftype
.
t
=
yyvsp
[
0
].
ttype
;
{
yyval
.
ftype
.
t
=
yyvsp
[
0
].
ttype
;
yyval
.
ftype
.
new_type_flag
=
0
;
;
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
break
;}
case
474
:
case
474
:
#line 209
3
"parse.y"
#line 209
5
"parse.y"
{
{
int
semi
;
int
semi
;
...
@@ -6025,17 +6027,17 @@ case 474:
...
@@ -6025,17 +6027,17 @@ case 474:
;
;
break
;}
break
;}
case
475
:
case
475
:
#line 210
3
"parse.y"
#line 210
5
"parse.y"
{
finish_default_args
();
;
{
finish_default_args
();
;
break
;}
break
;}
case
476
:
case
476
:
#line 210
5
"parse.y"
#line 210
7
"parse.y"
{
yyval
.
ftype
.
t
=
yyvsp
[
-
3
].
ttype
;
{
yyval
.
ftype
.
t
=
yyvsp
[
-
3
].
ttype
;
yyval
.
ftype
.
new_type_flag
=
1
;
yyval
.
ftype
.
new_type_flag
=
1
;
begin_inline_definitions
();
;
begin_inline_definitions
();
;
break
;}
break
;}
case
477
:
case
477
:
#line 21
09
"parse.y"
#line 21
11
"parse.y"
{
{
yyval
.
ftype
.
new_type_flag
=
0
;
yyval
.
ftype
.
new_type_flag
=
0
;
if
(
TYPE_BINFO
(
yyvsp
[
0
].
ttype
)
==
NULL_TREE
)
if
(
TYPE_BINFO
(
yyvsp
[
0
].
ttype
)
==
NULL_TREE
)
...
@@ -6055,85 +6057,85 @@ case 477:
...
@@ -6055,85 +6057,85 @@ case 477:
;
;
break
;}
break
;}
case
481
:
case
481
:
#line 213
6
"parse.y"
#line 213
8
"parse.y"
{
if
(
pedantic
&&
!
in_system_header
)
{
if
(
pedantic
&&
!
in_system_header
)
pedwarn
(
"comma at end of enumerator list"
);
;
pedwarn
(
"comma at end of enumerator list"
);
;
break
;}
break
;}
case
483
:
case
483
:
#line 214
3
"parse.y"
#line 214
5
"parse.y"
{
error
(
"storage class specifier `%s' not allowed after struct or class"
,
IDENTIFIER_POINTER
(
yyvsp
[
0
].
ttype
));
;
{
error
(
"storage class specifier `%s' not allowed after struct or class"
,
IDENTIFIER_POINTER
(
yyvsp
[
0
].
ttype
));
;
break
;}
break
;}
case
484
:
case
484
:
#line 214
5
"parse.y"
#line 214
7
"parse.y"
{
error
(
"type specifier `%s' not allowed after struct or class"
,
IDENTIFIER_POINTER
(
yyvsp
[
0
].
ttype
));
;
{
error
(
"type specifier `%s' not allowed after struct or class"
,
IDENTIFIER_POINTER
(
yyvsp
[
0
].
ttype
));
;
break
;}
break
;}
case
485
:
case
485
:
#line 214
7
"parse.y"
#line 214
9
"parse.y"
{
error
(
"type qualifier `%s' not allowed after struct or class"
,
IDENTIFIER_POINTER
(
yyvsp
[
0
].
ttype
));
;
{
error
(
"type qualifier `%s' not allowed after struct or class"
,
IDENTIFIER_POINTER
(
yyvsp
[
0
].
ttype
));
;
break
;}
break
;}
case
486
:
case
486
:
#line 21
49
"parse.y"
#line 21
51
"parse.y"
{
error
(
"no body nor ';' separates two class, struct or union declarations"
);
;
{
error
(
"no body nor ';' separates two class, struct or union declarations"
);
;
break
;}
break
;}
case
487
:
case
487
:
#line 215
1
"parse.y"
#line 215
3
"parse.y"
{
yyval
.
ttype
=
build_decl_list
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
build_decl_list
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
488
:
case
488
:
#line 215
6
"parse.y"
#line 215
8
"parse.y"
{
current_aggr
=
yyval
.
ttype
;
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
{
current_aggr
=
yyval
.
ttype
;
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
break
;}
case
489
:
case
489
:
#line 216
1
"parse.y"
#line 216
3
"parse.y"
{
current_aggr
=
yyval
.
ttype
;
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
{
current_aggr
=
yyval
.
ttype
;
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
break
;}
case
490
:
case
490
:
#line 216
3
"parse.y"
#line 216
5
"parse.y"
{
yyungetc
(
'{'
,
1
);
;
{
yyungetc
(
'{'
,
1
);
;
break
;}
break
;}
case
491
:
case
491
:
#line 216
5
"parse.y"
#line 216
7
"parse.y"
{
yyungetc
(
':'
,
1
);
;
{
yyungetc
(
':'
,
1
);
;
break
;}
break
;}
case
492
:
case
492
:
#line 217
0
"parse.y"
#line 217
2
"parse.y"
{
{
current_aggr
=
yyvsp
[
-
2
].
ttype
;
current_aggr
=
yyvsp
[
-
2
].
ttype
;
yyval
.
ttype
=
handle_class_head
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
yyval
.
ttype
=
handle_class_head
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
;
break
;}
break
;}
case
493
:
case
493
:
#line 217
5
"parse.y"
#line 217
7
"parse.y"
{
{
current_aggr
=
yyvsp
[
-
3
].
ttype
;
current_aggr
=
yyvsp
[
-
3
].
ttype
;
yyval
.
ttype
=
handle_class_head
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
yyval
.
ttype
=
handle_class_head
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
;
break
;}
break
;}
case
494
:
case
494
:
#line 218
0
"parse.y"
#line 218
2
"parse.y"
{
{
current_aggr
=
yyvsp
[
-
2
].
ttype
;
current_aggr
=
yyvsp
[
-
2
].
ttype
;
yyval
.
ttype
=
handle_class_head
(
yyvsp
[
-
2
].
ttype
,
NULL_TREE
,
yyvsp
[
0
].
ttype
);
yyval
.
ttype
=
handle_class_head
(
yyvsp
[
-
2
].
ttype
,
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
;
break
;}
break
;}
case
495
:
case
495
:
#line 218
5
"parse.y"
#line 218
7
"parse.y"
{
current_aggr
=
yyval
.
ttype
;
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
{
current_aggr
=
yyval
.
ttype
;
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
break
;}
case
496
:
case
496
:
#line 218
7
"parse.y"
#line 218
9
"parse.y"
{
current_aggr
=
yyval
.
ttype
;
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
{
current_aggr
=
yyval
.
ttype
;
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
break
;}
case
497
:
case
497
:
#line 219
2
"parse.y"
#line 219
4
"parse.y"
{
yyval
.
ttype
=
xref_tag
(
current_aggr
,
yyvsp
[
0
].
ttype
,
NULL_TREE
,
0
);
;
{
yyval
.
ttype
=
xref_tag
(
current_aggr
,
yyvsp
[
0
].
ttype
,
NULL_TREE
,
0
);
;
break
;}
break
;}
case
498
:
case
498
:
#line 219
7
"parse.y"
#line 219
9
"parse.y"
{
yyval
.
ttype
=
xref_tag
(
current_aggr
,
yyvsp
[
0
].
ttype
,
NULL_TREE
,
1
);
;
{
yyval
.
ttype
=
xref_tag
(
current_aggr
,
yyvsp
[
0
].
ttype
,
NULL_TREE
,
1
);
;
break
;}
break
;}
case
499
:
case
499
:
#line 220
0
"parse.y"
#line 220
2
"parse.y"
{
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
if
(
yyvsp
[
0
].
ttype
)
if
(
yyvsp
[
0
].
ttype
)
...
@@ -6141,7 +6143,7 @@ case 499:
...
@@ -6141,7 +6143,7 @@ case 499:
;
;
break
;}
break
;}
case
500
:
case
500
:
#line 220
6
"parse.y"
#line 220
8
"parse.y"
{
{
yyval
.
ttype
=
TREE_TYPE
(
yyvsp
[
-
1
].
ttype
);
yyval
.
ttype
=
TREE_TYPE
(
yyvsp
[
-
1
].
ttype
);
if
(
TREE_INT_CST_LOW
(
current_aggr
)
==
union_type
if
(
TREE_INT_CST_LOW
(
current_aggr
)
==
union_type
...
@@ -6158,28 +6160,28 @@ case 500:
...
@@ -6158,28 +6160,28 @@ case 500:
;
;
break
;}
break
;}
case
501
:
case
501
:
#line 222
4
"parse.y"
#line 222
6
"parse.y"
{
yyval
.
ttype
=
xref_tag
(
yyval
.
ttype
,
make_anon_name
(),
NULL_TREE
,
0
);
{
yyval
.
ttype
=
xref_tag
(
yyval
.
ttype
,
make_anon_name
(),
NULL_TREE
,
0
);
yyungetc
(
'{'
,
1
);
;
yyungetc
(
'{'
,
1
);
;
break
;}
break
;}
case
504
:
case
504
:
#line 223
5
"parse.y"
#line 223
7
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
break
;}
case
505
:
case
505
:
#line 223
7
"parse.y"
#line 223
9
"parse.y"
{
yyungetc
(
':'
,
1
);
yyval
.
ttype
=
NULL_TREE
;
;
{
yyungetc
(
':'
,
1
);
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
break
;}
case
506
:
case
506
:
#line 22
39
"parse.y"
#line 22
41
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
break
;}
case
508
:
case
508
:
#line 224
5
"parse.y"
#line 224
7
"parse.y"
{
yyval
.
ttype
=
chainon
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
chainon
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
509
:
case
509
:
#line 225
0
"parse.y"
#line 225
2
"parse.y"
{
{
tree
type
;
tree
type
;
if
(
yyvsp
[
0
].
ttype
==
NULL_TREE
)
if
(
yyvsp
[
0
].
ttype
==
NULL_TREE
)
...
@@ -6213,7 +6215,7 @@ case 509:
...
@@ -6213,7 +6215,7 @@ case 509:
;
;
break
;}
break
;}
case
510
:
case
510
:
#line 228
2
"parse.y"
#line 228
4
"parse.y"
{
{
tree
type
;
tree
type
;
if
(
yyvsp
[
0
].
ttype
==
NULL_TREE
)
if
(
yyvsp
[
0
].
ttype
==
NULL_TREE
)
...
@@ -6249,11 +6251,11 @@ case 510:
...
@@ -6249,11 +6251,11 @@ case 510:
;
;
break
;}
break
;}
case
511
:
case
511
:
#line 23
19
"parse.y"
#line 23
21
"parse.y"
{
yyval
.
ttype
=
TYPE_MAIN_DECL
(
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
TYPE_MAIN_DECL
(
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
513
:
case
513
:
#line 232
2
"parse.y"
#line 232
4
"parse.y"
{
{
if
(
current_aggr
==
signature_type_node
)
if
(
current_aggr
==
signature_type_node
)
{
{
...
@@ -6276,7 +6278,7 @@ case 513:
...
@@ -6276,7 +6278,7 @@ case 513:
;
;
break
;}
break
;}
case
514
:
case
514
:
#line 234
3
"parse.y"
#line 234
5
"parse.y"
{
{
if
(
current_aggr
==
signature_type_node
)
if
(
current_aggr
==
signature_type_node
)
{
{
...
@@ -6299,13 +6301,13 @@ case 514:
...
@@ -6299,13 +6301,13 @@ case 514:
;
;
break
;}
break
;}
case
516
:
case
516
:
#line 23
68
"parse.y"
#line 23
70
"parse.y"
{
if
(
yyvsp
[
-
1
].
ttype
!=
ridpointers
[(
int
)
RID_VIRTUAL
])
{
if
(
yyvsp
[
-
1
].
ttype
!=
ridpointers
[(
int
)
RID_VIRTUAL
])
cp_error
(
"`%D' access"
,
yyvsp
[
-
1
].
ttype
);
cp_error
(
"`%D' access"
,
yyvsp
[
-
1
].
ttype
);
yyval
.
ttype
=
access_default_virtual_node
;
;
yyval
.
ttype
=
access_default_virtual_node
;
;
break
;}
break
;}
case
517
:
case
517
:
#line 237
2
"parse.y"
#line 237
4
"parse.y"
{
{
if
(
yyvsp
[
-
2
].
ttype
!=
access_default_virtual_node
)
if
(
yyvsp
[
-
2
].
ttype
!=
access_default_virtual_node
)
error
(
"multiple access specifiers"
);
error
(
"multiple access specifiers"
);
...
@@ -6318,7 +6320,7 @@ case 517:
...
@@ -6318,7 +6320,7 @@ case 517:
;
;
break
;}
break
;}
case
518
:
case
518
:
#line 238
3
"parse.y"
#line 238
5
"parse.y"
{
if
(
yyvsp
[
-
1
].
ttype
!=
ridpointers
[(
int
)
RID_VIRTUAL
])
{
if
(
yyvsp
[
-
1
].
ttype
!=
ridpointers
[(
int
)
RID_VIRTUAL
])
cp_error
(
"`%D' access"
,
yyvsp
[
-
1
].
ttype
);
cp_error
(
"`%D' access"
,
yyvsp
[
-
1
].
ttype
);
else
if
(
yyval
.
ttype
==
access_public_node
)
else
if
(
yyval
.
ttype
==
access_public_node
)
...
@@ -6332,21 +6334,21 @@ case 518:
...
@@ -6332,21 +6334,21 @@ case 518:
;
;
break
;}
break
;}
case
519
:
case
519
:
#line 2
398
"parse.y"
#line 2
400
"parse.y"
{
yyvsp
[
-
1
].
ttype
=
begin_class_definition
(
yyvsp
[
-
1
].
ttype
);
;
{
yyvsp
[
-
1
].
ttype
=
begin_class_definition
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
520
:
case
520
:
#line 240
3
"parse.y"
#line 240
5
"parse.y"
{
{
yyval
.
ttype
=
build_self_reference
();
yyval
.
ttype
=
build_self_reference
();
;
;
break
;}
break
;}
case
521
:
case
521
:
#line 241
0
"parse.y"
#line 241
2
"parse.y"
{
if
(
yyval
.
ttype
)
yyval
.
ttype
=
build_tree_list
(
access_public_node
,
yyval
.
ttype
);
;
{
if
(
yyval
.
ttype
)
yyval
.
ttype
=
build_tree_list
(
access_public_node
,
yyval
.
ttype
);
;
break
;}
break
;}
case
522
:
case
522
:
#line 241
2
"parse.y"
#line 241
4
"parse.y"
{
{
if
(
current_aggr
==
signature_type_node
)
if
(
current_aggr
==
signature_type_node
)
yyval
.
ttype
=
build_tree_list
(
access_public_node
,
yyvsp
[
0
].
ttype
);
yyval
.
ttype
=
build_tree_list
(
access_public_node
,
yyvsp
[
0
].
ttype
);
...
@@ -6356,7 +6358,7 @@ case 522:
...
@@ -6356,7 +6358,7 @@ case 522:
;
;
break
;}
break
;}
case
523
:
case
523
:
#line 242
0
"parse.y"
#line 242
2
"parse.y"
{
{
tree
visspec
=
yyvsp
[
-
2
].
ttype
;
tree
visspec
=
yyvsp
[
-
2
].
ttype
;
...
@@ -6369,19 +6371,19 @@ case 523:
...
@@ -6369,19 +6371,19 @@ case 523:
;
;
break
;}
break
;}
case
524
:
case
524
:
#line 243
1
"parse.y"
#line 243
3
"parse.y"
{
{
if
(
current_aggr
==
signature_type_node
)
if
(
current_aggr
==
signature_type_node
)
error
(
"access specifier not allowed in signature"
);
error
(
"access specifier not allowed in signature"
);
;
;
break
;}
break
;}
case
525
:
case
525
:
#line 244
1
"parse.y"
#line 244
3
"parse.y"
{
if
(
yyval
.
ttype
==
void_type_node
)
yyval
.
ttype
=
NULL_TREE
;
{
if
(
yyval
.
ttype
==
void_type_node
)
yyval
.
ttype
=
NULL_TREE
;
;
;
break
;}
break
;}
case
526
:
case
526
:
#line 244
4
"parse.y"
#line 244
6
"parse.y"
{
/* In pushdecl, we created a reverse list of names
{
/* In pushdecl, we created a reverse list of names
in this binding level. Make sure that the chain
in this binding level. Make sure that the chain
of what we're trying to add isn't the item itself
of what we're trying to add isn't the item itself
...
@@ -6396,95 +6398,95 @@ case 526:
...
@@ -6396,95 +6398,95 @@ case 526:
;
;
break
;}
break
;}
case
527
:
case
527
:
#line 246
0
"parse.y"
#line 246
2
"parse.y"
{
;
{
;
break
;}
break
;}
case
528
:
case
528
:
#line 246
2
"parse.y"
#line 246
4
"parse.y"
{
error
(
"missing ';' before right brace"
);
{
error
(
"missing ';' before right brace"
);
yyungetc
(
'}'
,
0
);
;
yyungetc
(
'}'
,
0
);
;
break
;}
break
;}
case
529
:
case
529
:
#line 246
7
"parse.y"
#line 246
9
"parse.y"
{
yyval
.
ttype
=
finish_method
(
yyval
.
ttype
);
;
{
yyval
.
ttype
=
finish_method
(
yyval
.
ttype
);
;
break
;}
break
;}
case
530
:
case
530
:
#line 24
69
"parse.y"
#line 24
71
"parse.y"
{
yyval
.
ttype
=
finish_method
(
yyval
.
ttype
);
;
{
yyval
.
ttype
=
finish_method
(
yyval
.
ttype
);
;
break
;}
break
;}
case
531
:
case
531
:
#line 247
1
"parse.y"
#line 247
3
"parse.y"
{
yyval
.
ttype
=
finish_method
(
yyval
.
ttype
);
;
{
yyval
.
ttype
=
finish_method
(
yyval
.
ttype
);
;
break
;}
break
;}
case
532
:
case
532
:
#line 247
3
"parse.y"
#line 247
5
"parse.y"
{
yyval
.
ttype
=
finish_method
(
yyval
.
ttype
);
;
{
yyval
.
ttype
=
finish_method
(
yyval
.
ttype
);
;
break
;}
break
;}
case
533
:
case
533
:
#line 247
5
"parse.y"
#line 247
7
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
break
;}
case
534
:
case
534
:
#line 247
7
"parse.y"
#line 247
9
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
pedantic
=
yyvsp
[
-
1
].
itype
;
;
pedantic
=
yyvsp
[
-
1
].
itype
;
;
break
;}
break
;}
case
535
:
case
535
:
#line 248
0
"parse.y"
#line 248
2
"parse.y"
{
yyval
.
ttype
=
finish_member_template_decl
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
finish_member_template_decl
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
536
:
case
536
:
#line 248
2
"parse.y"
#line 248
4
"parse.y"
{
yyval
.
ttype
=
finish_member_class_template
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ftype
.
t
);
;
{
yyval
.
ttype
=
finish_member_class_template
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ftype
.
t
);
;
break
;}
break
;}
case
537
:
case
537
:
#line 249
0
"parse.y"
#line 249
2
"parse.y"
{
yyval
.
ttype
=
grok_x_components
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
grok_x_components
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
538
:
case
538
:
#line 249
2
"parse.y"
#line 249
4
"parse.y"
{
yyval
.
ttype
=
grok_x_components
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
grok_x_components
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
539
:
case
539
:
#line 249
4
"parse.y"
#line 249
6
"parse.y"
{
yyval
.
ttype
=
grokfield
(
yyval
.
ttype
,
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
2
].
ttype
,
{
yyval
.
ttype
=
grokfield
(
yyval
.
ttype
,
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
2
].
ttype
,
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
NULL_TREE
));
;
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
NULL_TREE
));
;
break
;}
break
;}
case
540
:
case
540
:
#line 249
7
"parse.y"
#line 249
9
"parse.y"
{
yyval
.
ttype
=
grokfield
(
yyval
.
ttype
,
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
2
].
ttype
,
{
yyval
.
ttype
=
grokfield
(
yyval
.
ttype
,
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
2
].
ttype
,
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
NULL_TREE
));
;
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
NULL_TREE
));
;
break
;}
break
;}
case
541
:
case
541
:
#line 250
0
"parse.y"
#line 250
2
"parse.y"
{
yyval
.
ttype
=
grokbitfield
(
NULL_TREE
,
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
grokbitfield
(
NULL_TREE
,
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
542
:
case
542
:
#line 250
2
"parse.y"
#line 250
4
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
break
;}
case
543
:
case
543
:
#line 251
3
"parse.y"
#line 251
5
"parse.y"
{
tree
specs
,
attrs
;
{
tree
specs
,
attrs
;
split_specs_attrs
(
yyvsp
[
-
4
].
ttype
,
&
specs
,
&
attrs
);
split_specs_attrs
(
yyvsp
[
-
4
].
ttype
,
&
specs
,
&
attrs
);
yyval
.
ttype
=
grokfield
(
yyvsp
[
-
3
].
ttype
,
specs
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
2
].
ttype
,
yyval
.
ttype
=
grokfield
(
yyvsp
[
-
3
].
ttype
,
specs
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
2
].
ttype
,
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
attrs
));
;
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
attrs
));
;
break
;}
break
;}
case
544
:
case
544
:
#line 25
18
"parse.y"
#line 25
20
"parse.y"
{
yyval
.
ttype
=
grokfield
(
yyval
.
ttype
,
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
2
].
ttype
,
{
yyval
.
ttype
=
grokfield
(
yyval
.
ttype
,
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
2
].
ttype
,
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
NULL_TREE
));
;
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
NULL_TREE
));
;
break
;}
break
;}
case
545
:
case
545
:
#line 252
1
"parse.y"
#line 252
3
"parse.y"
{
yyval
.
ttype
=
do_class_using_decl
(
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
do_class_using_decl
(
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
546
:
case
546
:
#line 252
7
"parse.y"
#line 252
9
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
break
;}
case
548
:
case
548
:
#line 253
0
"parse.y"
#line 253
2
"parse.y"
{
{
/* In this context, void_type_node encodes
/* In this context, void_type_node encodes
friends. They have been recorded elsewhere. */
friends. They have been recorded elsewhere. */
...
@@ -6495,11 +6497,11 @@ case 548:
...
@@ -6495,11 +6497,11 @@ case 548:
;
;
break
;}
break
;}
case
549
:
case
549
:
#line 254
2
"parse.y"
#line 254
4
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
break
;}
case
551
:
case
551
:
#line 254
5
"parse.y"
#line 254
7
"parse.y"
{
{
/* In this context, void_type_node encodes
/* In this context, void_type_node encodes
friends. They have been recorded elsewhere. */
friends. They have been recorded elsewhere. */
...
@@ -6510,7 +6512,7 @@ case 551:
...
@@ -6510,7 +6512,7 @@ case 551:
;
;
break
;}
break
;}
case
556
:
case
556
:
#line 256
7
"parse.y"
#line 256
9
"parse.y"
{
split_specs_attrs
(
yyvsp
[
-
4
].
ttype
,
&
current_declspecs
,
{
split_specs_attrs
(
yyvsp
[
-
4
].
ttype
,
&
current_declspecs
,
&
prefix_attributes
);
&
prefix_attributes
);
yyvsp
[
-
4
].
ttype
=
current_declspecs
;
yyvsp
[
-
4
].
ttype
=
current_declspecs
;
...
@@ -6518,7 +6520,7 @@ case 556:
...
@@ -6518,7 +6520,7 @@ case 556:
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
prefix_attributes
));
;
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
prefix_attributes
));
;
break
;}
break
;}
case
557
:
case
557
:
#line 257
3
"parse.y"
#line 257
5
"parse.y"
{
split_specs_attrs
(
yyvsp
[
-
4
].
ttype
,
&
current_declspecs
,
{
split_specs_attrs
(
yyvsp
[
-
4
].
ttype
,
&
current_declspecs
,
&
prefix_attributes
);
&
prefix_attributes
);
yyvsp
[
-
4
].
ttype
=
current_declspecs
;
yyvsp
[
-
4
].
ttype
=
current_declspecs
;
...
@@ -6526,7 +6528,7 @@ case 557:
...
@@ -6526,7 +6528,7 @@ case 557:
cplus_decl_attributes
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
prefix_attributes
);
;
cplus_decl_attributes
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
prefix_attributes
);
;
break
;}
break
;}
case
558
:
case
558
:
#line 258
2
"parse.y"
#line 258
4
"parse.y"
{
split_specs_attrs
(
yyvsp
[
-
4
].
ttype
,
&
current_declspecs
,
{
split_specs_attrs
(
yyvsp
[
-
4
].
ttype
,
&
current_declspecs
,
&
prefix_attributes
);
&
prefix_attributes
);
yyvsp
[
-
4
].
ttype
=
current_declspecs
;
yyvsp
[
-
4
].
ttype
=
current_declspecs
;
...
@@ -6534,7 +6536,7 @@ case 558:
...
@@ -6534,7 +6536,7 @@ case 558:
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
prefix_attributes
));
;
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
prefix_attributes
));
;
break
;}
break
;}
case
559
:
case
559
:
#line 25
88
"parse.y"
#line 25
90
"parse.y"
{
split_specs_attrs
(
yyvsp
[
-
4
].
ttype
,
&
current_declspecs
,
{
split_specs_attrs
(
yyvsp
[
-
4
].
ttype
,
&
current_declspecs
,
&
prefix_attributes
);
&
prefix_attributes
);
yyvsp
[
-
4
].
ttype
=
current_declspecs
;
yyvsp
[
-
4
].
ttype
=
current_declspecs
;
...
@@ -6542,7 +6544,7 @@ case 559:
...
@@ -6542,7 +6544,7 @@ case 559:
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
prefix_attributes
));
;
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
prefix_attributes
));
;
break
;}
break
;}
case
560
:
case
560
:
#line 259
4
"parse.y"
#line 259
6
"parse.y"
{
split_specs_attrs
(
yyvsp
[
-
4
].
ttype
,
&
current_declspecs
,
{
split_specs_attrs
(
yyvsp
[
-
4
].
ttype
,
&
current_declspecs
,
&
prefix_attributes
);
&
prefix_attributes
);
yyvsp
[
-
4
].
ttype
=
current_declspecs
;
yyvsp
[
-
4
].
ttype
=
current_declspecs
;
...
@@ -6550,7 +6552,7 @@ case 560:
...
@@ -6550,7 +6552,7 @@ case 560:
cplus_decl_attributes
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
prefix_attributes
);
;
cplus_decl_attributes
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
prefix_attributes
);
;
break
;}
break
;}
case
561
:
case
561
:
#line 260
0
"parse.y"
#line 260
2
"parse.y"
{
split_specs_attrs
(
yyvsp
[
-
3
].
ttype
,
&
current_declspecs
,
{
split_specs_attrs
(
yyvsp
[
-
3
].
ttype
,
&
current_declspecs
,
&
prefix_attributes
);
&
prefix_attributes
);
yyvsp
[
-
3
].
ttype
=
current_declspecs
;
yyvsp
[
-
3
].
ttype
=
current_declspecs
;
...
@@ -6558,54 +6560,54 @@ case 561:
...
@@ -6558,54 +6560,54 @@ case 561:
cplus_decl_attributes
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
prefix_attributes
);
;
cplus_decl_attributes
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
prefix_attributes
);
;
break
;}
break
;}
case
562
:
case
562
:
#line 26
09
"parse.y"
#line 26
11
"parse.y"
{
yyval
.
ttype
=
grokfield
(
yyval
.
ttype
,
current_declspecs
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
2
].
ttype
,
{
yyval
.
ttype
=
grokfield
(
yyval
.
ttype
,
current_declspecs
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
2
].
ttype
,
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
prefix_attributes
));
;
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
prefix_attributes
));
;
break
;}
break
;}
case
563
:
case
563
:
#line 261
2
"parse.y"
#line 261
4
"parse.y"
{
yyval
.
ttype
=
grokbitfield
(
yyval
.
ttype
,
current_declspecs
,
yyvsp
[
-
1
].
ttype
);
{
yyval
.
ttype
=
grokbitfield
(
yyval
.
ttype
,
current_declspecs
,
yyvsp
[
-
1
].
ttype
);
cplus_decl_attributes
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
prefix_attributes
);
;
cplus_decl_attributes
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
prefix_attributes
);
;
break
;}
break
;}
case
564
:
case
564
:
#line 26
18
"parse.y"
#line 26
20
"parse.y"
{
yyval
.
ttype
=
grokfield
(
yyval
.
ttype
,
current_declspecs
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
2
].
ttype
,
{
yyval
.
ttype
=
grokfield
(
yyval
.
ttype
,
current_declspecs
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
2
].
ttype
,
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
prefix_attributes
));
;
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
prefix_attributes
));
;
break
;}
break
;}
case
565
:
case
565
:
#line 262
1
"parse.y"
#line 262
3
"parse.y"
{
yyval
.
ttype
=
grokbitfield
(
yyval
.
ttype
,
current_declspecs
,
yyvsp
[
-
1
].
ttype
);
{
yyval
.
ttype
=
grokbitfield
(
yyval
.
ttype
,
current_declspecs
,
yyvsp
[
-
1
].
ttype
);
cplus_decl_attributes
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
prefix_attributes
);
;
cplus_decl_attributes
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
prefix_attributes
);
;
break
;}
break
;}
case
566
:
case
566
:
#line 262
4
"parse.y"
#line 262
6
"parse.y"
{
yyval
.
ttype
=
grokbitfield
(
NULL_TREE
,
current_declspecs
,
yyvsp
[
-
1
].
ttype
);
{
yyval
.
ttype
=
grokbitfield
(
NULL_TREE
,
current_declspecs
,
yyvsp
[
-
1
].
ttype
);
cplus_decl_attributes
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
prefix_attributes
);
;
cplus_decl_attributes
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
prefix_attributes
);
;
break
;}
break
;}
case
568
:
case
568
:
#line 263
5
"parse.y"
#line 263
7
"parse.y"
{
TREE_CHAIN
(
yyvsp
[
0
].
ttype
)
=
yyval
.
ttype
;
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
{
TREE_CHAIN
(
yyvsp
[
0
].
ttype
)
=
yyval
.
ttype
;
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
break
;}
case
569
:
case
569
:
#line 264
0
"parse.y"
#line 264
2
"parse.y"
{
yyval
.
ttype
=
build_enumerator
(
yyval
.
ttype
,
NULL_TREE
);
;
{
yyval
.
ttype
=
build_enumerator
(
yyval
.
ttype
,
NULL_TREE
);
;
break
;}
break
;}
case
570
:
case
570
:
#line 264
2
"parse.y"
#line 264
4
"parse.y"
{
yyval
.
ttype
=
build_enumerator
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
build_enumerator
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
571
:
case
571
:
#line 26
48
"parse.y"
#line 26
50
"parse.y"
{
yyval
.
ftype
.
t
=
build_decl_list
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
{
yyval
.
ftype
.
t
=
build_decl_list
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
;
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
;
break
;}
break
;}
case
572
:
case
572
:
#line 265
1
"parse.y"
#line 265
3
"parse.y"
{
yyval
.
ftype
.
t
=
build_decl_list
(
yyvsp
[
0
].
ftype
.
t
,
NULL_TREE
);
{
yyval
.
ftype
.
t
=
build_decl_list
(
yyvsp
[
0
].
ftype
.
t
,
NULL_TREE
);
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
0
].
ftype
.
new_type_flag
;
;
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
0
].
ftype
.
new_type_flag
;
;
break
;}
break
;}
case
573
:
case
573
:
#line 26
58
"parse.y"
#line 26
60
"parse.y"
{
{
if
(
pedantic
)
if
(
pedantic
)
pedwarn
(
"ANSI C++ forbids array dimensions with parenthesized type in new"
);
pedwarn
(
"ANSI C++ forbids array dimensions with parenthesized type in new"
);
...
@@ -6615,71 +6617,71 @@ case 573:
...
@@ -6615,71 +6617,71 @@ case 573:
;
;
break
;}
break
;}
case
574
:
case
574
:
#line 26
69
"parse.y"
#line 26
71
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
break
;}
case
575
:
case
575
:
#line 267
1
"parse.y"
#line 267
3
"parse.y"
{
yyval
.
ttype
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyval
.
ttype
);
;
{
yyval
.
ttype
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyval
.
ttype
);
;
break
;}
break
;}
case
576
:
case
576
:
#line 267
6
"parse.y"
#line 267
8
"parse.y"
{
yyval
.
ftype
.
t
=
IDENTIFIER_AS_LIST
(
yyvsp
[
0
].
ttype
);
{
yyval
.
ftype
.
t
=
IDENTIFIER_AS_LIST
(
yyvsp
[
0
].
ttype
);
yyval
.
ftype
.
new_type_flag
=
0
;
;
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
break
;}
case
577
:
case
577
:
#line 26
79
"parse.y"
#line 26
81
"parse.y"
{
yyval
.
ftype
.
t
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ftype
.
t
);
{
yyval
.
ftype
.
t
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ftype
.
t
);
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
;
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
;
break
;}
break
;}
case
578
:
case
578
:
#line 26
88
"parse.y"
#line 26
90
"parse.y"
{
yyval
.
itype
=
suspend_momentary
();
;
{
yyval
.
itype
=
suspend_momentary
();
;
break
;}
break
;}
case
579
:
case
579
:
#line 269
3
"parse.y"
#line 269
5
"parse.y"
{
resume_momentary
((
int
)
yyvsp
[
-
1
].
itype
);
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
{
resume_momentary
((
int
)
yyvsp
[
-
1
].
itype
);
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
break
;}
case
580
:
case
580
:
#line 2
699
"parse.y"
#line 2
701
"parse.y"
{
resume_momentary
((
int
)
yyvsp
[
-
3
].
itype
);
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
{
resume_momentary
((
int
)
yyvsp
[
-
3
].
itype
);
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
break
;}
case
581
:
case
581
:
#line 270
1
"parse.y"
#line 270
3
"parse.y"
{
resume_momentary
((
int
)
yyvsp
[
-
3
].
itype
);
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
{
resume_momentary
((
int
)
yyvsp
[
-
3
].
itype
);
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
break
;}
case
582
:
case
582
:
#line 270
3
"parse.y"
#line 270
5
"parse.y"
{
resume_momentary
((
int
)
yyvsp
[
-
1
].
itype
);
yyval
.
ttype
=
empty_parms
();
;
{
resume_momentary
((
int
)
yyvsp
[
-
1
].
itype
);
yyval
.
ttype
=
empty_parms
();
;
break
;}
break
;}
case
583
:
case
583
:
#line 270
5
"parse.y"
#line 270
7
"parse.y"
{
resume_momentary
((
int
)
yyvsp
[
-
3
].
itype
);
yyval
.
ttype
=
NULL_TREE
;
;
{
resume_momentary
((
int
)
yyvsp
[
-
3
].
itype
);
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
break
;}
case
584
:
case
584
:
#line 271
2
"parse.y"
#line 271
4
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
585
:
case
585
:
#line 271
4
"parse.y"
#line 271
6
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
586
:
case
586
:
#line 271
6
"parse.y"
#line 271
8
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_pointer_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
587
:
case
587
:
#line 27
18
"parse.y"
#line 27
20
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_reference_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
588
:
case
588
:
#line 272
0
"parse.y"
#line 272
2
"parse.y"
{
tree
arg
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
{
tree
arg
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
2
].
ttype
,
arg
);
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
2
].
ttype
,
arg
);
;
;
break
;}
break
;}
case
590
:
case
590
:
#line 27
28
"parse.y"
#line 27
30
"parse.y"
{
{
if
(
TREE_CODE
(
yyvsp
[
0
].
ttype
)
==
IDENTIFIER_NODE
)
if
(
TREE_CODE
(
yyvsp
[
0
].
ttype
)
==
IDENTIFIER_NODE
)
{
{
...
@@ -6698,7 +6700,7 @@ case 590:
...
@@ -6698,7 +6700,7 @@ case 590:
;
;
break
;}
break
;}
case
591
:
case
591
:
#line 274
5
"parse.y"
#line 274
7
"parse.y"
{
{
if
(
TREE_CODE
(
yyvsp
[
0
].
ttype
)
==
IDENTIFIER_NODE
)
if
(
TREE_CODE
(
yyvsp
[
0
].
ttype
)
==
IDENTIFIER_NODE
)
yyval
.
ttype
=
IDENTIFIER_GLOBAL_VALUE
(
yyvsp
[
0
].
ttype
);
yyval
.
ttype
=
IDENTIFIER_GLOBAL_VALUE
(
yyvsp
[
0
].
ttype
);
...
@@ -6708,152 +6710,152 @@ case 591:
...
@@ -6708,152 +6710,152 @@ case 591:
;
;
break
;}
break
;}
case
594
:
case
594
:
#line 27
58
"parse.y"
#line 27
60
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
break
;}
case
595
:
case
595
:
#line 276
3
"parse.y"
#line 276
5
"parse.y"
{
yyval
.
ttype
=
get_type_decl
(
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
get_type_decl
(
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
596
:
case
596
:
#line 27
68
"parse.y"
#line 27
70
"parse.y"
{
yyval
.
ttype
=
make_call_declarator
(
yyval
.
ttype
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_call_declarator
(
yyval
.
ttype
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
597
:
case
597
:
#line 277
0
"parse.y"
#line 277
2
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
598
:
case
598
:
#line 277
2
"parse.y"
#line 277
4
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
NULL_TREE
);
;
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
NULL_TREE
);
;
break
;}
break
;}
case
599
:
case
599
:
#line 277
4
"parse.y"
#line 277
6
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
break
;}
case
600
:
case
600
:
#line 277
6
"parse.y"
#line 277
8
"parse.y"
{
push_nested_class
(
yyvsp
[
-
1
].
ttype
,
3
);
{
push_nested_class
(
yyvsp
[
-
1
].
ttype
,
3
);
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
TREE_COMPLEXITY
(
yyval
.
ttype
)
=
current_class_depth
;
;
TREE_COMPLEXITY
(
yyval
.
ttype
)
=
current_class_depth
;
;
break
;}
break
;}
case
602
:
case
602
:
#line 278
7
"parse.y"
#line 278
9
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
603
:
case
603
:
#line 27
89
"parse.y"
#line 27
91
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
604
:
case
604
:
#line 279
1
"parse.y"
#line 279
3
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_pointer_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
605
:
case
605
:
#line 279
3
"parse.y"
#line 279
5
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_reference_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
606
:
case
606
:
#line 279
5
"parse.y"
#line 279
7
"parse.y"
{
tree
arg
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
{
tree
arg
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
2
].
ttype
,
arg
);
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
2
].
ttype
,
arg
);
;
;
break
;}
break
;}
case
608
:
case
608
:
#line 280
3
"parse.y"
#line 280
5
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
609
:
case
609
:
#line 280
5
"parse.y"
#line 280
7
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
610
:
case
610
:
#line 280
7
"parse.y"
#line 280
9
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_pointer_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
611
:
case
611
:
#line 28
09
"parse.y"
#line 28
11
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_reference_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
612
:
case
612
:
#line 281
1
"parse.y"
#line 281
3
"parse.y"
{
tree
arg
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
{
tree
arg
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
2
].
ttype
,
arg
);
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
2
].
ttype
,
arg
);
;
;
break
;}
break
;}
case
614
:
case
614
:
#line 28
19
"parse.y"
#line 28
21
"parse.y"
{
yyval
.
ttype
=
make_call_declarator
(
yyval
.
ttype
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_call_declarator
(
yyval
.
ttype
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
615
:
case
615
:
#line 282
1
"parse.y"
#line 282
3
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
break
;}
case
616
:
case
616
:
#line 282
3
"parse.y"
#line 282
5
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
617
:
case
617
:
#line 282
5
"parse.y"
#line 282
7
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
NULL_TREE
);
;
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
NULL_TREE
);
;
break
;}
break
;}
case
618
:
case
618
:
#line 282
7
"parse.y"
#line 282
9
"parse.y"
{
enter_scope_of
(
yyvsp
[
0
].
ttype
);
;
{
enter_scope_of
(
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
619
:
case
619
:
#line 28
29
"parse.y"
#line 28
31
"parse.y"
{
got_scope
=
NULL_TREE
;
{
got_scope
=
NULL_TREE
;
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
enter_scope_of
(
yyval
.
ttype
);
enter_scope_of
(
yyval
.
ttype
);
;
;
break
;}
break
;}
case
620
:
case
620
:
#line 283
7
"parse.y"
#line 283
9
"parse.y"
{
got_scope
=
NULL_TREE
;
{
got_scope
=
NULL_TREE
;
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
621
:
case
621
:
#line 284
0
"parse.y"
#line 284
2
"parse.y"
{
got_scope
=
NULL_TREE
;
{
got_scope
=
NULL_TREE
;
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
622
:
case
622
:
#line 284
6
"parse.y"
#line 284
8
"parse.y"
{
got_scope
=
NULL_TREE
;
{
got_scope
=
NULL_TREE
;
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
623
:
case
623
:
#line 28
49
"parse.y"
#line 28
51
"parse.y"
{
got_scope
=
NULL_TREE
;
{
got_scope
=
NULL_TREE
;
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
625
:
case
625
:
#line 285
6
"parse.y"
#line 285
8
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
break
;}
case
626
:
case
626
:
#line 286
1
"parse.y"
#line 286
3
"parse.y"
{
yyval
.
ttype
=
build_functional_cast
(
yyvsp
[
-
3
].
ftype
.
t
,
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
build_functional_cast
(
yyvsp
[
-
3
].
ftype
.
t
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
627
:
case
627
:
#line 286
3
"parse.y"
#line 286
5
"parse.y"
{
yyval
.
ttype
=
reparse_decl_as_expr
(
yyvsp
[
-
3
].
ftype
.
t
,
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
reparse_decl_as_expr
(
yyvsp
[
-
3
].
ftype
.
t
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
628
:
case
628
:
#line 286
5
"parse.y"
#line 286
7
"parse.y"
{
yyval
.
ttype
=
reparse_absdcl_as_expr
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
reparse_absdcl_as_expr
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
633
:
case
633
:
#line 287
7
"parse.y"
#line 287
9
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
break
;}
case
634
:
case
634
:
#line 28
79
"parse.y"
#line 28
81
"parse.y"
{
got_scope
=
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
{
got_scope
=
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
635
:
case
635
:
#line 288
6
"parse.y"
#line 288
8
"parse.y"
{
{
if
(
TREE_CODE
(
yyvsp
[
-
1
].
ttype
)
==
IDENTIFIER_NODE
)
if
(
TREE_CODE
(
yyvsp
[
-
1
].
ttype
)
==
IDENTIFIER_NODE
)
{
{
...
@@ -6869,7 +6871,7 @@ case 635:
...
@@ -6869,7 +6871,7 @@ case 635:
;
;
break
;}
break
;}
case
636
:
case
636
:
#line 290
0
"parse.y"
#line 290
2
"parse.y"
{
{
if
(
TREE_CODE
(
yyvsp
[
-
1
].
ttype
)
==
IDENTIFIER_NODE
)
if
(
TREE_CODE
(
yyvsp
[
-
1
].
ttype
)
==
IDENTIFIER_NODE
)
yyval
.
ttype
=
lastiddecl
;
yyval
.
ttype
=
lastiddecl
;
...
@@ -6877,7 +6879,7 @@ case 636:
...
@@ -6877,7 +6879,7 @@ case 636:
;
;
break
;}
break
;}
case
637
:
case
637
:
#line 290
6
"parse.y"
#line 290
8
"parse.y"
{
{
if
(
TREE_CODE
(
yyval
.
ttype
)
==
IDENTIFIER_NODE
)
if
(
TREE_CODE
(
yyval
.
ttype
)
==
IDENTIFIER_NODE
)
yyval
.
ttype
=
lastiddecl
;
yyval
.
ttype
=
lastiddecl
;
...
@@ -6885,15 +6887,15 @@ case 637:
...
@@ -6885,15 +6887,15 @@ case 637:
;
;
break
;}
break
;}
case
638
:
case
638
:
#line 291
2
"parse.y"
#line 291
4
"parse.y"
{
got_scope
=
yyval
.
ttype
=
complete_type
(
TREE_TYPE
(
yyvsp
[
-
1
].
ttype
));
;
{
got_scope
=
yyval
.
ttype
=
complete_type
(
TREE_TYPE
(
yyvsp
[
-
1
].
ttype
));
;
break
;}
break
;}
case
640
:
case
640
:
#line 29
28
"parse.y"
#line 29
30
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
break
;}
case
641
:
case
641
:
#line 293
3
"parse.y"
#line 293
5
"parse.y"
{
{
if
(
TREE_CODE_CLASS
(
TREE_CODE
(
yyvsp
[
-
1
].
ttype
))
==
't'
)
if
(
TREE_CODE_CLASS
(
TREE_CODE
(
yyvsp
[
-
1
].
ttype
))
==
't'
)
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
...
@@ -6908,26 +6910,26 @@ case 641:
...
@@ -6908,26 +6910,26 @@ case 641:
;
;
break
;}
break
;}
case
642
:
case
642
:
#line 294
6
"parse.y"
#line 294
8
"parse.y"
{
yyval
.
ttype
=
TREE_TYPE
(
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
TREE_TYPE
(
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
643
:
case
643
:
#line 29
48
"parse.y"
#line 29
50
"parse.y"
{
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
644
:
case
644
:
#line 295
0
"parse.y"
#line 295
2
"parse.y"
{
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
645
:
case
645
:
#line 295
5
"parse.y"
#line 295
7
"parse.y"
{
{
if
(
TREE_CODE
(
yyvsp
[
0
].
ttype
)
==
IDENTIFIER_NODE
)
if
(
TREE_CODE
(
yyvsp
[
0
].
ttype
)
==
IDENTIFIER_NODE
)
cp_error
(
"`%T' is not a class or namespace"
,
yyvsp
[
0
].
ttype
);
cp_error
(
"`%T' is not a class or namespace"
,
yyvsp
[
0
].
ttype
);
;
;
break
;}
break
;}
case
646
:
case
646
:
#line 296
0
"parse.y"
#line 296
2
"parse.y"
{
{
if
(
TREE_CODE_CLASS
(
TREE_CODE
(
yyvsp
[
-
1
].
ttype
))
==
't'
)
if
(
TREE_CODE_CLASS
(
TREE_CODE
(
yyvsp
[
-
1
].
ttype
))
==
't'
)
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
...
@@ -6942,15 +6944,15 @@ case 646:
...
@@ -6942,15 +6944,15 @@ case 646:
;
;
break
;}
break
;}
case
647
:
case
647
:
#line 297
3
"parse.y"
#line 297
5
"parse.y"
{
got_scope
=
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
{
got_scope
=
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
648
:
case
648
:
#line 297
5
"parse.y"
#line 297
7
"parse.y"
{
got_scope
=
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
{
got_scope
=
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
649
:
case
649
:
#line 298
0
"parse.y"
#line 298
2
"parse.y"
{
{
if
(
TREE_CODE
(
yyvsp
[
-
1
].
ttype
)
!=
IDENTIFIER_NODE
)
if
(
TREE_CODE
(
yyvsp
[
-
1
].
ttype
)
!=
IDENTIFIER_NODE
)
yyvsp
[
-
1
].
ttype
=
lastiddecl
;
yyvsp
[
-
1
].
ttype
=
lastiddecl
;
...
@@ -6964,7 +6966,7 @@ case 649:
...
@@ -6964,7 +6966,7 @@ case 649:
;
;
break
;}
break
;}
case
650
:
case
650
:
#line 299
2
"parse.y"
#line 299
4
"parse.y"
{
{
if
(
TREE_CODE
(
yyvsp
[
-
1
].
ttype
)
!=
IDENTIFIER_NODE
)
if
(
TREE_CODE
(
yyvsp
[
-
1
].
ttype
)
!=
IDENTIFIER_NODE
)
yyval
.
ttype
=
lastiddecl
;
yyval
.
ttype
=
lastiddecl
;
...
@@ -6972,11 +6974,11 @@ case 650:
...
@@ -6972,11 +6974,11 @@ case 650:
;
;
break
;}
break
;}
case
651
:
case
651
:
#line
2998
"parse.y"
#line
3000
"parse.y"
{
got_scope
=
yyval
.
ttype
=
complete_type
(
TREE_TYPE
(
yyval
.
ttype
));
;
{
got_scope
=
yyval
.
ttype
=
complete_type
(
TREE_TYPE
(
yyval
.
ttype
));
;
break
;}
break
;}
case
654
:
case
654
:
#line 300
2
"parse.y"
#line 300
4
"parse.y"
{
{
if
(
TREE_CODE
(
yyval
.
ttype
)
==
IDENTIFIER_NODE
)
if
(
TREE_CODE
(
yyval
.
ttype
)
==
IDENTIFIER_NODE
)
yyval
.
ttype
=
lastiddecl
;
yyval
.
ttype
=
lastiddecl
;
...
@@ -6984,11 +6986,11 @@ case 654:
...
@@ -6984,11 +6986,11 @@ case 654:
;
;
break
;}
break
;}
case
655
:
case
655
:
#line 301
1
"parse.y"
#line 301
3
"parse.y"
{
yyval
.
ttype
=
build_min_nt
(
TEMPLATE_ID_EXPR
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
build_min_nt
(
TEMPLATE_ID_EXPR
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
656
:
case
656
:
#line 301
6
"parse.y"
#line 301
8
"parse.y"
{
{
if
(
TREE_CODE
(
yyvsp
[
0
].
ttype
)
==
IDENTIFIER_NODE
)
if
(
TREE_CODE
(
yyvsp
[
0
].
ttype
)
==
IDENTIFIER_NODE
)
yyval
.
ttype
=
IDENTIFIER_GLOBAL_VALUE
(
yyvsp
[
0
].
ttype
);
yyval
.
ttype
=
IDENTIFIER_GLOBAL_VALUE
(
yyvsp
[
0
].
ttype
);
...
@@ -6998,148 +7000,148 @@ case 656:
...
@@ -6998,148 +7000,148 @@ case 656:
;
;
break
;}
break
;}
case
658
:
case
658
:
#line 302
5
"parse.y"
#line 302
7
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
break
;}
case
659
:
case
659
:
#line 303
0
"parse.y"
#line 303
2
"parse.y"
{
got_scope
=
NULL_TREE
;
;
{
got_scope
=
NULL_TREE
;
;
break
;}
break
;}
case
660
:
case
660
:
#line 303
2
"parse.y"
#line 303
4
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
got_scope
=
NULL_TREE
;
;
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
got_scope
=
NULL_TREE
;
;
break
;}
break
;}
case
661
:
case
661
:
#line 30
39
"parse.y"
#line 30
41
"parse.y"
{
got_scope
=
void_type_node
;
;
{
got_scope
=
void_type_node
;
;
break
;}
break
;}
case
662
:
case
662
:
#line 304
5
"parse.y"
#line 304
7
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
663
:
case
663
:
#line 304
7
"parse.y"
#line 304
9
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
break
;}
case
664
:
case
664
:
#line 30
49
"parse.y"
#line 30
51
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
665
:
case
665
:
#line 305
1
"parse.y"
#line 305
3
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
break
;}
case
666
:
case
666
:
#line 305
3
"parse.y"
#line 305
5
"parse.y"
{
tree
arg
=
make_pointer_declarator
(
yyvsp
[
0
].
ttype
,
NULL_TREE
);
{
tree
arg
=
make_pointer_declarator
(
yyvsp
[
0
].
ttype
,
NULL_TREE
);
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
1
].
ttype
,
arg
);
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
1
].
ttype
,
arg
);
;
;
break
;}
break
;}
case
667
:
case
667
:
#line 305
7
"parse.y"
#line 305
9
"parse.y"
{
tree
arg
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
{
tree
arg
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
2
].
ttype
,
arg
);
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
2
].
ttype
,
arg
);
;
;
break
;}
break
;}
case
669
:
case
669
:
#line 306
6
"parse.y"
#line 306
8
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
670
:
case
670
:
#line 30
68
"parse.y"
#line 30
70
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
671
:
case
671
:
#line 307
4
"parse.y"
#line 307
6
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
672
:
case
672
:
#line 307
6
"parse.y"
#line 307
8
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_pointer_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
673
:
case
673
:
#line 30
78
"parse.y"
#line 30
80
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
0
].
ftype
.
t
,
NULL_TREE
);
;
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
0
].
ftype
.
t
,
NULL_TREE
);
;
break
;}
break
;}
case
674
:
case
674
:
#line 308
0
"parse.y"
#line 308
2
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
NULL_TREE
,
NULL_TREE
);
;
{
yyval
.
ttype
=
make_pointer_declarator
(
NULL_TREE
,
NULL_TREE
);
;
break
;}
break
;}
case
675
:
case
675
:
#line 308
2
"parse.y"
#line 308
4
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
676
:
case
676
:
#line 308
4
"parse.y"
#line 308
6
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_reference_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
677
:
case
677
:
#line 308
6
"parse.y"
#line 308
8
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
0
].
ftype
.
t
,
NULL_TREE
);
;
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
0
].
ftype
.
t
,
NULL_TREE
);
;
break
;}
break
;}
case
678
:
case
678
:
#line 30
88
"parse.y"
#line 30
90
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
NULL_TREE
,
NULL_TREE
);
;
{
yyval
.
ttype
=
make_reference_declarator
(
NULL_TREE
,
NULL_TREE
);
;
break
;}
break
;}
case
679
:
case
679
:
#line 309
0
"parse.y"
#line 309
2
"parse.y"
{
tree
arg
=
make_pointer_declarator
(
yyvsp
[
0
].
ttype
,
NULL_TREE
);
{
tree
arg
=
make_pointer_declarator
(
yyvsp
[
0
].
ttype
,
NULL_TREE
);
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
1
].
ttype
,
arg
);
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
1
].
ttype
,
arg
);
;
;
break
;}
break
;}
case
680
:
case
680
:
#line 309
4
"parse.y"
#line 309
6
"parse.y"
{
tree
arg
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
{
tree
arg
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
2
].
ttype
,
arg
);
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
2
].
ttype
,
arg
);
;
;
break
;}
break
;}
case
682
:
case
682
:
#line 310
3
"parse.y"
#line 310
5
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
break
;}
case
684
:
case
684
:
#line 310
7
"parse.y"
#line 310
9
"parse.y"
{
yyval
.
ttype
=
make_call_declarator
(
yyval
.
ttype
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_call_declarator
(
yyval
.
ttype
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
685
:
case
685
:
#line 31
09
"parse.y"
#line 31
11
"parse.y"
{
yyval
.
ttype
=
make_call_declarator
(
yyval
.
ttype
,
empty_parms
(),
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_call_declarator
(
yyval
.
ttype
,
empty_parms
(),
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
686
:
case
686
:
#line 311
1
"parse.y"
#line 311
3
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
687
:
case
687
:
#line 311
3
"parse.y"
#line 311
5
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
NULL_TREE
);
;
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
NULL_TREE
);
;
break
;}
break
;}
case
688
:
case
688
:
#line 311
5
"parse.y"
#line 311
7
"parse.y"
{
yyval
.
ttype
=
make_call_declarator
(
NULL_TREE
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_call_declarator
(
NULL_TREE
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
689
:
case
689
:
#line 311
7
"parse.y"
#line 311
9
"parse.y"
{
set_quals_and_spec
(
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
{
set_quals_and_spec
(
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
690
:
case
690
:
#line 31
19
"parse.y"
#line 31
21
"parse.y"
{
set_quals_and_spec
(
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
{
set_quals_and_spec
(
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
691
:
case
691
:
#line 312
1
"parse.y"
#line 312
3
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
692
:
case
692
:
#line 312
3
"parse.y"
#line 312
5
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
NULL_TREE
,
NULL_TREE
);
;
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
NULL_TREE
,
NULL_TREE
);
;
break
;}
break
;}
case
699
:
case
699
:
#line 314
6
"parse.y"
#line 314
8
"parse.y"
{
if
(
pedantic
)
{
if
(
pedantic
)
pedwarn
(
"ANSI C++ forbids label declarations"
);
;
pedwarn
(
"ANSI C++ forbids label declarations"
);
;
break
;}
break
;}
case
702
:
case
702
:
#line 315
7
"parse.y"
#line 315
9
"parse.y"
{
tree
link
;
{
tree
link
;
for
(
link
=
yyvsp
[
-
1
].
ttype
;
link
;
link
=
TREE_CHAIN
(
link
))
for
(
link
=
yyvsp
[
-
1
].
ttype
;
link
;
link
=
TREE_CHAIN
(
link
))
{
{
...
@@ -7150,181 +7152,181 @@ case 702:
...
@@ -7150,181 +7152,181 @@ case 702:
;
;
break
;}
break
;}
case
703
:
case
703
:
#line 317
1
"parse.y"
#line 317
3
"parse.y"
{;
{;
break
;}
break
;}
case
705
:
case
705
:
#line 317
7
"parse.y"
#line 317
9
"parse.y"
{
yyval
.
ttype
=
begin_compound_stmt
(
0
);
;
{
yyval
.
ttype
=
begin_compound_stmt
(
0
);
;
break
;}
break
;}
case
706
:
case
706
:
#line 31
79
"parse.y"
#line 31
81
"parse.y"
{
yyval
.
ttype
=
finish_compound_stmt
(
0
,
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
finish_compound_stmt
(
0
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
707
:
case
707
:
#line 318
4
"parse.y"
#line 318
6
"parse.y"
{
{
yyval
.
ttype
=
begin_if_stmt
();
yyval
.
ttype
=
begin_if_stmt
();
cond_stmt_keyword
=
"if"
;
cond_stmt_keyword
=
"if"
;
;
;
break
;}
break
;}
case
708
:
case
708
:
#line 31
89
"parse.y"
#line 31
91
"parse.y"
{
finish_if_stmt_cond
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
{
finish_if_stmt_cond
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
709
:
case
709
:
#line 319
1
"parse.y"
#line 319
3
"parse.y"
{
yyval
.
ttype
=
finish_then_clause
(
yyvsp
[
-
3
].
ttype
);
;
{
yyval
.
ttype
=
finish_then_clause
(
yyvsp
[
-
3
].
ttype
);
;
break
;}
break
;}
case
711
:
case
711
:
#line 319
6
"parse.y"
#line 319
8
"parse.y"
{
yyval
.
ttype
=
begin_compound_stmt
(
0
);
;
{
yyval
.
ttype
=
begin_compound_stmt
(
0
);
;
break
;}
break
;}
case
712
:
case
712
:
#line 3
198
"parse.y"
#line 3
200
"parse.y"
{
yyval
.
ttype
=
finish_compound_stmt
(
0
,
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
finish_compound_stmt
(
0
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
713
:
case
713
:
#line 320
3
"parse.y"
#line 320
5
"parse.y"
{;
{;
break
;}
break
;}
case
715
:
case
715
:
#line 32
09
"parse.y"
#line 32
11
"parse.y"
{
finish_stmt
();
;
{
finish_stmt
();
;
break
;}
break
;}
case
716
:
case
716
:
#line 321
1
"parse.y"
#line 321
3
"parse.y"
{
finish_expr_stmt
(
yyvsp
[
-
1
].
ttype
);
;
{
finish_expr_stmt
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
717
:
case
717
:
#line 321
3
"parse.y"
#line 321
5
"parse.y"
{
begin_else_clause
();
;
{
begin_else_clause
();
;
break
;}
break
;}
case
718
:
case
718
:
#line 321
5
"parse.y"
#line 321
7
"parse.y"
{
{
finish_else_clause
(
yyvsp
[
-
3
].
ttype
);
finish_else_clause
(
yyvsp
[
-
3
].
ttype
);
finish_if_stmt
();
finish_if_stmt
();
;
;
break
;}
break
;}
case
719
:
case
719
:
#line 322
0
"parse.y"
#line 322
2
"parse.y"
{
finish_if_stmt
();
;
{
finish_if_stmt
();
;
break
;}
break
;}
case
720
:
case
720
:
#line 322
2
"parse.y"
#line 322
4
"parse.y"
{
{
yyval
.
ttype
=
begin_while_stmt
();
yyval
.
ttype
=
begin_while_stmt
();
cond_stmt_keyword
=
"while"
;
cond_stmt_keyword
=
"while"
;
;
;
break
;}
break
;}
case
721
:
case
721
:
#line 322
7
"parse.y"
#line 322
9
"parse.y"
{
finish_while_stmt_cond
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
{
finish_while_stmt_cond
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
722
:
case
722
:
#line 32
29
"parse.y"
#line 32
31
"parse.y"
{
finish_while_stmt
(
yyvsp
[
-
3
].
ttype
);
;
{
finish_while_stmt
(
yyvsp
[
-
3
].
ttype
);
;
break
;}
break
;}
case
723
:
case
723
:
#line 323
1
"parse.y"
#line 323
3
"parse.y"
{
yyval
.
ttype
=
begin_do_stmt
();
;
{
yyval
.
ttype
=
begin_do_stmt
();
;
break
;}
break
;}
case
724
:
case
724
:
#line 323
3
"parse.y"
#line 323
5
"parse.y"
{
{
finish_do_body
(
yyvsp
[
-
2
].
ttype
);
finish_do_body
(
yyvsp
[
-
2
].
ttype
);
cond_stmt_keyword
=
"do"
;
cond_stmt_keyword
=
"do"
;
;
;
break
;}
break
;}
case
725
:
case
725
:
#line 32
38
"parse.y"
#line 32
40
"parse.y"
{
finish_do_stmt
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
5
].
ttype
);
;
{
finish_do_stmt
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
5
].
ttype
);
;
break
;}
break
;}
case
726
:
case
726
:
#line 324
0
"parse.y"
#line 324
2
"parse.y"
{
yyval
.
ttype
=
begin_for_stmt
();
;
{
yyval
.
ttype
=
begin_for_stmt
();
;
break
;}
break
;}
case
727
:
case
727
:
#line 324
2
"parse.y"
#line 324
4
"parse.y"
{
finish_for_init_stmt
(
yyvsp
[
-
2
].
ttype
);
;
{
finish_for_init_stmt
(
yyvsp
[
-
2
].
ttype
);
;
break
;}
break
;}
case
728
:
case
728
:
#line 324
4
"parse.y"
#line 324
6
"parse.y"
{
finish_for_cond
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
5
].
ttype
);
;
{
finish_for_cond
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
5
].
ttype
);
;
break
;}
break
;}
case
729
:
case
729
:
#line 324
6
"parse.y"
#line 324
8
"parse.y"
{
finish_for_expr
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
8
].
ttype
);
;
{
finish_for_expr
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
8
].
ttype
);
;
break
;}
break
;}
case
730
:
case
730
:
#line 32
48
"parse.y"
#line 32
50
"parse.y"
{
finish_for_stmt
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
10
].
ttype
);
;
{
finish_for_stmt
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
10
].
ttype
);
;
break
;}
break
;}
case
731
:
case
731
:
#line 325
0
"parse.y"
#line 325
2
"parse.y"
{
begin_switch_stmt
();
;
{
begin_switch_stmt
();
;
break
;}
break
;}
case
732
:
case
732
:
#line 325
2
"parse.y"
#line 325
4
"parse.y"
{
yyval
.
ttype
=
finish_switch_cond
(
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
finish_switch_cond
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
733
:
case
733
:
#line 325
4
"parse.y"
#line 325
6
"parse.y"
{
finish_switch_stmt
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
{
finish_switch_stmt
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
734
:
case
734
:
#line 325
6
"parse.y"
#line 325
8
"parse.y"
{
finish_case_label
(
yyvsp
[
-
1
].
ttype
,
NULL_TREE
);
;
{
finish_case_label
(
yyvsp
[
-
1
].
ttype
,
NULL_TREE
);
;
break
;}
break
;}
case
736
:
case
736
:
#line 32
59
"parse.y"
#line 32
61
"parse.y"
{
finish_case_label
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
{
finish_case_label
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
738
:
case
738
:
#line 326
2
"parse.y"
#line 326
4
"parse.y"
{
finish_case_label
(
NULL_TREE
,
NULL_TREE
);
;
{
finish_case_label
(
NULL_TREE
,
NULL_TREE
);
;
break
;}
break
;}
case
740
:
case
740
:
#line 326
5
"parse.y"
#line 326
7
"parse.y"
{
finish_break_stmt
();
;
{
finish_break_stmt
();
;
break
;}
break
;}
case
741
:
case
741
:
#line 326
7
"parse.y"
#line 326
9
"parse.y"
{
finish_continue_stmt
();
;
{
finish_continue_stmt
();
;
break
;}
break
;}
case
742
:
case
742
:
#line 32
69
"parse.y"
#line 32
71
"parse.y"
{
finish_return_stmt
(
NULL_TREE
);
;
{
finish_return_stmt
(
NULL_TREE
);
;
break
;}
break
;}
case
743
:
case
743
:
#line 327
1
"parse.y"
#line 327
3
"parse.y"
{
finish_return_stmt
(
yyvsp
[
-
1
].
ttype
);
;
{
finish_return_stmt
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
744
:
case
744
:
#line 327
3
"parse.y"
#line 327
5
"parse.y"
{
{
finish_asm_stmt
(
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
,
NULL_TREE
,
finish_asm_stmt
(
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
,
NULL_TREE
,
NULL_TREE
);
NULL_TREE
);
;
;
break
;}
break
;}
case
745
:
case
745
:
#line 32
79
"parse.y"
#line 32
81
"parse.y"
{
{
finish_asm_stmt
(
yyvsp
[
-
6
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
,
finish_asm_stmt
(
yyvsp
[
-
6
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
,
NULL_TREE
);
NULL_TREE
);
;
;
break
;}
break
;}
case
746
:
case
746
:
#line 328
5
"parse.y"
#line 328
7
"parse.y"
{
finish_asm_stmt
(
yyvsp
[
-
8
].
ttype
,
yyvsp
[
-
6
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
);
;
{
finish_asm_stmt
(
yyvsp
[
-
8
].
ttype
,
yyvsp
[
-
6
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
);
;
break
;}
break
;}
case
747
:
case
747
:
#line 32
89
"parse.y"
#line 32
91
"parse.y"
{
finish_asm_stmt
(
yyvsp
[
-
10
].
ttype
,
yyvsp
[
-
8
].
ttype
,
yyvsp
[
-
6
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
2
].
ttype
);
;
{
finish_asm_stmt
(
yyvsp
[
-
10
].
ttype
,
yyvsp
[
-
8
].
ttype
,
yyvsp
[
-
6
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
2
].
ttype
);
;
break
;}
break
;}
case
748
:
case
748
:
#line 329
1
"parse.y"
#line 329
3
"parse.y"
{
{
if
(
pedantic
)
if
(
pedantic
)
pedwarn
(
"ANSI C++ forbids computed gotos"
);
pedwarn
(
"ANSI C++ forbids computed gotos"
);
...
@@ -7332,29 +7334,29 @@ case 748:
...
@@ -7332,29 +7334,29 @@ case 748:
;
;
break
;}
break
;}
case
749
:
case
749
:
#line 329
7
"parse.y"
#line 329
9
"parse.y"
{
finish_goto_stmt
(
yyvsp
[
-
1
].
ttype
);
;
{
finish_goto_stmt
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
750
:
case
750
:
#line 3
299
"parse.y"
#line 3
301
"parse.y"
{
finish_stmt
();
;
{
finish_stmt
();
;
break
;}
break
;}
case
751
:
case
751
:
#line 330
1
"parse.y"
#line 330
3
"parse.y"
{
error
(
"label must be followed by statement"
);
{
error
(
"label must be followed by statement"
);
yyungetc
(
'}'
,
0
);
yyungetc
(
'}'
,
0
);
finish_stmt
();
;
finish_stmt
();
;
break
;}
break
;}
case
752
:
case
752
:
#line 330
5
"parse.y"
#line 330
7
"parse.y"
{
finish_stmt
();
;
{
finish_stmt
();
;
break
;}
break
;}
case
755
:
case
755
:
#line 33
09
"parse.y"
#line 33
11
"parse.y"
{
do_local_using_decl
(
yyvsp
[
0
].
ttype
);
;
{
do_local_using_decl
(
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
757
:
case
757
:
#line 331
5
"parse.y"
#line 331
7
"parse.y"
{
{
if
(
!
current_function_parms_stored
)
if
(
!
current_function_parms_stored
)
store_parm_decls
();
store_parm_decls
();
...
@@ -7362,13 +7364,13 @@ case 757:
...
@@ -7362,13 +7364,13 @@ case 757:
;
;
break
;}
break
;}
case
758
:
case
758
:
#line 332
1
"parse.y"
#line 332
3
"parse.y"
{
{
expand_start_all_catch
();
expand_start_all_catch
();
;
;
break
;}
break
;}
case
759
:
case
759
:
#line 332
5
"parse.y"
#line 332
7
"parse.y"
{
{
int
nested
=
(
hack_decl_function_context
int
nested
=
(
hack_decl_function_context
(
current_function_decl
)
!=
NULL_TREE
);
(
current_function_decl
)
!=
NULL_TREE
);
...
@@ -7377,41 +7379,41 @@ case 759:
...
@@ -7377,41 +7379,41 @@ case 759:
;
;
break
;}
break
;}
case
760
:
case
760
:
#line 333
5
"parse.y"
#line 333
7
"parse.y"
{
yyval
.
ttype
=
begin_try_block
();
;
{
yyval
.
ttype
=
begin_try_block
();
;
break
;}
break
;}
case
761
:
case
761
:
#line 333
7
"parse.y"
#line 333
9
"parse.y"
{
finish_try_block
(
yyvsp
[
-
1
].
ttype
);
;
{
finish_try_block
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
762
:
case
762
:
#line 33
39
"parse.y"
#line 33
41
"parse.y"
{
finish_handler_sequence
(
yyvsp
[
-
3
].
ttype
);
;
{
finish_handler_sequence
(
yyvsp
[
-
3
].
ttype
);
;
break
;}
break
;}
case
765
:
case
765
:
#line 33
49
"parse.y"
#line 33
51
"parse.y"
{
yyval
.
ttype
=
begin_handler
();
;
{
yyval
.
ttype
=
begin_handler
();
;
break
;}
break
;}
case
766
:
case
766
:
#line 335
1
"parse.y"
#line 335
3
"parse.y"
{
finish_handler_parms
(
yyvsp
[
-
1
].
ttype
);
;
{
finish_handler_parms
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
767
:
case
767
:
#line 335
3
"parse.y"
#line 335
5
"parse.y"
{
finish_handler
(
yyvsp
[
-
3
].
ttype
);
;
{
finish_handler
(
yyvsp
[
-
3
].
ttype
);
;
break
;}
break
;}
case
770
:
case
770
:
#line 336
3
"parse.y"
#line 336
5
"parse.y"
{
expand_start_catch_block
(
NULL_TREE
,
NULL_TREE
);
;
{
expand_start_catch_block
(
NULL_TREE
,
NULL_TREE
);
;
break
;}
break
;}
case
771
:
case
771
:
#line 33
79
"parse.y"
#line 33
81
"parse.y"
{
check_for_new_type
(
"inside exception declarations"
,
yyvsp
[
-
1
].
ftype
);
{
check_for_new_type
(
"inside exception declarations"
,
yyvsp
[
-
1
].
ftype
);
expand_start_catch_block
(
TREE_PURPOSE
(
yyvsp
[
-
1
].
ftype
.
t
),
expand_start_catch_block
(
TREE_PURPOSE
(
yyvsp
[
-
1
].
ftype
.
t
),
TREE_VALUE
(
yyvsp
[
-
1
].
ftype
.
t
));
;
TREE_VALUE
(
yyvsp
[
-
1
].
ftype
.
t
));
;
break
;}
break
;}
case
772
:
case
772
:
#line 338
6
"parse.y"
#line 338
8
"parse.y"
{
tree
label
;
{
tree
label
;
do_label
:
do_label
:
label
=
define_label
(
input_filename
,
lineno
,
yyvsp
[
-
1
].
ttype
);
label
=
define_label
(
input_filename
,
lineno
,
yyvsp
[
-
1
].
ttype
);
...
@@ -7420,98 +7422,98 @@ case 772:
...
@@ -7420,98 +7422,98 @@ case 772:
;
;
break
;}
break
;}
case
773
:
case
773
:
#line 339
3
"parse.y"
#line 339
5
"parse.y"
{
goto
do_label
;
;
{
goto
do_label
;
;
break
;}
break
;}
case
774
:
case
774
:
#line 339
5
"parse.y"
#line 339
7
"parse.y"
{
goto
do_label
;
;
{
goto
do_label
;
;
break
;}
break
;}
case
775
:
case
775
:
#line 339
7
"parse.y"
#line 339
9
"parse.y"
{
goto
do_label
;
;
{
goto
do_label
;
;
break
;}
break
;}
case
776
:
case
776
:
#line 340
2
"parse.y"
#line 340
4
"parse.y"
{
if
(
yyvsp
[
-
1
].
ttype
)
cplus_expand_expr_stmt
(
yyvsp
[
-
1
].
ttype
);
;
{
if
(
yyvsp
[
-
1
].
ttype
)
cplus_expand_expr_stmt
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
778
:
case
778
:
#line 340
5
"parse.y"
#line 340
7
"parse.y"
{
if
(
pedantic
)
{
if
(
pedantic
)
pedwarn
(
"ANSI C++ forbids compound statements inside for initializations"
);
pedwarn
(
"ANSI C++ forbids compound statements inside for initializations"
);
;
;
break
;}
break
;}
case
779
:
case
779
:
#line 341
4
"parse.y"
#line 341
6
"parse.y"
{
emit_line_note
(
input_filename
,
lineno
);
{
emit_line_note
(
input_filename
,
lineno
);
yyval
.
ttype
=
NULL_TREE
;
;
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
break
;}
case
780
:
case
780
:
#line 341
7
"parse.y"
#line 341
9
"parse.y"
{
emit_line_note
(
input_filename
,
lineno
);
;
{
emit_line_note
(
input_filename
,
lineno
);
;
break
;}
break
;}
case
781
:
case
781
:
#line 342
2
"parse.y"
#line 342
4
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
break
;}
case
783
:
case
783
:
#line 342
5
"parse.y"
#line 342
7
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
break
;}
case
784
:
case
784
:
#line 343
2
"parse.y"
#line 343
4
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
break
;}
case
787
:
case
787
:
#line 34
39
"parse.y"
#line 34
41
"parse.y"
{
yyval
.
ttype
=
chainon
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
chainon
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
788
:
case
788
:
#line 344
4
"parse.y"
#line 344
6
"parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
);
;
{
yyval
.
ttype
=
build_tree_list
(
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
break
;}
case
789
:
case
789
:
#line 34
49
"parse.y"
#line 34
51
"parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyval
.
ttype
,
NULL_TREE
);
;
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyval
.
ttype
,
NULL_TREE
);
;
break
;}
break
;}
case
790
:
case
790
:
#line 345
1
"parse.y"
#line 345
3
"parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyval
.
ttype
);
;
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyval
.
ttype
);
;
break
;}
break
;}
case
791
:
case
791
:
#line 346
2
"parse.y"
#line 346
4
"parse.y"
{
{
yyval
.
ttype
=
empty_parms
();
yyval
.
ttype
=
empty_parms
();
;
;
break
;}
break
;}
case
793
:
case
793
:
#line 346
7
"parse.y"
#line 346
9
"parse.y"
{
yyval
.
ttype
=
finish_parmlist
(
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ftype
.
t
),
0
);
{
yyval
.
ttype
=
finish_parmlist
(
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ftype
.
t
),
0
);
check_for_new_type
(
"inside parameter list"
,
yyvsp
[
0
].
ftype
);
;
check_for_new_type
(
"inside parameter list"
,
yyvsp
[
0
].
ftype
);
;
break
;}
break
;}
case
794
:
case
794
:
#line 347
5
"parse.y"
#line 347
7
"parse.y"
{
yyval
.
ttype
=
finish_parmlist
(
yyval
.
ttype
,
0
);
;
{
yyval
.
ttype
=
finish_parmlist
(
yyval
.
ttype
,
0
);
;
break
;}
break
;}
case
795
:
case
795
:
#line 347
7
"parse.y"
#line 347
9
"parse.y"
{
yyval
.
ttype
=
finish_parmlist
(
yyvsp
[
-
1
].
ttype
,
1
);
;
{
yyval
.
ttype
=
finish_parmlist
(
yyvsp
[
-
1
].
ttype
,
1
);
;
break
;}
break
;}
case
796
:
case
796
:
#line 348
0
"parse.y"
#line 348
2
"parse.y"
{
yyval
.
ttype
=
finish_parmlist
(
yyvsp
[
-
1
].
ttype
,
1
);
;
{
yyval
.
ttype
=
finish_parmlist
(
yyvsp
[
-
1
].
ttype
,
1
);
;
break
;}
break
;}
case
797
:
case
797
:
#line 348
2
"parse.y"
#line 348
4
"parse.y"
{
yyval
.
ttype
=
finish_parmlist
(
build_tree_list
(
NULL_TREE
,
{
yyval
.
ttype
=
finish_parmlist
(
build_tree_list
(
NULL_TREE
,
yyvsp
[
-
1
].
ftype
.
t
),
1
);
;
yyvsp
[
-
1
].
ftype
.
t
),
1
);
;
break
;}
break
;}
case
798
:
case
798
:
#line 348
5
"parse.y"
#line 348
7
"parse.y"
{
yyval
.
ttype
=
finish_parmlist
(
NULL_TREE
,
1
);
;
{
yyval
.
ttype
=
finish_parmlist
(
NULL_TREE
,
1
);
;
break
;}
break
;}
case
799
:
case
799
:
#line 348
7
"parse.y"
#line 348
9
"parse.y"
{
{
/* This helps us recover from really nasty
/* This helps us recover from really nasty
parse errors, for example, a missing right
parse errors, for example, a missing right
...
@@ -7523,7 +7525,7 @@ case 799:
...
@@ -7523,7 +7525,7 @@ case 799:
;
;
break
;}
break
;}
case
800
:
case
800
:
#line 349
7
"parse.y"
#line 349
9
"parse.y"
{
{
/* This helps us recover from really nasty
/* This helps us recover from really nasty
parse errors, for example, a missing right
parse errors, for example, a missing right
...
@@ -7536,98 +7538,98 @@ case 800:
...
@@ -7536,98 +7538,98 @@ case 800:
;
;
break
;}
break
;}
case
801
:
case
801
:
#line 351
2
"parse.y"
#line 351
4
"parse.y"
{
maybe_snarf_defarg
();
;
{
maybe_snarf_defarg
();
;
break
;}
break
;}
case
802
:
case
802
:
#line 351
4
"parse.y"
#line 351
6
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
break
;}
case
805
:
case
805
:
#line 352
5
"parse.y"
#line 352
7
"parse.y"
{
check_for_new_type
(
"in a parameter list"
,
yyvsp
[
0
].
ftype
);
{
check_for_new_type
(
"in a parameter list"
,
yyvsp
[
0
].
ftype
);
yyval
.
ttype
=
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ftype
.
t
);
;
yyval
.
ttype
=
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ftype
.
t
);
;
break
;}
break
;}
case
806
:
case
806
:
#line 35
28
"parse.y"
#line 35
30
"parse.y"
{
check_for_new_type
(
"in a parameter list"
,
yyvsp
[
-
1
].
ftype
);
{
check_for_new_type
(
"in a parameter list"
,
yyvsp
[
-
1
].
ftype
);
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ftype
.
t
);
;
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ftype
.
t
);
;
break
;}
break
;}
case
807
:
case
807
:
#line 353
1
"parse.y"
#line 353
3
"parse.y"
{
check_for_new_type
(
"in a parameter list"
,
yyvsp
[
0
].
ftype
);
{
check_for_new_type
(
"in a parameter list"
,
yyvsp
[
0
].
ftype
);
yyval
.
ttype
=
chainon
(
yyval
.
ttype
,
yyvsp
[
0
].
ftype
.
t
);
;
yyval
.
ttype
=
chainon
(
yyval
.
ttype
,
yyvsp
[
0
].
ftype
.
t
);
;
break
;}
break
;}
case
808
:
case
808
:
#line 353
4
"parse.y"
#line 353
6
"parse.y"
{
yyval
.
ttype
=
chainon
(
yyval
.
ttype
,
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
));
;
{
yyval
.
ttype
=
chainon
(
yyval
.
ttype
,
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
));
;
break
;}
break
;}
case
809
:
case
809
:
#line 353
6
"parse.y"
#line 353
8
"parse.y"
{
yyval
.
ttype
=
chainon
(
yyval
.
ttype
,
build_tree_list
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
2
].
ttype
));
;
{
yyval
.
ttype
=
chainon
(
yyval
.
ttype
,
build_tree_list
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
2
].
ttype
));
;
break
;}
break
;}
case
811
:
case
811
:
#line 354
2
"parse.y"
#line 354
4
"parse.y"
{
check_for_new_type
(
"in a parameter list"
,
yyvsp
[
-
1
].
ftype
);
{
check_for_new_type
(
"in a parameter list"
,
yyvsp
[
-
1
].
ftype
);
yyval
.
ttype
=
build_tree_list
(
NULL_TREE
,
yyvsp
[
-
1
].
ftype
.
t
);
;
yyval
.
ttype
=
build_tree_list
(
NULL_TREE
,
yyvsp
[
-
1
].
ftype
.
t
);
;
break
;}
break
;}
case
812
:
case
812
:
#line 355
2
"parse.y"
#line 355
4
"parse.y"
{
tree
specs
=
strip_attrs
(
yyvsp
[
-
1
].
ftype
.
t
);
{
tree
specs
=
strip_attrs
(
yyvsp
[
-
1
].
ftype
.
t
);
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
yyval
.
ftype
.
t
=
build_tree_list
(
specs
,
yyvsp
[
0
].
ttype
);
;
yyval
.
ftype
.
t
=
build_tree_list
(
specs
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
813
:
case
813
:
#line 355
6
"parse.y"
#line 355
8
"parse.y"
{
yyval
.
ftype
.
t
=
build_tree_list
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
{
yyval
.
ftype
.
t
=
build_tree_list
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
;
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
;
break
;}
break
;}
case
814
:
case
814
:
#line 35
59
"parse.y"
#line 35
61
"parse.y"
{
yyval
.
ftype
.
t
=
build_tree_list
(
get_decl_list
(
yyvsp
[
-
1
].
ftype
.
t
),
yyvsp
[
0
].
ttype
);
{
yyval
.
ftype
.
t
=
build_tree_list
(
get_decl_list
(
yyvsp
[
-
1
].
ftype
.
t
),
yyvsp
[
0
].
ttype
);
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
;
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
;
break
;}
break
;}
case
815
:
case
815
:
#line 356
2
"parse.y"
#line 356
4
"parse.y"
{
tree
specs
=
strip_attrs
(
yyvsp
[
-
1
].
ftype
.
t
);
{
tree
specs
=
strip_attrs
(
yyvsp
[
-
1
].
ftype
.
t
);
yyval
.
ftype
.
t
=
build_tree_list
(
specs
,
yyvsp
[
0
].
ttype
);
yyval
.
ftype
.
t
=
build_tree_list
(
specs
,
yyvsp
[
0
].
ttype
);
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
;
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
;
break
;}
break
;}
case
816
:
case
816
:
#line 356
6
"parse.y"
#line 356
8
"parse.y"
{
tree
specs
=
strip_attrs
(
yyvsp
[
0
].
ftype
.
t
);
{
tree
specs
=
strip_attrs
(
yyvsp
[
0
].
ftype
.
t
);
yyval
.
ftype
.
t
=
build_tree_list
(
specs
,
NULL_TREE
);
yyval
.
ftype
.
t
=
build_tree_list
(
specs
,
NULL_TREE
);
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
0
].
ftype
.
new_type_flag
;
;
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
0
].
ftype
.
new_type_flag
;
;
break
;}
break
;}
case
817
:
case
817
:
#line 357
0
"parse.y"
#line 357
2
"parse.y"
{
tree
specs
=
strip_attrs
(
yyvsp
[
-
1
].
ttype
);
{
tree
specs
=
strip_attrs
(
yyvsp
[
-
1
].
ttype
);
yyval
.
ftype
.
t
=
build_tree_list
(
specs
,
yyvsp
[
0
].
ttype
);
yyval
.
ftype
.
t
=
build_tree_list
(
specs
,
yyvsp
[
0
].
ttype
);
yyval
.
ftype
.
new_type_flag
=
0
;
;
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
break
;}
case
818
:
case
818
:
#line 357
7
"parse.y"
#line 357
9
"parse.y"
{
yyval
.
ftype
.
t
=
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ftype
.
t
);
{
yyval
.
ftype
.
t
=
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ftype
.
t
);
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
0
].
ftype
.
new_type_flag
;
;
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
0
].
ftype
.
new_type_flag
;
;
break
;}
break
;}
case
819
:
case
819
:
#line 358
0
"parse.y"
#line 358
2
"parse.y"
{
yyval
.
ftype
.
t
=
build_tree_list
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ftype
.
t
);
{
yyval
.
ftype
.
t
=
build_tree_list
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ftype
.
t
);
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
;
yyval
.
ftype
.
new_type_flag
=
yyvsp
[
-
1
].
ftype
.
new_type_flag
;
;
break
;}
break
;}
case
822
:
case
822
:
#line 359
1
"parse.y"
#line 359
3
"parse.y"
{
see_typename
();
;
{
see_typename
();
;
break
;}
break
;}
case
823
:
case
823
:
#line 359
6
"parse.y"
#line 359
8
"parse.y"
{
{
error
(
"type specifier omitted for parameter"
);
error
(
"type specifier omitted for parameter"
);
yyval
.
ttype
=
build_tree_list
(
integer_type_node
,
NULL_TREE
);
yyval
.
ttype
=
build_tree_list
(
integer_type_node
,
NULL_TREE
);
;
;
break
;}
break
;}
case
824
:
case
824
:
#line 360
1
"parse.y"
#line 360
3
"parse.y"
{
{
error
(
"type specifier omitted for parameter"
);
error
(
"type specifier omitted for parameter"
);
if
(
TREE_CODE
(
yyval
.
ttype
)
==
SCOPE_REF
if
(
TREE_CODE
(
yyval
.
ttype
)
==
SCOPE_REF
...
@@ -7638,188 +7640,188 @@ case 824:
...
@@ -7638,188 +7640,188 @@ case 824:
;
;
break
;}
break
;}
case
825
:
case
825
:
#line 361
3
"parse.y"
#line 361
5
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
break
;}
case
826
:
case
826
:
#line 361
5
"parse.y"
#line 361
7
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
break
;}
case
827
:
case
827
:
#line 361
7
"parse.y"
#line 361
9
"parse.y"
{
yyval
.
ttype
=
build_decl_list
(
NULL_TREE
,
NULL_TREE
);
;
{
yyval
.
ttype
=
build_decl_list
(
NULL_TREE
,
NULL_TREE
);
;
break
;}
break
;}
case
828
:
case
828
:
#line 362
2
"parse.y"
#line 362
4
"parse.y"
{
yyval
.
ttype
=
build_decl_list
(
NULL_TREE
,
groktypename
(
yyvsp
[
0
].
ftype
.
t
));
;
{
yyval
.
ttype
=
build_decl_list
(
NULL_TREE
,
groktypename
(
yyvsp
[
0
].
ftype
.
t
));
;
break
;}
break
;}
case
830
:
case
830
:
#line 36
28
"parse.y"
#line 36
30
"parse.y"
{
{
TREE_CHAIN
(
yyvsp
[
0
].
ttype
)
=
yyval
.
ttype
;
TREE_CHAIN
(
yyvsp
[
0
].
ttype
)
=
yyval
.
ttype
;
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
;
break
;}
break
;}
case
831
:
case
831
:
#line 363
6
"parse.y"
#line 363
8
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
break
;}
case
832
:
case
832
:
#line 36
38
"parse.y"
#line 36
40
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
833
:
case
833
:
#line 364
0
"parse.y"
#line 364
2
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
834
:
case
834
:
#line 364
2
"parse.y"
#line 364
4
"parse.y"
{
tree
arg
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
{
tree
arg
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
2
].
ttype
,
arg
);
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
2
].
ttype
,
arg
);
;
;
break
;}
break
;}
case
835
:
case
835
:
#line 36
49
"parse.y"
#line 36
51
"parse.y"
{
got_scope
=
NULL_TREE
;
;
{
got_scope
=
NULL_TREE
;
;
break
;}
break
;}
case
836
:
case
836
:
#line 365
4
"parse.y"
#line 365
6
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
MULT_EXPR
];
;
{
yyval
.
ttype
=
ansi_opname
[
MULT_EXPR
];
;
break
;}
break
;}
case
837
:
case
837
:
#line 365
6
"parse.y"
#line 365
8
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
TRUNC_DIV_EXPR
];
;
{
yyval
.
ttype
=
ansi_opname
[
TRUNC_DIV_EXPR
];
;
break
;}
break
;}
case
838
:
case
838
:
#line 36
58
"parse.y"
#line 36
60
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
TRUNC_MOD_EXPR
];
;
{
yyval
.
ttype
=
ansi_opname
[
TRUNC_MOD_EXPR
];
;
break
;}
break
;}
case
839
:
case
839
:
#line 366
0
"parse.y"
#line 366
2
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
PLUS_EXPR
];
;
{
yyval
.
ttype
=
ansi_opname
[
PLUS_EXPR
];
;
break
;}
break
;}
case
840
:
case
840
:
#line 366
2
"parse.y"
#line 366
4
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
MINUS_EXPR
];
;
{
yyval
.
ttype
=
ansi_opname
[
MINUS_EXPR
];
;
break
;}
break
;}
case
841
:
case
841
:
#line 366
4
"parse.y"
#line 366
6
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
BIT_AND_EXPR
];
;
{
yyval
.
ttype
=
ansi_opname
[
BIT_AND_EXPR
];
;
break
;}
break
;}
case
842
:
case
842
:
#line 366
6
"parse.y"
#line 366
8
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
BIT_IOR_EXPR
];
;
{
yyval
.
ttype
=
ansi_opname
[
BIT_IOR_EXPR
];
;
break
;}
break
;}
case
843
:
case
843
:
#line 36
68
"parse.y"
#line 36
70
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
BIT_XOR_EXPR
];
;
{
yyval
.
ttype
=
ansi_opname
[
BIT_XOR_EXPR
];
;
break
;}
break
;}
case
844
:
case
844
:
#line 367
0
"parse.y"
#line 367
2
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
BIT_NOT_EXPR
];
;
{
yyval
.
ttype
=
ansi_opname
[
BIT_NOT_EXPR
];
;
break
;}
break
;}
case
845
:
case
845
:
#line 367
2
"parse.y"
#line 367
4
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
COMPOUND_EXPR
];
;
{
yyval
.
ttype
=
ansi_opname
[
COMPOUND_EXPR
];
;
break
;}
break
;}
case
846
:
case
846
:
#line 367
4
"parse.y"
#line 367
6
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
yyvsp
[
0
].
code
];
;
{
yyval
.
ttype
=
ansi_opname
[
yyvsp
[
0
].
code
];
;
break
;}
break
;}
case
847
:
case
847
:
#line 367
6
"parse.y"
#line 367
8
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
LT_EXPR
];
;
{
yyval
.
ttype
=
ansi_opname
[
LT_EXPR
];
;
break
;}
break
;}
case
848
:
case
848
:
#line 36
78
"parse.y"
#line 36
80
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
GT_EXPR
];
;
{
yyval
.
ttype
=
ansi_opname
[
GT_EXPR
];
;
break
;}
break
;}
case
849
:
case
849
:
#line 368
0
"parse.y"
#line 368
2
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
yyvsp
[
0
].
code
];
;
{
yyval
.
ttype
=
ansi_opname
[
yyvsp
[
0
].
code
];
;
break
;}
break
;}
case
850
:
case
850
:
#line 368
2
"parse.y"
#line 368
4
"parse.y"
{
yyval
.
ttype
=
ansi_assopname
[
yyvsp
[
0
].
code
];
;
{
yyval
.
ttype
=
ansi_assopname
[
yyvsp
[
0
].
code
];
;
break
;}
break
;}
case
851
:
case
851
:
#line 368
4
"parse.y"
#line 368
6
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
MODIFY_EXPR
];
;
{
yyval
.
ttype
=
ansi_opname
[
MODIFY_EXPR
];
;
break
;}
break
;}
case
852
:
case
852
:
#line 368
6
"parse.y"
#line 368
8
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
yyvsp
[
0
].
code
];
;
{
yyval
.
ttype
=
ansi_opname
[
yyvsp
[
0
].
code
];
;
break
;}
break
;}
case
853
:
case
853
:
#line 36
88
"parse.y"
#line 36
90
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
yyvsp
[
0
].
code
];
;
{
yyval
.
ttype
=
ansi_opname
[
yyvsp
[
0
].
code
];
;
break
;}
break
;}
case
854
:
case
854
:
#line 369
0
"parse.y"
#line 369
2
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
POSTINCREMENT_EXPR
];
;
{
yyval
.
ttype
=
ansi_opname
[
POSTINCREMENT_EXPR
];
;
break
;}
break
;}
case
855
:
case
855
:
#line 369
2
"parse.y"
#line 369
4
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
PREDECREMENT_EXPR
];
;
{
yyval
.
ttype
=
ansi_opname
[
PREDECREMENT_EXPR
];
;
break
;}
break
;}
case
856
:
case
856
:
#line 369
4
"parse.y"
#line 369
6
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
TRUTH_ANDIF_EXPR
];
;
{
yyval
.
ttype
=
ansi_opname
[
TRUTH_ANDIF_EXPR
];
;
break
;}
break
;}
case
857
:
case
857
:
#line 369
6
"parse.y"
#line 369
8
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
TRUTH_ORIF_EXPR
];
;
{
yyval
.
ttype
=
ansi_opname
[
TRUTH_ORIF_EXPR
];
;
break
;}
break
;}
case
858
:
case
858
:
#line 3
698
"parse.y"
#line 3
700
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
TRUTH_NOT_EXPR
];
;
{
yyval
.
ttype
=
ansi_opname
[
TRUTH_NOT_EXPR
];
;
break
;}
break
;}
case
859
:
case
859
:
#line 370
0
"parse.y"
#line 370
2
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
COND_EXPR
];
;
{
yyval
.
ttype
=
ansi_opname
[
COND_EXPR
];
;
break
;}
break
;}
case
860
:
case
860
:
#line 370
2
"parse.y"
#line 370
4
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
yyvsp
[
0
].
code
];
;
{
yyval
.
ttype
=
ansi_opname
[
yyvsp
[
0
].
code
];
;
break
;}
break
;}
case
861
:
case
861
:
#line 370
4
"parse.y"
#line 370
6
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
COMPONENT_REF
];
;
{
yyval
.
ttype
=
ansi_opname
[
COMPONENT_REF
];
;
break
;}
break
;}
case
862
:
case
862
:
#line 370
6
"parse.y"
#line 370
8
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
MEMBER_REF
];
;
{
yyval
.
ttype
=
ansi_opname
[
MEMBER_REF
];
;
break
;}
break
;}
case
863
:
case
863
:
#line 37
08
"parse.y"
#line 37
10
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
CALL_EXPR
];
;
{
yyval
.
ttype
=
ansi_opname
[
CALL_EXPR
];
;
break
;}
break
;}
case
864
:
case
864
:
#line 371
0
"parse.y"
#line 371
2
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
ARRAY_REF
];
;
{
yyval
.
ttype
=
ansi_opname
[
ARRAY_REF
];
;
break
;}
break
;}
case
865
:
case
865
:
#line 371
2
"parse.y"
#line 371
4
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
NEW_EXPR
];
;
{
yyval
.
ttype
=
ansi_opname
[
NEW_EXPR
];
;
break
;}
break
;}
case
866
:
case
866
:
#line 371
4
"parse.y"
#line 371
6
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
DELETE_EXPR
];
;
{
yyval
.
ttype
=
ansi_opname
[
DELETE_EXPR
];
;
break
;}
break
;}
case
867
:
case
867
:
#line 371
6
"parse.y"
#line 371
8
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
VEC_NEW_EXPR
];
;
{
yyval
.
ttype
=
ansi_opname
[
VEC_NEW_EXPR
];
;
break
;}
break
;}
case
868
:
case
868
:
#line 37
18
"parse.y"
#line 37
20
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
VEC_DELETE_EXPR
];
;
{
yyval
.
ttype
=
ansi_opname
[
VEC_DELETE_EXPR
];
;
break
;}
break
;}
case
869
:
case
869
:
#line 372
1
"parse.y"
#line 372
3
"parse.y"
{
yyval
.
ttype
=
grokoptypename
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
{
yyval
.
ttype
=
grokoptypename
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
break
;}
case
870
:
case
870
:
#line 372
3
"parse.y"
#line 372
5
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
ERROR_MARK
];
;
{
yyval
.
ttype
=
ansi_opname
[
ERROR_MARK
];
;
break
;}
break
;}
}
}
...
@@ -8020,7 +8022,7 @@ yyerrhandle:
...
@@ -8020,7 +8022,7 @@ yyerrhandle:
yystate
=
yyn
;
yystate
=
yyn
;
goto
yynewstate
;
goto
yynewstate
;
}
}
#line 372
6
"parse.y"
#line 372
8
"parse.y"
#ifdef SPEW_DEBUG
#ifdef SPEW_DEBUG
...
...
gcc/cp/parse.y
View file @
dc469f59
...
@@ -1356,6 +1356,8 @@ primary:
...
@@ -1356,6 +1356,8 @@ primary:
if (processing_template_decl)
if (processing_template_decl)
push_obstacks (&permanent_obstack, &permanent_obstack);
push_obstacks (&permanent_obstack, &permanent_obstack);
$$ = combine_strings ($$);
$$ = combine_strings ($$);
/* combine_strings doesn't set up TYPE_MAIN_VARIANT of
a const array the way we want, so fix it. */
if (flag_const_strings)
if (flag_const_strings)
TREE_TYPE ($$) = build_cplus_array_type
TREE_TYPE ($$) = build_cplus_array_type
(TREE_TYPE (TREE_TYPE ($$)),
(TREE_TYPE (TREE_TYPE ($$)),
...
...
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