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