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
479aecf1
Commit
479aecf1
authored
Aug 24, 1998
by
Jason Merrill
Committed by
Jason Merrill
Aug 24, 1998
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* parse.y (primary): Fix up the type of string constants.
From-SVN: r21939
parent
9700b81f
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
548 additions
and
536 deletions
+548
-536
gcc/cp/ChangeLog
+4
-0
gcc/cp/parse.c
+540
-536
gcc/cp/parse.y
+4
-0
No files found.
gcc/cp/ChangeLog
View file @
479aecf1
1998-08-24 Jason Merrill <jason@yorick.cygnus.com>
* parse.y (primary): Fix up the type of string constants.
1998-08-24 Mark Mitchell <mark@markmitchell.com>
* typeck.c (convert_for_initialization): Move check for odd uses
...
...
gcc/cp/parse.c
View file @
479aecf1
...
...
@@ -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
2
,
1364
,
1367
,
1369
,
1379
,
1384
,
13
86
,
1388
,
1390
,
1392
,
1394
,
1396
,
1399
,
1401
,
1445
,
1446
,
145
0
,
1454
,
1458
,
1462
,
1464
,
1468
,
1470
,
1472
,
1480
,
1482
,
148
4
,
1486
,
1490
,
1492
,
1494
,
1496
,
1501
,
1503
,
1505
,
1507
,
151
0
,
1512
,
1514
,
1558
,
1561
,
1565
,
1568
,
1572
,
1575
,
1580
,
158
2
,
1586
,
1599
,
1602
,
1609
,
1616
,
1621
,
1623
,
1628
,
1630
,
16
37
,
1639
,
1643
,
1647
,
1653
,
1657
,
1660
,
1663
,
1666
,
1676
,
16
78
,
1681
,
1685
,
1688
,
1691
,
1694
,
1697
,
1703
,
1709
,
1711
,
17
16
,
1718
,
1727
,
1730
,
1732
,
1735
,
1741
,
1743
,
1753
,
1757
,
176
0
,
1763
,
1768
,
1771
,
1779
,
1781
,
1783
,
1785
,
1788
,
1791
,
18
06
,
1825
,
1828
,
1830
,
1833
,
1835
,
1838
,
1840
,
1843
,
1845
,
18
48
,
1851
,
1855
,
1861
,
1862
,
1874
,
1881
,
1884
,
1890
,
1894
,
1
899
,
1905
,
1906
,
1914
,
1917
,
1921
,
1924
,
1928
,
1933
,
1936
,
194
0
,
1943
,
1945
,
1947
,
1949
,
1956
,
1958
,
1959
,
1960
,
1964
,
19
67
,
1971
,
1974
,
1980
,
1982
,
1985
,
1988
,
1991
,
1997
,
2000
,
200
3
,
2005
,
2007
,
2011
,
2017
,
2025
,
2027
,
2031
,
2033
,
2038
,
204
1
,
2044
,
2046
,
2048
,
2052
,
2056
,
2061
,
2065
,
2068
,
2073
,
20
77
,
2080
,
2083
,
2087
,
2099
,
2101
,
2104
,
2124
,
2126
,
2129
,
213
1
,
2136
,
2138
,
2140
,
2142
,
2144
,
2146
,
2150
,
2155
,
2158
,
216
0
,
2164
,
2170
,
2175
,
2180
,
2182
,
2186
,
2191
,
2194
,
2201
,
22
18
,
2224
,
2226
,
2229
,
2232
,
2234
,
2238
,
2240
,
2244
,
2277
,
231
3
,
2316
,
2317
,
2338
,
2361
,
2363
,
2367
,
2378
,
2392
,
2397
,
240
4
,
2407
,
2415
,
2426
,
2435
,
2439
,
2454
,
2457
,
2462
,
2464
,
24
66
,
2468
,
2470
,
2472
,
2475
,
2477
,
2481
,
2487
,
2489
,
2492
,
249
5
,
2497
,
2508
,
2513
,
2516
,
2521
,
2524
,
2525
,
2536
,
2539
,
254
0
,
2551
,
2553
,
2556
,
2558
,
2561
,
2568
,
2576
,
2583
,
2589
,
259
5
,
2603
,
2607
,
2612
,
2616
,
2619
,
2628
,
2630
,
2634
,
2637
,
264
2
,
2646
,
2652
,
2663
,
2666
,
2670
,
2674
,
2682
,
2687
,
2693
,
2
696
,
2698
,
2700
,
2706
,
2709
,
2711
,
2713
,
2715
,
2719
,
2722
,
274
0
,
2750
,
2752
,
2753
,
2757
,
2762
,
2765
,
2767
,
2769
,
2771
,
277
5
,
2781
,
2784
,
2786
,
2788
,
2790
,
2794
,
2797
,
2800
,
2802
,
280
4
,
2806
,
2810
,
2813
,
2816
,
2818
,
2820
,
2822
,
2824
,
2831
,
283
5
,
2840
,
2844
,
2849
,
2851
,
2855
,
2858
,
2860
,
2864
,
2866
,
28
67
,
2870
,
2872
,
2874
,
2880
,
2895
,
2901
,
2907
,
2921
,
2923
,
29
27
,
2941
,
2943
,
2945
,
2949
,
2955
,
2968
,
2970
,
2974
,
2987
,
299
3
,
2995
,
2996
,
2997
,
3005
,
3010
,
3019
,
3020
,
3024
,
3027
,
303
3
,
3039
,
3042
,
3044
,
3046
,
3048
,
3052
,
3056
,
3060
,
3063
,
30
68
,
3071
,
3073
,
3075
,
3077
,
3079
,
3081
,
3083
,
3085
,
3089
,
309
3
,
3097
,
3101
,
3102
,
3104
,
3106
,
3108
,
3110
,
3112
,
3114
,
31
16
,
3118
,
3126
,
3128
,
3129
,
3130
,
3133
,
3139
,
3141
,
3146
,
31
48
,
3151
,
3165
,
3168
,
3171
,
3175
,
3178
,
3185
,
3187
,
3190
,
319
2
,
3194
,
3197
,
3200
,
3203
,
3206
,
3208
,
3211
,
3215
,
3217
,
322
3
,
3225
,
3226
,
3228
,
3233
,
3235
,
3237
,
3239
,
3241
,
3244
,
324
5
,
3247
,
3250
,
3251
,
3254
,
3254
,
3257
,
3257
,
3260
,
3260
,
326
2
,
3264
,
3266
,
3268
,
3274
,
3280
,
3283
,
3286
,
3292
,
3294
,
3
296
,
3300
,
3302
,
3303
,
3304
,
3306
,
3309
,
3316
,
3321
,
3329
,
333
3
,
3335
,
3338
,
3340
,
3343
,
3347
,
3349
,
3352
,
3354
,
3357
,
337
4
,
3380
,
3388
,
3390
,
3392
,
3396
,
3399
,
3400
,
3408
,
3412
,
34
16
,
3419
,
3420
,
3426
,
3429
,
3432
,
3434
,
3438
,
3443
,
3446
,
34
56
,
3461
,
3462
,
3469
,
3472
,
3475
,
3477
,
3480
,
3482
,
3492
,
35
06
,
3510
,
3513
,
3515
,
3519
,
3523
,
3526
,
3529
,
3531
,
3535
,
35
37
,
3544
,
3551
,
3554
,
3557
,
3561
,
3565
,
3571
,
3575
,
3580
,
358
2
,
3585
,
3590
,
3596
,
3607
,
3610
,
3612
,
3616
,
3621
,
3623
,
363
0
,
3633
,
3635
,
3637
,
3643
,
3648
,
3651
,
3653
,
3655
,
3657
,
36
59
,
3661
,
3663
,
3665
,
3667
,
3669
,
3671
,
3673
,
3675
,
3677
,
36
79
,
3681
,
3683
,
3685
,
3687
,
3689
,
3691
,
3693
,
3695
,
3697
,
3
699
,
3701
,
3703
,
3705
,
3707
,
3709
,
3711
,
3713
,
3716
,
3718
1344
,
1352
,
1353
,
1354
,
136
6
,
1368
,
1371
,
1373
,
1383
,
1388
,
13
90
,
1392
,
1394
,
1396
,
1398
,
1400
,
1403
,
1405
,
1449
,
1450
,
145
4
,
1458
,
1462
,
1466
,
1468
,
1472
,
1474
,
1476
,
1484
,
1486
,
148
8
,
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
,
16
41
,
1643
,
1647
,
1651
,
1657
,
1661
,
1664
,
1667
,
1670
,
1680
,
16
82
,
1685
,
1689
,
1692
,
1695
,
1698
,
1701
,
1707
,
1713
,
1715
,
17
20
,
1722
,
1731
,
1734
,
1736
,
1739
,
1745
,
1747
,
1757
,
1761
,
176
4
,
1767
,
1772
,
1775
,
1783
,
1785
,
1787
,
1789
,
1792
,
1795
,
18
10
,
1829
,
1832
,
1834
,
1837
,
1839
,
1842
,
1844
,
1847
,
1849
,
18
52
,
1855
,
1859
,
1865
,
1866
,
1878
,
1885
,
1888
,
1894
,
1898
,
1
903
,
1909
,
1910
,
1918
,
1921
,
1925
,
1928
,
1932
,
1937
,
1940
,
194
4
,
1947
,
1949
,
1951
,
1953
,
1960
,
1962
,
1963
,
1964
,
1968
,
19
71
,
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
,
20
81
,
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
,
22
22
,
2228
,
2230
,
2233
,
2236
,
2238
,
2242
,
2244
,
2248
,
2281
,
231
7
,
2320
,
2321
,
2342
,
2365
,
2367
,
2371
,
2382
,
2396
,
2401
,
240
8
,
2411
,
2419
,
2430
,
2439
,
2443
,
2458
,
2461
,
2466
,
2468
,
24
70
,
2472
,
2474
,
2476
,
2479
,
2481
,
2485
,
2491
,
2493
,
2496
,
249
9
,
2501
,
2512
,
2517
,
2520
,
2525
,
2528
,
2529
,
2540
,
2543
,
254
4
,
2555
,
2557
,
2560
,
2562
,
2565
,
2572
,
2580
,
2587
,
2593
,
259
9
,
2607
,
2611
,
2616
,
2620
,
2623
,
2632
,
2634
,
2638
,
2641
,
264
6
,
2650
,
2656
,
2667
,
2670
,
2674
,
2678
,
2686
,
2691
,
2697
,
2
700
,
2702
,
2704
,
2710
,
2713
,
2715
,
2717
,
2719
,
2723
,
2726
,
274
4
,
2754
,
2756
,
2757
,
2761
,
2766
,
2769
,
2771
,
2773
,
2775
,
277
9
,
2785
,
2788
,
2790
,
2792
,
2794
,
2798
,
2801
,
2804
,
2806
,
280
8
,
2810
,
2814
,
2817
,
2820
,
2822
,
2824
,
2826
,
2828
,
2835
,
283
9
,
2844
,
2848
,
2853
,
2855
,
2859
,
2862
,
2864
,
2868
,
2870
,
28
71
,
2874
,
2876
,
2878
,
2884
,
2899
,
2905
,
2911
,
2925
,
2927
,
29
31
,
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
,
30
72
,
3075
,
3077
,
3079
,
3081
,
3083
,
3085
,
3087
,
3089
,
3093
,
309
7
,
3101
,
3105
,
3106
,
3108
,
3110
,
3112
,
3114
,
3116
,
3118
,
31
20
,
3122
,
3130
,
3132
,
3133
,
3134
,
3137
,
3143
,
3145
,
3150
,
31
52
,
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
,
324
9
,
3251
,
3254
,
3255
,
3258
,
3258
,
3261
,
3261
,
3264
,
3264
,
326
6
,
3268
,
3270
,
3272
,
3278
,
3284
,
3287
,
3290
,
3296
,
3298
,
3
300
,
3304
,
3306
,
3307
,
3308
,
3310
,
3313
,
3320
,
3325
,
3333
,
333
7
,
3339
,
3342
,
3344
,
3347
,
3351
,
3353
,
3356
,
3358
,
3361
,
337
8
,
3384
,
3392
,
3394
,
3396
,
3400
,
3403
,
3404
,
3412
,
3416
,
34
20
,
3423
,
3424
,
3430
,
3433
,
3436
,
3438
,
3442
,
3447
,
3450
,
34
60
,
3465
,
3466
,
3473
,
3476
,
3479
,
3481
,
3484
,
3486
,
3496
,
35
10
,
3514
,
3517
,
3519
,
3523
,
3527
,
3530
,
3533
,
3535
,
3539
,
35
41
,
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
,
36
63
,
3665
,
3667
,
3669
,
3671
,
3673
,
3675
,
3677
,
3679
,
3681
,
36
83
,
3685
,
3687
,
3689
,
3691
,
3693
,
3695
,
3697
,
3699
,
3701
,
3
703
,
3705
,
3707
,
3709
,
3711
,
3713
,
3715
,
3717
,
3720
,
3722
};
#endif
...
...
@@ -5227,25 +5227,29 @@ case 304:
if
(
processing_template_decl
)
push_obstacks
(
&
permanent_obstack
,
&
permanent_obstack
);
yyval
.
ttype
=
combine_strings
(
yyval
.
ttype
);
if
(
flag_const_strings
)
TREE_TYPE
(
yyval
.
ttype
)
=
build_cplus_array_type
(
TREE_TYPE
(
TREE_TYPE
(
yyval
.
ttype
)),
TYPE_DOMAIN
(
TREE_TYPE
(
yyval
.
ttype
)));
if
(
processing_template_decl
)
pop_obstacks
();
;
break
;}
case
305
:
#line 136
3
"parse.y"
#line 136
7
"parse.y"
{
yyval
.
ttype
=
finish_parenthesized_expr
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
306
:
#line 136
5
"parse.y"
#line 136
9
"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 13
68
"parse.y"
#line 13
72
"parse.y"
{
yyval
.
ttype
=
error_mark_node
;
;
break
;}
case
308
:
#line 137
0
"parse.y"
#line 137
4
"parse.y"
{
if
(
current_function_decl
==
0
)
{
error
(
"braced-group within expression allowed only inside a function"
);
...
...
@@ -5257,43 +5261,43 @@ case 308:
;
break
;}
case
309
:
#line 138
0
"parse.y"
#line 138
4
"parse.y"
{
yyval
.
ttype
=
finish_stmt_expr
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
310
:
#line 138
5
"parse.y"
#line 138
9
"parse.y"
{
yyval
.
ttype
=
finish_call_expr
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
1
);
;
break
;}
case
311
:
#line 13
87
"parse.y"
#line 13
91
"parse.y"
{
yyval
.
ttype
=
finish_call_expr
(
yyvsp
[
-
1
].
ttype
,
NULL_TREE
,
1
);
;
break
;}
case
312
:
#line 13
89
"parse.y"
#line 13
93
"parse.y"
{
yyval
.
ttype
=
finish_call_expr
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
0
);
;
break
;}
case
313
:
#line 139
1
"parse.y"
#line 139
5
"parse.y"
{
yyval
.
ttype
=
finish_call_expr
(
yyvsp
[
-
1
].
ttype
,
NULL_TREE
,
0
);
;
break
;}
case
314
:
#line 139
3
"parse.y"
#line 139
7
"parse.y"
{
yyval
.
ttype
=
grok_array_decl
(
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
315
:
#line 139
5
"parse.y"
#line 139
9
"parse.y"
{
yyval
.
ttype
=
finish_increment_expr
(
yyvsp
[
-
1
].
ttype
,
POSTINCREMENT_EXPR
);
;
break
;}
case
316
:
#line 1
397
"parse.y"
#line 1
401
"parse.y"
{
yyval
.
ttype
=
finish_increment_expr
(
yyvsp
[
-
1
].
ttype
,
POSTDECREMENT_EXPR
);
;
break
;}
case
317
:
#line 140
0
"parse.y"
#line 140
4
"parse.y"
{
yyval
.
ttype
=
finish_this_expr
();
;
break
;}
case
318
:
#line 140
2
"parse.y"
#line 140
6
"parse.y"
{
tree
type
=
NULL_TREE
;
tree
id
=
yyval
.
ttype
;
...
...
@@ -5339,49 +5343,49 @@ case 318:
;
break
;}
case
320
:
#line 14
47
"parse.y"
#line 14
51
"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
1
"parse.y"
#line 145
5
"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 145
5
"parse.y"
#line 145
9
"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 14
59
"parse.y"
#line 14
63
"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
3
"parse.y"
#line 146
7
"parse.y"
{
yyval
.
ttype
=
build_x_typeid
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
325
:
#line 146
5
"parse.y"
#line 146
9
"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 14
69
"parse.y"
#line 14
73
"parse.y"
{
yyval
.
ttype
=
do_scoped_id
(
yyvsp
[
0
].
ttype
,
1
);
;
break
;}
case
327
:
#line 147
1
"parse.y"
#line 147
5
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
328
:
#line 147
3
"parse.y"
#line 147
7
"parse.y"
{
got_scope
=
NULL_TREE
;
if
(
TREE_CODE
(
yyvsp
[
0
].
ttype
)
==
IDENTIFIER_NODE
)
...
...
@@ -5391,102 +5395,102 @@ case 328:
;
break
;}
case
329
:
#line 148
1
"parse.y"
#line 148
5
"parse.y"
{
yyval
.
ttype
=
build_offset_ref
(
OP0
(
yyval
.
ttype
),
OP1
(
yyval
.
ttype
));
;
break
;}
case
330
:
#line 148
3
"parse.y"
#line 148
7
"parse.y"
{
yyval
.
ttype
=
finish_globally_qualified_member_call_expr
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
331
:
#line 148
5
"parse.y"
#line 148
9
"parse.y"
{
yyval
.
ttype
=
finish_globally_qualified_member_call_expr
(
yyvsp
[
-
1
].
ttype
,
NULL_TREE
);
;
break
;}
case
332
:
#line 14
87
"parse.y"
#line 14
91
"parse.y"
{
yyval
.
ttype
=
build_x_component_ref
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
NULL_TREE
,
1
);
;
break
;}
case
333
:
#line 149
1
"parse.y"
#line 149
5
"parse.y"
{
yyval
.
ttype
=
finish_object_call_expr
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
334
:
#line 149
3
"parse.y"
#line 149
7
"parse.y"
{
yyval
.
ttype
=
finish_object_call_expr
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
);
;
break
;}
case
335
:
#line 149
5
"parse.y"
#line 149
9
"parse.y"
{
yyval
.
ttype
=
build_x_component_ref
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
NULL_TREE
,
1
);
;
break
;}
case
336
:
#line 1
497
"parse.y"
#line 1
501
"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
2
"parse.y"
#line 150
6
"parse.y"
{
yyval
.
ttype
=
finish_object_call_expr
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
338
:
#line 150
4
"parse.y"
#line 150
8
"parse.y"
{
yyval
.
ttype
=
finish_object_call_expr
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
);
;
break
;}
case
339
:
#line 15
06
"parse.y"
#line 15
10
"parse.y"
{
yyval
.
ttype
=
finish_qualified_object_call_expr
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
340
:
#line 15
08
"parse.y"
#line 15
12
"parse.y"
{
yyval
.
ttype
=
finish_qualified_object_call_expr
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
);
;
break
;}
case
341
:
#line 151
1
"parse.y"
#line 151
5
"parse.y"
{
yyval
.
ttype
=
finish_pseudo_destructor_call_expr
(
yyvsp
[
-
3
].
ttype
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
342
:
#line 151
3
"parse.y"
#line 151
7
"parse.y"
{
yyval
.
ttype
=
finish_pseudo_destructor_call_expr
(
yyvsp
[
-
5
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
343
:
#line 151
5
"parse.y"
#line 151
9
"parse.y"
{
yyval
.
ttype
=
error_mark_node
;
;
break
;}
case
344
:
#line 156
0
"parse.y"
#line 156
4
"parse.y"
{
yyval
.
itype
=
0
;
;
break
;}
case
345
:
#line 156
2
"parse.y"
#line 156
6
"parse.y"
{
got_scope
=
NULL_TREE
;
yyval
.
itype
=
1
;
;
break
;}
case
346
:
#line 15
67
"parse.y"
#line 15
71
"parse.y"
{
yyval
.
itype
=
0
;
;
break
;}
case
347
:
#line 15
69
"parse.y"
#line 15
73
"parse.y"
{
got_scope
=
NULL_TREE
;
yyval
.
itype
=
1
;
;
break
;}
case
348
:
#line 157
4
"parse.y"
#line 157
8
"parse.y"
{
yyval
.
ttype
=
boolean_true_node
;
;
break
;}
case
349
:
#line 15
76
"parse.y"
#line 15
80
"parse.y"
{
yyval
.
ttype
=
boolean_false_node
;
;
break
;}
case
351
:
#line 158
3
"parse.y"
#line 158
7
"parse.y"
{
yyval
.
ttype
=
chainon
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
352
:
#line 15
88
"parse.y"
#line 15
92
"parse.y"
{
if
(
!
current_function_parms_stored
)
store_parm_decls
();
...
...
@@ -5498,18 +5502,18 @@ case 352:
;
break
;}
case
353
:
#line 160
1
"parse.y"
#line 160
5
"parse.y"
{
got_object
=
TREE_TYPE
(
yyval
.
ttype
);
;
break
;}
case
354
:
#line 160
3
"parse.y"
#line 160
7
"parse.y"
{
yyval
.
ttype
=
build_x_arrow
(
yyval
.
ttype
);
got_object
=
TREE_TYPE
(
yyval
.
ttype
);
;
break
;}
case
355
:
#line 161
1
"parse.y"
#line 161
5
"parse.y"
{
resume_momentary
(
yyvsp
[
-
1
].
itype
);
if
(
yyvsp
[
-
2
].
ftype
.
t
&&
IS_AGGR_TYPE_CODE
(
TREE_CODE
(
yyvsp
[
-
2
].
ftype
.
t
)))
...
...
@@ -5517,138 +5521,138 @@ case 355:
;
break
;}
case
356
:
#line 16
17
"parse.y"
#line 16
21
"parse.y"
{
resume_momentary
(
yyvsp
[
-
1
].
itype
);
note_list_got_semicolon
(
yyvsp
[
-
2
].
ftype
.
t
);
;
break
;}
case
357
:
#line 162
2
"parse.y"
#line 162
6
"parse.y"
{
resume_momentary
(
yyvsp
[
-
1
].
itype
);
;
break
;}
case
358
:
#line 162
4
"parse.y"
#line 162
8
"parse.y"
{
shadow_tag
(
yyvsp
[
-
1
].
ftype
.
t
);
note_list_got_semicolon
(
yyvsp
[
-
1
].
ftype
.
t
);
;
break
;}
case
359
:
#line 16
29
"parse.y"
#line 16
33
"parse.y"
{
warning
(
"empty declaration"
);
;
break
;}
case
360
:
#line 163
1
"parse.y"
#line 163
5
"parse.y"
{
pedantic
=
yyvsp
[
-
1
].
itype
;
;
break
;}
case
363
:
#line 164
5
"parse.y"
#line 164
9
"parse.y"
{
yyval
.
ttype
=
make_call_declarator
(
NULL_TREE
,
empty_parms
(),
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
364
:
#line 16
48
"parse.y"
#line 16
52
"parse.y"
{
yyval
.
ttype
=
make_call_declarator
(
yyval
.
ttype
,
empty_parms
(),
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
365
:
#line 165
5
"parse.y"
#line 165
9
"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 16
58
"parse.y"
#line 16
62
"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
1
"parse.y"
#line 166
5
"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 166
4
"parse.y"
#line 166
8
"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 16
67
"parse.y"
#line 16
71
"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
3
"parse.y"
#line 168
7
"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 16
86
"parse.y"
#line 16
90
"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 16
89
"parse.y"
#line 16
93
"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
2
"parse.y"
#line 169
6
"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 169
5
"parse.y"
#line 169
9
"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 1
698
"parse.y"
#line 1
702
"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 170
5
"parse.y"
#line 170
9
"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
0
"parse.y"
#line 171
4
"parse.y"
{
yyval
.
ttype
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ftype
.
t
,
yyval
.
ttype
);
;
break
;}
case
380
:
#line 171
2
"parse.y"
#line 171
6
"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 17
17
"parse.y"
#line 17
21
"parse.y"
{
yyval
.
ttype
=
decl_tree_cons
(
yyvsp
[
0
].
ttype
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
382
:
#line 17
19
"parse.y"
#line 17
23
"parse.y"
{
yyval
.
ttype
=
decl_tree_cons
(
yyvsp
[
0
].
ttype
,
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
383
:
#line 17
29
"parse.y"
#line 17
33
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ftype
.
t
;
TREE_STATIC
(
yyval
.
ttype
)
=
1
;
;
break
;}
case
384
:
#line 173
1
"parse.y"
#line 173
5
"parse.y"
{
yyval
.
ttype
=
IDENTIFIER_AS_LIST
(
yyval
.
ttype
);
;
break
;}
case
385
:
#line 173
3
"parse.y"
#line 173
7
"parse.y"
{
yyval
.
ttype
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyval
.
ttype
);
TREE_STATIC
(
yyval
.
ttype
)
=
1
;
;
break
;}
case
386
:
#line 17
36
"parse.y"
#line 17
40
"parse.y"
{
if
(
extra_warnings
&&
TREE_STATIC
(
yyval
.
ttype
))
warning
(
"`%s' is not at beginning of declaration"
,
IDENTIFIER_POINTER
(
yyvsp
[
0
].
ttype
));
...
...
@@ -5656,61 +5660,61 @@ case 386:
TREE_STATIC
(
yyval
.
ttype
)
=
TREE_STATIC
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
387
:
#line 174
2
"parse.y"
#line 174
6
"parse.y"
{
yyval
.
ttype
=
decl_tree_cons
(
yyvsp
[
0
].
ttype
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
388
:
#line 174
4
"parse.y"
#line 174
8
"parse.y"
{
yyval
.
ttype
=
decl_tree_cons
(
yyvsp
[
0
].
ttype
,
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
389
:
#line 175
5
"parse.y"
#line 175
9
"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 17
58
"parse.y"
#line 17
62
"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
1
"parse.y"
#line 176
5
"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 176
4
"parse.y"
#line 176
8
"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
0
"parse.y"
#line 177
4
"parse.y"
{
yyval
.
ttype
=
build_decl_list
(
NULL_TREE
,
yyvsp
[
0
].
ftype
.
t
);
;
break
;}
case
394
:
#line 177
2
"parse.y"
#line 177
6
"parse.y"
{
yyval
.
ttype
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ftype
.
t
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
396
:
#line 178
2
"parse.y"
#line 178
6
"parse.y"
{
yyval
.
ftype
.
t
=
yyvsp
[
0
].
ttype
;
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
case
397
:
#line 178
4
"parse.y"
#line 178
8
"parse.y"
{
yyval
.
ftype
.
t
=
yyvsp
[
0
].
ttype
;
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
case
398
:
#line 17
86
"parse.y"
#line 17
90
"parse.y"
{
yyval
.
ftype
.
t
=
TREE_TYPE
(
yyvsp
[
-
1
].
ttype
);
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
case
399
:
#line 17
89
"parse.y"
#line 17
93
"parse.y"
{
yyval
.
ftype
.
t
=
groktypename
(
yyvsp
[
-
1
].
ftype
.
t
);
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
case
400
:
#line 179
2
"parse.y"
#line 179
6
"parse.y"
{
tree
type
=
TREE_TYPE
(
yyvsp
[
-
1
].
ttype
);
yyval
.
ftype
.
new_type_flag
=
0
;
...
...
@@ -5727,7 +5731,7 @@ case 400:
;
break
;}
case
401
:
#line 18
07
"parse.y"
#line 18
11
"parse.y"
{
tree
type
=
groktypename
(
yyvsp
[
-
1
].
ftype
.
t
);
yyval
.
ftype
.
new_type_flag
=
0
;
...
...
@@ -5744,188 +5748,188 @@ case 401:
;
break
;}
case
402
:
#line 18
27
"parse.y"
#line 18
31
"parse.y"
{
yyval
.
ftype
.
t
=
yyvsp
[
0
].
ttype
;
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
case
403
:
#line 18
29
"parse.y"
#line 18
33
"parse.y"
{
yyval
.
ftype
.
t
=
yyvsp
[
0
].
ttype
;
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
case
411
:
#line 185
0
"parse.y"
#line 185
4
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
412
:
#line 185
2
"parse.y"
#line 185
6
"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 18
57
"parse.y"
#line 18
61
"parse.y"
{
yyval
.
ttype
=
start_decl
(
yyvsp
[
-
3
].
ttype
,
current_declspecs
,
1
,
yyvsp
[
-
1
].
ttype
,
prefix_attributes
);
;
break
;}
case
414
:
#line 186
1
"parse.y"
#line 186
5
"parse.y"
{
cp_finish_decl
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
4
].
ttype
,
1
,
LOOKUP_ONLYCONVERTING
);
;
break
;}
case
415
:
#line 186
3
"parse.y"
#line 186
7
"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 18
76
"parse.y"
#line 18
80
"parse.y"
{
yyvsp
[
0
].
itype
=
parse_decl
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
1
].
ttype
,
1
,
&
yyval
.
ttype
);
;
break
;}
case
417
:
#line 188
1
"parse.y"
#line 188
5
"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 188
5
"parse.y"
#line 188
9
"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
2
"parse.y"
#line 189
6
"parse.y"
{
yyval
.
itype
=
yyvsp
[
0
].
itype
;
;
break
;}
case
420
:
#line 1
896
"parse.y"
#line 1
900
"parse.y"
{
yyval
.
itype
=
yyvsp
[
0
].
itype
;
;
break
;}
case
421
:
#line 190
1
"parse.y"
#line 190
5
"parse.y"
{
/* Set things up as initdcl0_innards expects. */
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
yyvsp
[
-
1
].
ttype
=
NULL_TREE
;
;
break
;}
case
422
:
#line 190
5
"parse.y"
#line 190
9
"parse.y"
{;
break
;}
case
423
:
#line 19
07
"parse.y"
#line 19
11
"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 19
16
"parse.y"
#line 19
20
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
425
:
#line 19
18
"parse.y"
#line 19
22
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
426
:
#line 192
3
"parse.y"
#line 192
7
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
427
:
#line 192
5
"parse.y"
#line 192
9
"parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
428
:
#line 193
0
"parse.y"
#line 193
4
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
2
].
ttype
;
;
break
;}
case
429
:
#line 193
5
"parse.y"
#line 193
9
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
430
:
#line 19
37
"parse.y"
#line 19
41
"parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
431
:
#line 194
2
"parse.y"
#line 194
6
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
432
:
#line 194
4
"parse.y"
#line 194
8
"parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
433
:
#line 19
46
"parse.y"
#line 19
50
"parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
3
].
ttype
,
build_tree_list
(
NULL_TREE
,
yyvsp
[
-
1
].
ttype
));
;
break
;}
case
434
:
#line 19
48
"parse.y"
#line 19
52
"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
0
"parse.y"
#line 195
4
"parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
440
:
#line 19
66
"parse.y"
#line 19
70
"parse.y"
{
yyval
.
ttype
=
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
441
:
#line 19
68
"parse.y"
#line 19
72
"parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
2
].
ttype
,
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
));
;
break
;}
case
442
:
#line 197
3
"parse.y"
#line 197
7
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
443
:
#line 197
5
"parse.y"
#line 197
9
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
445
:
#line 198
3
"parse.y"
#line 198
7
"parse.y"
{
yyval
.
ttype
=
build_nt
(
CONSTRUCTOR
,
NULL_TREE
,
NULL_TREE
);
TREE_HAS_CONSTRUCTOR
(
yyval
.
ttype
)
=
1
;
;
break
;}
case
446
:
#line 19
86
"parse.y"
#line 19
90
"parse.y"
{
yyval
.
ttype
=
build_nt
(
CONSTRUCTOR
,
NULL_TREE
,
nreverse
(
yyvsp
[
-
1
].
ttype
));
TREE_HAS_CONSTRUCTOR
(
yyval
.
ttype
)
=
1
;
;
break
;}
case
447
:
#line 19
89
"parse.y"
#line 19
93
"parse.y"
{
yyval
.
ttype
=
build_nt
(
CONSTRUCTOR
,
NULL_TREE
,
nreverse
(
yyvsp
[
-
2
].
ttype
));
TREE_HAS_CONSTRUCTOR
(
yyval
.
ttype
)
=
1
;
;
break
;}
case
448
:
#line 199
2
"parse.y"
#line 199
6
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
449
:
#line
1999
"parse.y"
#line
2003
"parse.y"
{
yyval
.
ttype
=
build_tree_list
(
NULL_TREE
,
yyval
.
ttype
);
;
break
;}
case
450
:
#line 200
1
"parse.y"
#line 200
5
"parse.y"
{
yyval
.
ttype
=
expr_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyval
.
ttype
);
;
break
;}
case
451
:
#line 200
4
"parse.y"
#line 200
8
"parse.y"
{
yyval
.
ttype
=
build_expr_list
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
452
:
#line 20
06
"parse.y"
#line 20
10
"parse.y"
{
yyval
.
ttype
=
build_expr_list
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
453
:
#line 20
08
"parse.y"
#line 20
12
"parse.y"
{
yyval
.
ttype
=
expr_tree_cons
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
,
yyval
.
ttype
);
;
break
;}
case
454
:
#line 201
3
"parse.y"
#line 201
7
"parse.y"
{
start_function
(
NULL_TREE
,
TREE_VALUE
(
yyvsp
[
0
].
ttype
),
NULL_TREE
,
1
);
reinit_parse_for_function
();
;
break
;}
case
455
:
#line 20
19
"parse.y"
#line 20
23
"parse.y"
{
int
nested
=
(
hack_decl_function_context
(
current_function_decl
)
!=
NULL_TREE
);
...
...
@@ -5934,82 +5938,82 @@ case 455:
;
break
;}
case
456
:
#line 20
26
"parse.y"
#line 20
30
"parse.y"
{
process_next_inline
(
yyvsp
[
-
2
].
ttype
);
;
break
;}
case
457
:
#line 20
28
"parse.y"
#line 20
32
"parse.y"
{
process_next_inline
(
yyvsp
[
-
2
].
ttype
);
;
break
;}
case
460
:
#line 204
0
"parse.y"
#line 204
4
"parse.y"
{
replace_defarg
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
461
:
#line 204
2
"parse.y"
#line 204
6
"parse.y"
{
replace_defarg
(
yyvsp
[
-
2
].
ttype
,
error_mark_node
);
;
break
;}
case
463
:
#line 20
47
"parse.y"
#line 20
51
"parse.y"
{
do_pending_defargs
();
;
break
;}
case
464
:
#line 20
49
"parse.y"
#line 20
53
"parse.y"
{
do_pending_defargs
();
;
break
;}
case
465
:
#line 205
4
"parse.y"
#line 205
8
"parse.y"
{
yyvsp
[
0
].
itype
=
suspend_momentary
();
yyval
.
ttype
=
start_enum
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
466
:
#line 20
57
"parse.y"
#line 20
61
"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
2
"parse.y"
#line 206
6
"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 20
66
"parse.y"
#line 20
70
"parse.y"
{
yyvsp
[
0
].
itype
=
suspend_momentary
();
yyval
.
ttype
=
start_enum
(
make_anon_name
());
;
break
;}
case
469
:
#line 20
69
"parse.y"
#line 20
73
"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 207
4
"parse.y"
#line 207
8
"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 20
78
"parse.y"
#line 20
82
"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
1
"parse.y"
#line 208
5
"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 208
4
"parse.y"
#line 208
8
"parse.y"
{
yyval
.
ftype
.
t
=
yyvsp
[
0
].
ttype
;
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
case
474
:
#line 20
89
"parse.y"
#line 20
93
"parse.y"
{
int
semi
;
...
...
@@ -6021,17 +6025,17 @@ case 474:
;
break
;}
case
475
:
#line 2
099
"parse.y"
#line 2
103
"parse.y"
{
finish_default_args
();
;
break
;}
case
476
:
#line 210
1
"parse.y"
#line 210
5
"parse.y"
{
yyval
.
ftype
.
t
=
yyvsp
[
-
3
].
ttype
;
yyval
.
ftype
.
new_type_flag
=
1
;
begin_inline_definitions
();
;
break
;}
case
477
:
#line 210
5
"parse.y"
#line 210
9
"parse.y"
{
yyval
.
ftype
.
new_type_flag
=
0
;
if
(
TYPE_BINFO
(
yyvsp
[
0
].
ttype
)
==
NULL_TREE
)
...
...
@@ -6051,85 +6055,85 @@ case 477:
;
break
;}
case
481
:
#line 213
2
"parse.y"
#line 213
6
"parse.y"
{
if
(
pedantic
&&
!
in_system_header
)
pedwarn
(
"comma at end of enumerator list"
);
;
break
;}
case
483
:
#line 21
39
"parse.y"
#line 21
43
"parse.y"
{
error
(
"storage class specifier `%s' not allowed after struct or class"
,
IDENTIFIER_POINTER
(
yyvsp
[
0
].
ttype
));
;
break
;}
case
484
:
#line 214
1
"parse.y"
#line 214
5
"parse.y"
{
error
(
"type specifier `%s' not allowed after struct or class"
,
IDENTIFIER_POINTER
(
yyvsp
[
0
].
ttype
));
;
break
;}
case
485
:
#line 214
3
"parse.y"
#line 214
7
"parse.y"
{
error
(
"type qualifier `%s' not allowed after struct or class"
,
IDENTIFIER_POINTER
(
yyvsp
[
0
].
ttype
));
;
break
;}
case
486
:
#line 214
5
"parse.y"
#line 214
9
"parse.y"
{
error
(
"no body nor ';' separates two class, struct or union declarations"
);
;
break
;}
case
487
:
#line 21
47
"parse.y"
#line 21
51
"parse.y"
{
yyval
.
ttype
=
build_decl_list
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
488
:
#line 215
2
"parse.y"
#line 215
6
"parse.y"
{
current_aggr
=
yyval
.
ttype
;
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
489
:
#line 21
57
"parse.y"
#line 21
61
"parse.y"
{
current_aggr
=
yyval
.
ttype
;
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
490
:
#line 21
59
"parse.y"
#line 21
63
"parse.y"
{
yyungetc
(
'{'
,
1
);
;
break
;}
case
491
:
#line 216
1
"parse.y"
#line 216
5
"parse.y"
{
yyungetc
(
':'
,
1
);
;
break
;}
case
492
:
#line 21
66
"parse.y"
#line 21
70
"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
1
"parse.y"
#line 217
5
"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 21
76
"parse.y"
#line 21
80
"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
1
"parse.y"
#line 218
5
"parse.y"
{
current_aggr
=
yyval
.
ttype
;
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
496
:
#line 218
3
"parse.y"
#line 218
7
"parse.y"
{
current_aggr
=
yyval
.
ttype
;
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
497
:
#line 21
88
"parse.y"
#line 21
92
"parse.y"
{
yyval
.
ttype
=
xref_tag
(
current_aggr
,
yyvsp
[
0
].
ttype
,
NULL_TREE
,
0
);
;
break
;}
case
498
:
#line 219
3
"parse.y"
#line 219
7
"parse.y"
{
yyval
.
ttype
=
xref_tag
(
current_aggr
,
yyvsp
[
0
].
ttype
,
NULL_TREE
,
1
);
;
break
;}
case
499
:
#line 2
196
"parse.y"
#line 2
200
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
if
(
yyvsp
[
0
].
ttype
)
...
...
@@ -6137,7 +6141,7 @@ case 499:
;
break
;}
case
500
:
#line 220
2
"parse.y"
#line 220
6
"parse.y"
{
yyval
.
ttype
=
TREE_TYPE
(
yyvsp
[
-
1
].
ttype
);
if
(
TREE_INT_CST_LOW
(
current_aggr
)
==
union_type
...
...
@@ -6154,28 +6158,28 @@ case 500:
;
break
;}
case
501
:
#line 222
0
"parse.y"
#line 222
4
"parse.y"
{
yyval
.
ttype
=
xref_tag
(
yyval
.
ttype
,
make_anon_name
(),
NULL_TREE
,
0
);
yyungetc
(
'{'
,
1
);
;
break
;}
case
504
:
#line 223
1
"parse.y"
#line 223
5
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
505
:
#line 223
3
"parse.y"
#line 223
7
"parse.y"
{
yyungetc
(
':'
,
1
);
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
506
:
#line 223
5
"parse.y"
#line 223
9
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
508
:
#line 224
1
"parse.y"
#line 224
5
"parse.y"
{
yyval
.
ttype
=
chainon
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
509
:
#line 22
46
"parse.y"
#line 22
50
"parse.y"
{
tree
type
;
if
(
yyvsp
[
0
].
ttype
==
NULL_TREE
)
...
...
@@ -6209,7 +6213,7 @@ case 509:
;
break
;}
case
510
:
#line 22
78
"parse.y"
#line 22
82
"parse.y"
{
tree
type
;
if
(
yyvsp
[
0
].
ttype
==
NULL_TREE
)
...
...
@@ -6245,11 +6249,11 @@ case 510:
;
break
;}
case
511
:
#line 231
5
"parse.y"
#line 231
9
"parse.y"
{
yyval
.
ttype
=
TYPE_MAIN_DECL
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
513
:
#line 23
18
"parse.y"
#line 23
22
"parse.y"
{
if
(
current_aggr
==
signature_type_node
)
{
...
...
@@ -6272,7 +6276,7 @@ case 513:
;
break
;}
case
514
:
#line 23
39
"parse.y"
#line 23
43
"parse.y"
{
if
(
current_aggr
==
signature_type_node
)
{
...
...
@@ -6295,13 +6299,13 @@ case 514:
;
break
;}
case
516
:
#line 236
4
"parse.y"
#line 236
8
"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 23
68
"parse.y"
#line 23
72
"parse.y"
{
if
(
yyvsp
[
-
2
].
ttype
!=
access_default_virtual_node
)
error
(
"multiple access specifiers"
);
...
...
@@ -6314,7 +6318,7 @@ case 517:
;
break
;}
case
518
:
#line 23
79
"parse.y"
#line 23
83
"parse.y"
{
if
(
yyvsp
[
-
1
].
ttype
!=
ridpointers
[(
int
)
RID_VIRTUAL
])
cp_error
(
"`%D' access"
,
yyvsp
[
-
1
].
ttype
);
else
if
(
yyval
.
ttype
==
access_public_node
)
...
...
@@ -6328,21 +6332,21 @@ case 518:
;
break
;}
case
519
:
#line 239
4
"parse.y"
#line 239
8
"parse.y"
{
yyvsp
[
-
1
].
ttype
=
begin_class_definition
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
520
:
#line 2
399
"parse.y"
#line 2
403
"parse.y"
{
yyval
.
ttype
=
build_self_reference
();
;
break
;}
case
521
:
#line 24
06
"parse.y"
#line 24
10
"parse.y"
{
if
(
yyval
.
ttype
)
yyval
.
ttype
=
build_tree_list
(
access_public_node
,
yyval
.
ttype
);
;
break
;}
case
522
:
#line 24
08
"parse.y"
#line 24
12
"parse.y"
{
if
(
current_aggr
==
signature_type_node
)
yyval
.
ttype
=
build_tree_list
(
access_public_node
,
yyvsp
[
0
].
ttype
);
...
...
@@ -6352,7 +6356,7 @@ case 522:
;
break
;}
case
523
:
#line 24
16
"parse.y"
#line 24
20
"parse.y"
{
tree
visspec
=
yyvsp
[
-
2
].
ttype
;
...
...
@@ -6365,19 +6369,19 @@ case 523:
;
break
;}
case
524
:
#line 24
27
"parse.y"
#line 24
31
"parse.y"
{
if
(
current_aggr
==
signature_type_node
)
error
(
"access specifier not allowed in signature"
);
;
break
;}
case
525
:
#line 24
37
"parse.y"
#line 24
41
"parse.y"
{
if
(
yyval
.
ttype
==
void_type_node
)
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
526
:
#line 244
0
"parse.y"
#line 244
4
"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
...
...
@@ -6392,95 +6396,95 @@ case 526:
;
break
;}
case
527
:
#line 24
56
"parse.y"
#line 24
60
"parse.y"
{
;
break
;}
case
528
:
#line 24
58
"parse.y"
#line 24
62
"parse.y"
{
error
(
"missing ';' before right brace"
);
yyungetc
(
'}'
,
0
);
;
break
;}
case
529
:
#line 246
3
"parse.y"
#line 246
7
"parse.y"
{
yyval
.
ttype
=
finish_method
(
yyval
.
ttype
);
;
break
;}
case
530
:
#line 246
5
"parse.y"
#line 246
9
"parse.y"
{
yyval
.
ttype
=
finish_method
(
yyval
.
ttype
);
;
break
;}
case
531
:
#line 24
67
"parse.y"
#line 24
71
"parse.y"
{
yyval
.
ttype
=
finish_method
(
yyval
.
ttype
);
;
break
;}
case
532
:
#line 24
69
"parse.y"
#line 24
73
"parse.y"
{
yyval
.
ttype
=
finish_method
(
yyval
.
ttype
);
;
break
;}
case
533
:
#line 247
1
"parse.y"
#line 247
5
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
534
:
#line 247
3
"parse.y"
#line 247
7
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
pedantic
=
yyvsp
[
-
1
].
itype
;
;
break
;}
case
535
:
#line 24
76
"parse.y"
#line 24
80
"parse.y"
{
yyval
.
ttype
=
finish_member_template_decl
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
536
:
#line 24
78
"parse.y"
#line 24
82
"parse.y"
{
yyval
.
ttype
=
finish_member_class_template
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ftype
.
t
);
;
break
;}
case
537
:
#line 24
86
"parse.y"
#line 24
90
"parse.y"
{
yyval
.
ttype
=
grok_x_components
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
538
:
#line 24
88
"parse.y"
#line 24
92
"parse.y"
{
yyval
.
ttype
=
grok_x_components
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
539
:
#line 249
0
"parse.y"
#line 249
4
"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
3
"parse.y"
#line 249
7
"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 2
496
"parse.y"
#line 2
500
"parse.y"
{
yyval
.
ttype
=
grokbitfield
(
NULL_TREE
,
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
542
:
#line 2
498
"parse.y"
#line 2
502
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
543
:
#line 25
09
"parse.y"
#line 25
13
"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 251
4
"parse.y"
#line 251
8
"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 25
17
"parse.y"
#line 25
21
"parse.y"
{
yyval
.
ttype
=
do_class_using_decl
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
546
:
#line 252
3
"parse.y"
#line 252
7
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
548
:
#line 25
26
"parse.y"
#line 25
30
"parse.y"
{
/* In this context, void_type_node encodes
friends. They have been recorded elsewhere. */
...
...
@@ -6491,11 +6495,11 @@ case 548:
;
break
;}
case
549
:
#line 25
38
"parse.y"
#line 25
42
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
551
:
#line 254
1
"parse.y"
#line 254
5
"parse.y"
{
/* In this context, void_type_node encodes
friends. They have been recorded elsewhere. */
...
...
@@ -6506,7 +6510,7 @@ case 551:
;
break
;}
case
556
:
#line 256
3
"parse.y"
#line 256
7
"parse.y"
{
split_specs_attrs
(
yyvsp
[
-
4
].
ttype
,
&
current_declspecs
,
&
prefix_attributes
);
yyvsp
[
-
4
].
ttype
=
current_declspecs
;
...
...
@@ -6514,7 +6518,7 @@ case 556:
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
prefix_attributes
));
;
break
;}
case
557
:
#line 25
69
"parse.y"
#line 25
73
"parse.y"
{
split_specs_attrs
(
yyvsp
[
-
4
].
ttype
,
&
current_declspecs
,
&
prefix_attributes
);
yyvsp
[
-
4
].
ttype
=
current_declspecs
;
...
...
@@ -6522,7 +6526,7 @@ case 557:
cplus_decl_attributes
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
prefix_attributes
);
;
break
;}
case
558
:
#line 25
78
"parse.y"
#line 25
82
"parse.y"
{
split_specs_attrs
(
yyvsp
[
-
4
].
ttype
,
&
current_declspecs
,
&
prefix_attributes
);
yyvsp
[
-
4
].
ttype
=
current_declspecs
;
...
...
@@ -6530,7 +6534,7 @@ case 558:
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
prefix_attributes
));
;
break
;}
case
559
:
#line 258
4
"parse.y"
#line 258
8
"parse.y"
{
split_specs_attrs
(
yyvsp
[
-
4
].
ttype
,
&
current_declspecs
,
&
prefix_attributes
);
yyvsp
[
-
4
].
ttype
=
current_declspecs
;
...
...
@@ -6538,7 +6542,7 @@ case 559:
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
prefix_attributes
));
;
break
;}
case
560
:
#line 259
0
"parse.y"
#line 259
4
"parse.y"
{
split_specs_attrs
(
yyvsp
[
-
4
].
ttype
,
&
current_declspecs
,
&
prefix_attributes
);
yyvsp
[
-
4
].
ttype
=
current_declspecs
;
...
...
@@ -6546,7 +6550,7 @@ case 560:
cplus_decl_attributes
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
prefix_attributes
);
;
break
;}
case
561
:
#line 2
596
"parse.y"
#line 2
600
"parse.y"
{
split_specs_attrs
(
yyvsp
[
-
3
].
ttype
,
&
current_declspecs
,
&
prefix_attributes
);
yyvsp
[
-
3
].
ttype
=
current_declspecs
;
...
...
@@ -6554,54 +6558,54 @@ case 561:
cplus_decl_attributes
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
prefix_attributes
);
;
break
;}
case
562
:
#line 260
5
"parse.y"
#line 260
9
"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 26
08
"parse.y"
#line 26
12
"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 261
4
"parse.y"
#line 261
8
"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 26
17
"parse.y"
#line 26
21
"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
0
"parse.y"
#line 262
4
"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
1
"parse.y"
#line 263
5
"parse.y"
{
TREE_CHAIN
(
yyvsp
[
0
].
ttype
)
=
yyval
.
ttype
;
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
569
:
#line 26
36
"parse.y"
#line 26
40
"parse.y"
{
yyval
.
ttype
=
build_enumerator
(
yyval
.
ttype
,
NULL_TREE
);
;
break
;}
case
570
:
#line 26
38
"parse.y"
#line 26
42
"parse.y"
{
yyval
.
ttype
=
build_enumerator
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
571
:
#line 264
4
"parse.y"
#line 264
8
"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 26
47
"parse.y"
#line 26
51
"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 265
4
"parse.y"
#line 265
8
"parse.y"
{
if
(
pedantic
)
pedwarn
(
"ANSI C++ forbids array dimensions with parenthesized type in new"
);
...
...
@@ -6611,71 +6615,71 @@ case 573:
;
break
;}
case
574
:
#line 266
5
"parse.y"
#line 266
9
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
575
:
#line 26
67
"parse.y"
#line 26
71
"parse.y"
{
yyval
.
ttype
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyval
.
ttype
);
;
break
;}
case
576
:
#line 267
2
"parse.y"
#line 267
6
"parse.y"
{
yyval
.
ftype
.
t
=
IDENTIFIER_AS_LIST
(
yyvsp
[
0
].
ttype
);
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
case
577
:
#line 267
5
"parse.y"
#line 267
9
"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 268
4
"parse.y"
#line 268
8
"parse.y"
{
yyval
.
itype
=
suspend_momentary
();
;
break
;}
case
579
:
#line 26
89
"parse.y"
#line 26
93
"parse.y"
{
resume_momentary
((
int
)
yyvsp
[
-
1
].
itype
);
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
580
:
#line 269
5
"parse.y"
#line 269
9
"parse.y"
{
resume_momentary
((
int
)
yyvsp
[
-
3
].
itype
);
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
case
581
:
#line 2
697
"parse.y"
#line 2
701
"parse.y"
{
resume_momentary
((
int
)
yyvsp
[
-
3
].
itype
);
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
case
582
:
#line 2
699
"parse.y"
#line 2
703
"parse.y"
{
resume_momentary
((
int
)
yyvsp
[
-
1
].
itype
);
yyval
.
ttype
=
empty_parms
();
;
break
;}
case
583
:
#line 270
1
"parse.y"
#line 270
5
"parse.y"
{
resume_momentary
((
int
)
yyvsp
[
-
3
].
itype
);
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
584
:
#line 27
08
"parse.y"
#line 27
12
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
585
:
#line 271
0
"parse.y"
#line 271
4
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
586
:
#line 271
2
"parse.y"
#line 271
6
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
587
:
#line 271
4
"parse.y"
#line 271
8
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
588
:
#line 27
16
"parse.y"
#line 27
20
"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 272
4
"parse.y"
#line 272
8
"parse.y"
{
if
(
TREE_CODE
(
yyvsp
[
0
].
ttype
)
==
IDENTIFIER_NODE
)
{
...
...
@@ -6694,7 +6698,7 @@ case 590:
;
break
;}
case
591
:
#line 274
1
"parse.y"
#line 274
5
"parse.y"
{
if
(
TREE_CODE
(
yyvsp
[
0
].
ttype
)
==
IDENTIFIER_NODE
)
yyval
.
ttype
=
IDENTIFIER_GLOBAL_VALUE
(
yyvsp
[
0
].
ttype
);
...
...
@@ -6704,152 +6708,152 @@ case 591:
;
break
;}
case
594
:
#line 275
4
"parse.y"
#line 275
8
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
595
:
#line 27
59
"parse.y"
#line 27
63
"parse.y"
{
yyval
.
ttype
=
get_type_decl
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
596
:
#line 276
4
"parse.y"
#line 276
8
"parse.y"
{
yyval
.
ttype
=
make_call_declarator
(
yyval
.
ttype
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
597
:
#line 27
66
"parse.y"
#line 27
70
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
598
:
#line 27
68
"parse.y"
#line 27
72
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
NULL_TREE
);
;
break
;}
case
599
:
#line 277
0
"parse.y"
#line 277
4
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
case
600
:
#line 277
2
"parse.y"
#line 277
6
"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
3
"parse.y"
#line 278
7
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
603
:
#line 278
5
"parse.y"
#line 278
9
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
604
:
#line 27
87
"parse.y"
#line 27
91
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
605
:
#line 27
89
"parse.y"
#line 27
93
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
606
:
#line 279
1
"parse.y"
#line 279
5
"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 2
799
"parse.y"
#line 2
803
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
609
:
#line 280
1
"parse.y"
#line 280
5
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
610
:
#line 280
3
"parse.y"
#line 280
7
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
611
:
#line 280
5
"parse.y"
#line 280
9
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
612
:
#line 28
07
"parse.y"
#line 28
11
"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 281
5
"parse.y"
#line 281
9
"parse.y"
{
yyval
.
ttype
=
make_call_declarator
(
yyval
.
ttype
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
615
:
#line 28
17
"parse.y"
#line 28
21
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
case
616
:
#line 28
19
"parse.y"
#line 28
23
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
617
:
#line 282
1
"parse.y"
#line 282
5
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
NULL_TREE
);
;
break
;}
case
618
:
#line 282
3
"parse.y"
#line 282
7
"parse.y"
{
enter_scope_of
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
619
:
#line 282
5
"parse.y"
#line 282
9
"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
3
"parse.y"
#line 283
7
"parse.y"
{
got_scope
=
NULL_TREE
;
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
621
:
#line 28
36
"parse.y"
#line 28
40
"parse.y"
{
got_scope
=
NULL_TREE
;
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
622
:
#line 284
2
"parse.y"
#line 284
6
"parse.y"
{
got_scope
=
NULL_TREE
;
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
623
:
#line 284
5
"parse.y"
#line 284
9
"parse.y"
{
got_scope
=
NULL_TREE
;
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
625
:
#line 285
2
"parse.y"
#line 285
6
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
626
:
#line 28
57
"parse.y"
#line 28
61
"parse.y"
{
yyval
.
ttype
=
build_functional_cast
(
yyvsp
[
-
3
].
ftype
.
t
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
627
:
#line 28
59
"parse.y"
#line 28
63
"parse.y"
{
yyval
.
ttype
=
reparse_decl_as_expr
(
yyvsp
[
-
3
].
ftype
.
t
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
628
:
#line 286
1
"parse.y"
#line 286
5
"parse.y"
{
yyval
.
ttype
=
reparse_absdcl_as_expr
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
633
:
#line 287
3
"parse.y"
#line 287
7
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
634
:
#line 287
5
"parse.y"
#line 287
9
"parse.y"
{
got_scope
=
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
635
:
#line 288
2
"parse.y"
#line 288
6
"parse.y"
{
if
(
TREE_CODE
(
yyvsp
[
-
1
].
ttype
)
==
IDENTIFIER_NODE
)
{
...
...
@@ -6865,7 +6869,7 @@ case 635:
;
break
;}
case
636
:
#line 2
896
"parse.y"
#line 2
900
"parse.y"
{
if
(
TREE_CODE
(
yyvsp
[
-
1
].
ttype
)
==
IDENTIFIER_NODE
)
yyval
.
ttype
=
lastiddecl
;
...
...
@@ -6873,7 +6877,7 @@ case 636:
;
break
;}
case
637
:
#line 290
2
"parse.y"
#line 290
6
"parse.y"
{
if
(
TREE_CODE
(
yyval
.
ttype
)
==
IDENTIFIER_NODE
)
yyval
.
ttype
=
lastiddecl
;
...
...
@@ -6881,15 +6885,15 @@ case 637:
;
break
;}
case
638
:
#line 29
08
"parse.y"
#line 29
12
"parse.y"
{
got_scope
=
yyval
.
ttype
=
complete_type
(
TREE_TYPE
(
yyvsp
[
-
1
].
ttype
));
;
break
;}
case
640
:
#line 292
4
"parse.y"
#line 292
8
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
641
:
#line 29
29
"parse.y"
#line 29
33
"parse.y"
{
if
(
TREE_CODE_CLASS
(
TREE_CODE
(
yyvsp
[
-
1
].
ttype
))
==
't'
)
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
...
...
@@ -6904,26 +6908,26 @@ case 641:
;
break
;}
case
642
:
#line 294
2
"parse.y"
#line 294
6
"parse.y"
{
yyval
.
ttype
=
TREE_TYPE
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
643
:
#line 294
4
"parse.y"
#line 294
8
"parse.y"
{
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
644
:
#line 29
46
"parse.y"
#line 29
50
"parse.y"
{
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
645
:
#line 295
1
"parse.y"
#line 295
5
"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 29
56
"parse.y"
#line 29
60
"parse.y"
{
if
(
TREE_CODE_CLASS
(
TREE_CODE
(
yyvsp
[
-
1
].
ttype
))
==
't'
)
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
...
...
@@ -6938,15 +6942,15 @@ case 646:
;
break
;}
case
647
:
#line 29
69
"parse.y"
#line 29
73
"parse.y"
{
got_scope
=
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
648
:
#line 297
1
"parse.y"
#line 297
5
"parse.y"
{
got_scope
=
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
649
:
#line 29
76
"parse.y"
#line 29
80
"parse.y"
{
if
(
TREE_CODE
(
yyvsp
[
-
1
].
ttype
)
!=
IDENTIFIER_NODE
)
yyvsp
[
-
1
].
ttype
=
lastiddecl
;
...
...
@@ -6960,7 +6964,7 @@ case 649:
;
break
;}
case
650
:
#line 29
88
"parse.y"
#line 29
92
"parse.y"
{
if
(
TREE_CODE
(
yyvsp
[
-
1
].
ttype
)
!=
IDENTIFIER_NODE
)
yyval
.
ttype
=
lastiddecl
;
...
...
@@ -6968,11 +6972,11 @@ case 650:
;
break
;}
case
651
:
#line 299
4
"parse.y"
#line 299
8
"parse.y"
{
got_scope
=
yyval
.
ttype
=
complete_type
(
TREE_TYPE
(
yyval
.
ttype
));
;
break
;}
case
654
:
#line
2998
"parse.y"
#line
3002
"parse.y"
{
if
(
TREE_CODE
(
yyval
.
ttype
)
==
IDENTIFIER_NODE
)
yyval
.
ttype
=
lastiddecl
;
...
...
@@ -6980,11 +6984,11 @@ case 654:
;
break
;}
case
655
:
#line 30
07
"parse.y"
#line 30
11
"parse.y"
{
yyval
.
ttype
=
build_min_nt
(
TEMPLATE_ID_EXPR
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
656
:
#line 301
2
"parse.y"
#line 301
6
"parse.y"
{
if
(
TREE_CODE
(
yyvsp
[
0
].
ttype
)
==
IDENTIFIER_NODE
)
yyval
.
ttype
=
IDENTIFIER_GLOBAL_VALUE
(
yyvsp
[
0
].
ttype
);
...
...
@@ -6994,148 +6998,148 @@ case 656:
;
break
;}
case
658
:
#line 302
1
"parse.y"
#line 302
5
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
659
:
#line 30
26
"parse.y"
#line 30
30
"parse.y"
{
got_scope
=
NULL_TREE
;
;
break
;}
case
660
:
#line 30
28
"parse.y"
#line 30
32
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
got_scope
=
NULL_TREE
;
;
break
;}
case
661
:
#line 303
5
"parse.y"
#line 303
9
"parse.y"
{
got_scope
=
void_type_node
;
;
break
;}
case
662
:
#line 304
1
"parse.y"
#line 304
5
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
663
:
#line 304
3
"parse.y"
#line 304
7
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
664
:
#line 304
5
"parse.y"
#line 304
9
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
665
:
#line 30
47
"parse.y"
#line 30
51
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
666
:
#line 30
49
"parse.y"
#line 30
53
"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
3
"parse.y"
#line 305
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
669
:
#line 306
2
"parse.y"
#line 306
6
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
670
:
#line 306
4
"parse.y"
#line 306
8
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
671
:
#line 307
0
"parse.y"
#line 307
4
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
672
:
#line 307
2
"parse.y"
#line 307
6
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
673
:
#line 307
4
"parse.y"
#line 307
8
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
0
].
ftype
.
t
,
NULL_TREE
);
;
break
;}
case
674
:
#line 30
76
"parse.y"
#line 30
80
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
675
:
#line 30
78
"parse.y"
#line 30
82
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
676
:
#line 308
0
"parse.y"
#line 308
4
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
677
:
#line 308
2
"parse.y"
#line 308
6
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
0
].
ftype
.
t
,
NULL_TREE
);
;
break
;}
case
678
:
#line 308
4
"parse.y"
#line 308
8
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
679
:
#line 30
86
"parse.y"
#line 30
90
"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
0
"parse.y"
#line 309
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
682
:
#line 3
099
"parse.y"
#line 3
103
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
case
684
:
#line 310
3
"parse.y"
#line 310
7
"parse.y"
{
yyval
.
ttype
=
make_call_declarator
(
yyval
.
ttype
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
685
:
#line 310
5
"parse.y"
#line 310
9
"parse.y"
{
yyval
.
ttype
=
make_call_declarator
(
yyval
.
ttype
,
empty_parms
(),
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
686
:
#line 31
07
"parse.y"
#line 31
11
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
687
:
#line 31
09
"parse.y"
#line 31
13
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
NULL_TREE
);
;
break
;}
case
688
:
#line 311
1
"parse.y"
#line 311
5
"parse.y"
{
yyval
.
ttype
=
make_call_declarator
(
NULL_TREE
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
689
:
#line 311
3
"parse.y"
#line 311
7
"parse.y"
{
set_quals_and_spec
(
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
690
:
#line 311
5
"parse.y"
#line 311
9
"parse.y"
{
set_quals_and_spec
(
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
691
:
#line 31
17
"parse.y"
#line 31
21
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
692
:
#line 31
19
"parse.y"
#line 31
23
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
699
:
#line 314
2
"parse.y"
#line 314
6
"parse.y"
{
if
(
pedantic
)
pedwarn
(
"ANSI C++ forbids label declarations"
);
;
break
;}
case
702
:
#line 315
3
"parse.y"
#line 315
7
"parse.y"
{
tree
link
;
for
(
link
=
yyvsp
[
-
1
].
ttype
;
link
;
link
=
TREE_CHAIN
(
link
))
{
...
...
@@ -7146,181 +7150,181 @@ case 702:
;
break
;}
case
703
:
#line 31
67
"parse.y"
#line 31
71
"parse.y"
{;
break
;}
case
705
:
#line 317
3
"parse.y"
#line 317
7
"parse.y"
{
yyval
.
ttype
=
begin_compound_stmt
(
0
);
;
break
;}
case
706
:
#line 317
5
"parse.y"
#line 317
9
"parse.y"
{
yyval
.
ttype
=
finish_compound_stmt
(
0
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
707
:
#line 318
0
"parse.y"
#line 318
4
"parse.y"
{
yyval
.
ttype
=
begin_if_stmt
();
cond_stmt_keyword
=
"if"
;
;
break
;}
case
708
:
#line 318
5
"parse.y"
#line 318
9
"parse.y"
{
finish_if_stmt_cond
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
709
:
#line 31
87
"parse.y"
#line 31
91
"parse.y"
{
yyval
.
ttype
=
finish_then_clause
(
yyvsp
[
-
3
].
ttype
);
;
break
;}
case
711
:
#line 319
2
"parse.y"
#line 319
6
"parse.y"
{
yyval
.
ttype
=
begin_compound_stmt
(
0
);
;
break
;}
case
712
:
#line 319
4
"parse.y"
#line 319
8
"parse.y"
{
yyval
.
ttype
=
finish_compound_stmt
(
0
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
713
:
#line 3
199
"parse.y"
#line 3
203
"parse.y"
{;
break
;}
case
715
:
#line 320
5
"parse.y"
#line 320
9
"parse.y"
{
finish_stmt
();
;
break
;}
case
716
:
#line 32
07
"parse.y"
#line 32
11
"parse.y"
{
finish_expr_stmt
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
717
:
#line 32
09
"parse.y"
#line 32
13
"parse.y"
{
begin_else_clause
();
;
break
;}
case
718
:
#line 321
1
"parse.y"
#line 321
5
"parse.y"
{
finish_else_clause
(
yyvsp
[
-
3
].
ttype
);
finish_if_stmt
();
;
break
;}
case
719
:
#line 32
16
"parse.y"
#line 32
20
"parse.y"
{
finish_if_stmt
();
;
break
;}
case
720
:
#line 32
18
"parse.y"
#line 32
22
"parse.y"
{
yyval
.
ttype
=
begin_while_stmt
();
cond_stmt_keyword
=
"while"
;
;
break
;}
case
721
:
#line 322
3
"parse.y"
#line 322
7
"parse.y"
{
finish_while_stmt_cond
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
722
:
#line 322
5
"parse.y"
#line 322
9
"parse.y"
{
finish_while_stmt
(
yyvsp
[
-
3
].
ttype
);
;
break
;}
case
723
:
#line 32
27
"parse.y"
#line 32
31
"parse.y"
{
yyval
.
ttype
=
begin_do_stmt
();
;
break
;}
case
724
:
#line 32
29
"parse.y"
#line 32
33
"parse.y"
{
finish_do_body
(
yyvsp
[
-
2
].
ttype
);
cond_stmt_keyword
=
"do"
;
;
break
;}
case
725
:
#line 323
4
"parse.y"
#line 323
8
"parse.y"
{
finish_do_stmt
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
5
].
ttype
);
;
break
;}
case
726
:
#line 32
36
"parse.y"
#line 32
40
"parse.y"
{
yyval
.
ttype
=
begin_for_stmt
();
;
break
;}
case
727
:
#line 32
38
"parse.y"
#line 32
42
"parse.y"
{
finish_for_init_stmt
(
yyvsp
[
-
2
].
ttype
);
;
break
;}
case
728
:
#line 324
0
"parse.y"
#line 324
4
"parse.y"
{
finish_for_cond
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
5
].
ttype
);
;
break
;}
case
729
:
#line 324
2
"parse.y"
#line 324
6
"parse.y"
{
finish_for_expr
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
8
].
ttype
);
;
break
;}
case
730
:
#line 324
4
"parse.y"
#line 324
8
"parse.y"
{
finish_for_stmt
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
10
].
ttype
);
;
break
;}
case
731
:
#line 32
46
"parse.y"
#line 32
50
"parse.y"
{
begin_switch_stmt
();
;
break
;}
case
732
:
#line 32
48
"parse.y"
#line 32
52
"parse.y"
{
yyval
.
ttype
=
finish_switch_cond
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
733
:
#line 325
0
"parse.y"
#line 325
4
"parse.y"
{
finish_switch_stmt
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
734
:
#line 325
2
"parse.y"
#line 325
6
"parse.y"
{
finish_case_label
(
yyvsp
[
-
1
].
ttype
,
NULL_TREE
);
;
break
;}
case
736
:
#line 325
5
"parse.y"
#line 325
9
"parse.y"
{
finish_case_label
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
738
:
#line 32
58
"parse.y"
#line 32
62
"parse.y"
{
finish_case_label
(
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
740
:
#line 326
1
"parse.y"
#line 326
5
"parse.y"
{
finish_break_stmt
();
;
break
;}
case
741
:
#line 326
3
"parse.y"
#line 326
7
"parse.y"
{
finish_continue_stmt
();
;
break
;}
case
742
:
#line 326
5
"parse.y"
#line 326
9
"parse.y"
{
finish_return_stmt
(
NULL_TREE
);
;
break
;}
case
743
:
#line 32
67
"parse.y"
#line 32
71
"parse.y"
{
finish_return_stmt
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
744
:
#line 32
69
"parse.y"
#line 32
73
"parse.y"
{
finish_asm_stmt
(
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
,
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
745
:
#line 327
5
"parse.y"
#line 327
9
"parse.y"
{
finish_asm_stmt
(
yyvsp
[
-
6
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
746
:
#line 328
1
"parse.y"
#line 328
5
"parse.y"
{
finish_asm_stmt
(
yyvsp
[
-
8
].
ttype
,
yyvsp
[
-
6
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
);
;
break
;}
case
747
:
#line 328
5
"parse.y"
#line 328
9
"parse.y"
{
finish_asm_stmt
(
yyvsp
[
-
10
].
ttype
,
yyvsp
[
-
8
].
ttype
,
yyvsp
[
-
6
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
2
].
ttype
);
;
break
;}
case
748
:
#line 32
87
"parse.y"
#line 32
91
"parse.y"
{
if
(
pedantic
)
pedwarn
(
"ANSI C++ forbids computed gotos"
);
...
...
@@ -7328,29 +7332,29 @@ case 748:
;
break
;}
case
749
:
#line 329
3
"parse.y"
#line 329
7
"parse.y"
{
finish_goto_stmt
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
750
:
#line 329
5
"parse.y"
#line 329
9
"parse.y"
{
finish_stmt
();
;
break
;}
case
751
:
#line 3
297
"parse.y"
#line 3
301
"parse.y"
{
error
(
"label must be followed by statement"
);
yyungetc
(
'}'
,
0
);
finish_stmt
();
;
break
;}
case
752
:
#line 330
1
"parse.y"
#line 330
5
"parse.y"
{
finish_stmt
();
;
break
;}
case
755
:
#line 330
5
"parse.y"
#line 330
9
"parse.y"
{
do_local_using_decl
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
757
:
#line 331
1
"parse.y"
#line 331
5
"parse.y"
{
if
(
!
current_function_parms_stored
)
store_parm_decls
();
...
...
@@ -7358,13 +7362,13 @@ case 757:
;
break
;}
case
758
:
#line 33
17
"parse.y"
#line 33
21
"parse.y"
{
expand_start_all_catch
();
;
break
;}
case
759
:
#line 332
1
"parse.y"
#line 332
5
"parse.y"
{
int
nested
=
(
hack_decl_function_context
(
current_function_decl
)
!=
NULL_TREE
);
...
...
@@ -7373,41 +7377,41 @@ case 759:
;
break
;}
case
760
:
#line 333
1
"parse.y"
#line 333
5
"parse.y"
{
yyval
.
ttype
=
begin_try_block
();
;
break
;}
case
761
:
#line 333
3
"parse.y"
#line 333
7
"parse.y"
{
finish_try_block
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
762
:
#line 333
5
"parse.y"
#line 333
9
"parse.y"
{
finish_handler_sequence
(
yyvsp
[
-
3
].
ttype
);
;
break
;}
case
765
:
#line 334
5
"parse.y"
#line 334
9
"parse.y"
{
yyval
.
ttype
=
begin_handler
();
;
break
;}
case
766
:
#line 33
47
"parse.y"
#line 33
51
"parse.y"
{
finish_handler_parms
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
767
:
#line 33
49
"parse.y"
#line 33
53
"parse.y"
{
finish_handler
(
yyvsp
[
-
3
].
ttype
);
;
break
;}
case
770
:
#line 33
59
"parse.y"
#line 33
63
"parse.y"
{
expand_start_catch_block
(
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
771
:
#line 337
5
"parse.y"
#line 337
9
"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
2
"parse.y"
#line 338
6
"parse.y"
{
tree
label
;
do_label
:
label
=
define_label
(
input_filename
,
lineno
,
yyvsp
[
-
1
].
ttype
);
...
...
@@ -7416,98 +7420,98 @@ case 772:
;
break
;}
case
773
:
#line 33
89
"parse.y"
#line 33
93
"parse.y"
{
goto
do_label
;
;
break
;}
case
774
:
#line 339
1
"parse.y"
#line 339
5
"parse.y"
{
goto
do_label
;
;
break
;}
case
775
:
#line 339
3
"parse.y"
#line 339
7
"parse.y"
{
goto
do_label
;
;
break
;}
case
776
:
#line 3
398
"parse.y"
#line 3
402
"parse.y"
{
if
(
yyvsp
[
-
1
].
ttype
)
cplus_expand_expr_stmt
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
778
:
#line 340
1
"parse.y"
#line 340
5
"parse.y"
{
if
(
pedantic
)
pedwarn
(
"ANSI C++ forbids compound statements inside for initializations"
);
;
break
;}
case
779
:
#line 341
0
"parse.y"
#line 341
4
"parse.y"
{
emit_line_note
(
input_filename
,
lineno
);
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
780
:
#line 341
3
"parse.y"
#line 341
7
"parse.y"
{
emit_line_note
(
input_filename
,
lineno
);
;
break
;}
case
781
:
#line 34
18
"parse.y"
#line 34
22
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
783
:
#line 342
1
"parse.y"
#line 342
5
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
784
:
#line 34
28
"parse.y"
#line 34
32
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
787
:
#line 343
5
"parse.y"
#line 343
9
"parse.y"
{
yyval
.
ttype
=
chainon
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
788
:
#line 344
0
"parse.y"
#line 344
4
"parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
789
:
#line 344
5
"parse.y"
#line 344
9
"parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyval
.
ttype
,
NULL_TREE
);
;
break
;}
case
790
:
#line 34
47
"parse.y"
#line 34
51
"parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyval
.
ttype
);
;
break
;}
case
791
:
#line 34
58
"parse.y"
#line 34
62
"parse.y"
{
yyval
.
ttype
=
empty_parms
();
;
break
;}
case
793
:
#line 346
3
"parse.y"
#line 346
7
"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
1
"parse.y"
#line 347
5
"parse.y"
{
yyval
.
ttype
=
finish_parmlist
(
yyval
.
ttype
,
0
);
;
break
;}
case
795
:
#line 347
3
"parse.y"
#line 347
7
"parse.y"
{
yyval
.
ttype
=
finish_parmlist
(
yyvsp
[
-
1
].
ttype
,
1
);
;
break
;}
case
796
:
#line 34
76
"parse.y"
#line 34
80
"parse.y"
{
yyval
.
ttype
=
finish_parmlist
(
yyvsp
[
-
1
].
ttype
,
1
);
;
break
;}
case
797
:
#line 34
78
"parse.y"
#line 34
82
"parse.y"
{
yyval
.
ttype
=
finish_parmlist
(
build_tree_list
(
NULL_TREE
,
yyvsp
[
-
1
].
ftype
.
t
),
1
);
;
break
;}
case
798
:
#line 348
1
"parse.y"
#line 348
5
"parse.y"
{
yyval
.
ttype
=
finish_parmlist
(
NULL_TREE
,
1
);
;
break
;}
case
799
:
#line 348
3
"parse.y"
#line 348
7
"parse.y"
{
/* This helps us recover from really nasty
parse errors, for example, a missing right
...
...
@@ -7519,7 +7523,7 @@ case 799:
;
break
;}
case
800
:
#line 349
3
"parse.y"
#line 349
7
"parse.y"
{
/* This helps us recover from really nasty
parse errors, for example, a missing right
...
...
@@ -7532,98 +7536,98 @@ case 800:
;
break
;}
case
801
:
#line 35
08
"parse.y"
#line 35
12
"parse.y"
{
maybe_snarf_defarg
();
;
break
;}
case
802
:
#line 351
0
"parse.y"
#line 351
4
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
805
:
#line 352
1
"parse.y"
#line 352
5
"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 352
4
"parse.y"
#line 352
8
"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 35
27
"parse.y"
#line 35
31
"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
0
"parse.y"
#line 353
4
"parse.y"
{
yyval
.
ttype
=
chainon
(
yyval
.
ttype
,
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
));
;
break
;}
case
809
:
#line 353
2
"parse.y"
#line 353
6
"parse.y"
{
yyval
.
ttype
=
chainon
(
yyval
.
ttype
,
build_tree_list
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
2
].
ttype
));
;
break
;}
case
811
:
#line 35
38
"parse.y"
#line 35
42
"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 35
48
"parse.y"
#line 35
52
"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
2
"parse.y"
#line 355
6
"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 355
5
"parse.y"
#line 355
9
"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 35
58
"parse.y"
#line 35
62
"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
2
"parse.y"
#line 356
6
"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 35
66
"parse.y"
#line 35
70
"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
3
"parse.y"
#line 357
7
"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 35
76
"parse.y"
#line 35
80
"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 35
87
"parse.y"
#line 35
91
"parse.y"
{
see_typename
();
;
break
;}
case
823
:
#line 359
2
"parse.y"
#line 359
6
"parse.y"
{
error
(
"type specifier omitted for parameter"
);
yyval
.
ttype
=
build_tree_list
(
integer_type_node
,
NULL_TREE
);
;
break
;}
case
824
:
#line 3
597
"parse.y"
#line 3
601
"parse.y"
{
error
(
"type specifier omitted for parameter"
);
if
(
TREE_CODE
(
yyval
.
ttype
)
==
SCOPE_REF
...
...
@@ -7634,188 +7638,188 @@ case 824:
;
break
;}
case
825
:
#line 36
09
"parse.y"
#line 36
13
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
826
:
#line 361
1
"parse.y"
#line 361
5
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
case
827
:
#line 361
3
"parse.y"
#line 361
7
"parse.y"
{
yyval
.
ttype
=
build_decl_list
(
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
828
:
#line 36
18
"parse.y"
#line 36
22
"parse.y"
{
yyval
.
ttype
=
build_decl_list
(
NULL_TREE
,
groktypename
(
yyvsp
[
0
].
ftype
.
t
));
;
break
;}
case
830
:
#line 362
4
"parse.y"
#line 362
8
"parse.y"
{
TREE_CHAIN
(
yyvsp
[
0
].
ttype
)
=
yyval
.
ttype
;
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
831
:
#line 363
2
"parse.y"
#line 363
6
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
832
:
#line 363
4
"parse.y"
#line 363
8
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
833
:
#line 36
36
"parse.y"
#line 36
40
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
834
:
#line 36
38
"parse.y"
#line 36
42
"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 364
5
"parse.y"
#line 364
9
"parse.y"
{
got_scope
=
NULL_TREE
;
;
break
;}
case
836
:
#line 365
0
"parse.y"
#line 365
4
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
MULT_EXPR
];
;
break
;}
case
837
:
#line 365
2
"parse.y"
#line 365
6
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
TRUNC_DIV_EXPR
];
;
break
;}
case
838
:
#line 365
4
"parse.y"
#line 365
8
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
TRUNC_MOD_EXPR
];
;
break
;}
case
839
:
#line 36
56
"parse.y"
#line 36
60
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
PLUS_EXPR
];
;
break
;}
case
840
:
#line 36
58
"parse.y"
#line 36
62
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
MINUS_EXPR
];
;
break
;}
case
841
:
#line 366
0
"parse.y"
#line 366
4
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
BIT_AND_EXPR
];
;
break
;}
case
842
:
#line 366
2
"parse.y"
#line 366
6
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
BIT_IOR_EXPR
];
;
break
;}
case
843
:
#line 366
4
"parse.y"
#line 366
8
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
BIT_XOR_EXPR
];
;
break
;}
case
844
:
#line 36
66
"parse.y"
#line 36
70
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
BIT_NOT_EXPR
];
;
break
;}
case
845
:
#line 36
68
"parse.y"
#line 36
72
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
COMPOUND_EXPR
];
;
break
;}
case
846
:
#line 367
0
"parse.y"
#line 367
4
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
yyvsp
[
0
].
code
];
;
break
;}
case
847
:
#line 367
2
"parse.y"
#line 367
6
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
LT_EXPR
];
;
break
;}
case
848
:
#line 367
4
"parse.y"
#line 367
8
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
GT_EXPR
];
;
break
;}
case
849
:
#line 36
76
"parse.y"
#line 36
80
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
yyvsp
[
0
].
code
];
;
break
;}
case
850
:
#line 36
78
"parse.y"
#line 36
82
"parse.y"
{
yyval
.
ttype
=
ansi_assopname
[
yyvsp
[
0
].
code
];
;
break
;}
case
851
:
#line 368
0
"parse.y"
#line 368
4
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
MODIFY_EXPR
];
;
break
;}
case
852
:
#line 368
2
"parse.y"
#line 368
6
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
yyvsp
[
0
].
code
];
;
break
;}
case
853
:
#line 368
4
"parse.y"
#line 368
8
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
yyvsp
[
0
].
code
];
;
break
;}
case
854
:
#line 36
86
"parse.y"
#line 36
90
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
POSTINCREMENT_EXPR
];
;
break
;}
case
855
:
#line 36
88
"parse.y"
#line 36
92
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
PREDECREMENT_EXPR
];
;
break
;}
case
856
:
#line 369
0
"parse.y"
#line 369
4
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
TRUTH_ANDIF_EXPR
];
;
break
;}
case
857
:
#line 369
2
"parse.y"
#line 369
6
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
TRUTH_ORIF_EXPR
];
;
break
;}
case
858
:
#line 369
4
"parse.y"
#line 369
8
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
TRUTH_NOT_EXPR
];
;
break
;}
case
859
:
#line 3
696
"parse.y"
#line 3
700
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
COND_EXPR
];
;
break
;}
case
860
:
#line 3
698
"parse.y"
#line 3
702
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
yyvsp
[
0
].
code
];
;
break
;}
case
861
:
#line 370
0
"parse.y"
#line 370
4
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
COMPONENT_REF
];
;
break
;}
case
862
:
#line 370
2
"parse.y"
#line 370
6
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
MEMBER_REF
];
;
break
;}
case
863
:
#line 370
4
"parse.y"
#line 370
8
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
CALL_EXPR
];
;
break
;}
case
864
:
#line 37
06
"parse.y"
#line 37
10
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
ARRAY_REF
];
;
break
;}
case
865
:
#line 37
08
"parse.y"
#line 37
12
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
NEW_EXPR
];
;
break
;}
case
866
:
#line 371
0
"parse.y"
#line 371
4
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
DELETE_EXPR
];
;
break
;}
case
867
:
#line 371
2
"parse.y"
#line 371
6
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
VEC_NEW_EXPR
];
;
break
;}
case
868
:
#line 371
4
"parse.y"
#line 371
8
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
VEC_DELETE_EXPR
];
;
break
;}
case
869
:
#line 37
17
"parse.y"
#line 37
21
"parse.y"
{
yyval
.
ttype
=
grokoptypename
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
870
:
#line 37
19
"parse.y"
#line 37
23
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
ERROR_MARK
];
;
break
;}
}
...
...
@@ -8016,7 +8020,7 @@ yyerrhandle:
yystate
=
yyn
;
goto
yynewstate
;
}
#line 372
2
"parse.y"
#line 372
6
"parse.y"
#ifdef SPEW_DEBUG
...
...
gcc/cp/parse.y
View file @
479aecf1
...
...
@@ -1356,6 +1356,10 @@ primary:
if (processing_template_decl)
push_obstacks (&permanent_obstack, &permanent_obstack);
$$ = combine_strings ($$);
if (flag_const_strings)
TREE_TYPE ($$) = build_cplus_array_type
(TREE_TYPE (TREE_TYPE ($$)),
TYPE_DOMAIN (TREE_TYPE ($$)));
if (processing_template_decl)
pop_obstacks ();
}
...
...
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