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
3551c177
Commit
3551c177
authored
Jul 27, 1998
by
Jason Merrill
Committed by
Jason Merrill
Jul 27, 1998
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* typeck2.c (build_functional_cast): Handle default-initialization.
From-SVN: r21427
parent
b3abfd6f
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
553 additions
and
541 deletions
+553
-541
gcc/cp/ChangeLog
+3
-0
gcc/cp/Makefile.in
+1
-1
gcc/cp/parse.c
+540
-540
gcc/cp/typeck2.c
+9
-0
No files found.
gcc/cp/ChangeLog
View file @
3551c177
1998-07-27 Jason Merrill <jason@yorick.cygnus.com>
* typeck2.c (build_functional_cast): Handle default-initialization.
* call.c (build_over_call): Pass 1 to popclass.
* parse.y (direct_notype_declarator): Add precedence declaration
to notype_unqualified_id case.
* Makefile.in (EXPECT): Adjust.
* tree.c (ovl_member): Fix for single function in OVL.
...
...
gcc/cp/Makefile.in
View file @
3551c177
...
...
@@ -215,7 +215,7 @@ parse.o : $(PARSE_C) $(CONFIG_H) $(CXX_TREE_H) $(srcdir)/../flags.h lex.h \
$(CC)
-c
$(ALL_CFLAGS)
$(ALL_CPPFLAGS)
$(INCLUDES)
$(BIG_SWITCHFLAG)
\
`
echo
$(PARSE_C)
| sed
's,^\./,,'
`
CONFLICTS
=
expect 2
8
shift
/reduce conflicts and 42 reduce/reduce conflicts.
CONFLICTS
=
expect 2
6
shift
/reduce conflicts and 42 reduce/reduce conflicts.
$(PARSE_H)
:
$(PARSE_C)
$(PARSE_C)
:
$(srcdir)/parse.y
@
echo
$(CONFLICTS)
...
...
gcc/cp/parse.c
View file @
3551c177
...
...
@@ -659,64 +659,64 @@ static const short yyrline[] = { 0,
1222
,
1224
,
1226
,
1228
,
1230
,
1232
,
1234
,
1236
,
1238
,
1240
,
1244
,
1246
,
1248
,
1265
,
1268
,
1269
,
1270
,
1271
,
1272
,
1275
,
1278
,
1281
,
1285
,
1288
,
1290
,
1295
,
1297
,
1298
,
1301
,
1303
,
1305
,
1307
,
1311
,
1314
,
1318
,
132
0
,
1321
,
1322
,
1326
,
1334
,
133
5
,
1336
,
1344
,
1346
,
1349
,
1351
,
1361
,
1366
,
1368
,
1370
,
137
2
,
1374
,
1376
,
1378
,
1381
,
1383
,
1427
,
1428
,
1432
,
1436
,
144
0
,
1444
,
1446
,
1450
,
1452
,
1454
,
1462
,
1464
,
1466
,
1468
,
147
2
,
1474
,
1476
,
1478
,
1483
,
1485
,
1487
,
1489
,
1492
,
1494
,
149
6
,
1540
,
1543
,
1547
,
1550
,
1554
,
1557
,
1562
,
1564
,
1568
,
158
1
,
1584
,
1591
,
1598
,
1603
,
1605
,
1610
,
1612
,
1619
,
1621
,
162
5
,
1629
,
1635
,
1639
,
1642
,
1645
,
1648
,
1658
,
1660
,
1663
,
166
7
,
1670
,
1673
,
1676
,
1679
,
1685
,
1691
,
1693
,
1698
,
1700
,
17
09
,
1712
,
1714
,
1717
,
1723
,
1725
,
1735
,
1739
,
1742
,
1745
,
175
0
,
1753
,
1761
,
1763
,
1765
,
1767
,
1770
,
1773
,
1788
,
1807
,
181
0
,
1812
,
1815
,
1817
,
1820
,
1822
,
1825
,
1827
,
1830
,
1833
,
183
7
,
1843
,
1844
,
1856
,
1863
,
1866
,
1872
,
1876
,
1881
,
1887
,
18
88
,
1896
,
1899
,
1903
,
1906
,
1910
,
1915
,
1918
,
1922
,
1925
,
192
7
,
1929
,
1931
,
1938
,
1940
,
1941
,
1942
,
1946
,
1949
,
1953
,
195
6
,
1962
,
1964
,
1967
,
1970
,
1973
,
1979
,
1982
,
1985
,
1987
,
19
89
,
1993
,
1999
,
2007
,
2009
,
2013
,
2015
,
2020
,
2023
,
2026
,
20
28
,
2030
,
2034
,
2038
,
2043
,
2047
,
2050
,
2055
,
2059
,
2062
,
206
5
,
2069
,
2081
,
2083
,
2086
,
2106
,
2108
,
2111
,
2113
,
2118
,
212
0
,
2122
,
2124
,
2126
,
2128
,
2132
,
2137
,
2140
,
2142
,
2146
,
215
2
,
2157
,
2162
,
2164
,
2168
,
2173
,
2176
,
2183
,
2211
,
2217
,
22
19
,
2222
,
2225
,
2227
,
2231
,
2233
,
2237
,
2270
,
2306
,
2309
,
231
0
,
2331
,
2354
,
2356
,
2360
,
2371
,
2385
,
2390
,
2397
,
2400
,
24
08
,
2419
,
2428
,
2432
,
2447
,
2450
,
2455
,
2457
,
2459
,
2461
,
246
3
,
2465
,
2468
,
2470
,
2474
,
2480
,
2482
,
2485
,
2488
,
2490
,
250
1
,
2506
,
2509
,
2514
,
2517
,
2518
,
2529
,
2532
,
2533
,
2544
,
254
6
,
2549
,
2551
,
2554
,
2561
,
2569
,
2576
,
2582
,
2588
,
2596
,
260
0
,
2605
,
2609
,
2612
,
2621
,
2623
,
2627
,
2630
,
2635
,
2639
,
264
5
,
2656
,
2659
,
2663
,
2667
,
2675
,
2680
,
2686
,
2689
,
2691
,
269
3
,
2699
,
2702
,
2704
,
2706
,
2708
,
2712
,
2715
,
2733
,
2743
,
274
5
,
2746
,
2750
,
2755
,
2758
,
2760
,
2762
,
2764
,
2768
,
2774
,
277
7
,
2779
,
2781
,
2783
,
2787
,
2790
,
2793
,
2795
,
2797
,
2799
,
280
3
,
2806
,
2809
,
2811
,
2813
,
2815
,
2827
,
2838
,
2842
,
2847
,
285
1
,
2856
,
2858
,
2862
,
2865
,
2867
,
2871
,
2873
,
2874
,
2877
,
28
79
,
2881
,
2887
,
2902
,
2908
,
2914
,
2928
,
2930
,
2934
,
2948
,
295
0
,
2952
,
2956
,
2962
,
2975
,
2977
,
2981
,
2994
,
3000
,
3002
,
300
3
,
3004
,
3012
,
3017
,
3026
,
3027
,
3031
,
3034
,
3040
,
3046
,
30
49
,
3051
,
3053
,
3055
,
3059
,
3063
,
3067
,
3070
,
3075
,
3078
,
308
0
,
3082
,
3084
,
3086
,
3088
,
3090
,
3092
,
3096
,
3100
,
3104
,
31
08
,
3109
,
3111
,
3113
,
3115
,
3117
,
3119
,
3121
,
3123
,
3125
,
313
3
,
3135
,
3136
,
3137
,
3140
,
3146
,
3148
,
3153
,
3155
,
3158
,
317
2
,
3175
,
3178
,
3182
,
3185
,
3192
,
3194
,
3197
,
3199
,
3201
,
320
4
,
3207
,
3210
,
3213
,
3215
,
3218
,
3222
,
3224
,
3230
,
3232
,
323
3
,
3235
,
3240
,
3242
,
3244
,
3246
,
3248
,
3251
,
3252
,
3254
,
325
7
,
3258
,
3261
,
3261
,
3264
,
3264
,
3267
,
3267
,
3269
,
3271
,
327
3
,
3275
,
3281
,
3287
,
3290
,
3293
,
3299
,
3301
,
3303
,
3307
,
33
09
,
3310
,
3311
,
3313
,
3316
,
3323
,
3328
,
3336
,
3340
,
3342
,
334
5
,
3347
,
3350
,
3354
,
3356
,
3359
,
3361
,
3364
,
3381
,
3387
,
339
5
,
3397
,
3399
,
3403
,
3406
,
3407
,
3415
,
3419
,
3423
,
3426
,
342
7
,
3433
,
3436
,
3439
,
3441
,
3445
,
3450
,
3453
,
3463
,
3468
,
34
69
,
3476
,
3479
,
3482
,
3484
,
3487
,
3489
,
3499
,
3513
,
3517
,
352
0
,
3522
,
3526
,
3530
,
3533
,
3536
,
3538
,
3542
,
3544
,
3551
,
35
58
,
3561
,
3564
,
3568
,
3572
,
3578
,
3582
,
3587
,
3589
,
3592
,
359
7
,
3603
,
3614
,
3617
,
3619
,
3623
,
3628
,
3630
,
3637
,
3640
,
364
2
,
3644
,
3650
,
3655
,
3658
,
3660
,
3662
,
3664
,
3666
,
3668
,
367
0
,
3672
,
3674
,
3676
,
3678
,
3680
,
3682
,
3684
,
3686
,
3688
,
369
0
,
3692
,
3694
,
3696
,
3698
,
3700
,
3702
,
3704
,
3706
,
3708
,
371
0
,
3712
,
3714
,
3716
,
3718
,
3720
,
3723
,
3725
1305
,
1307
,
1311
,
1314
,
1318
,
132
2
,
1323
,
1324
,
1328
,
1336
,
133
7
,
1338
,
1346
,
1348
,
1351
,
1353
,
1363
,
1368
,
1370
,
1372
,
137
4
,
1376
,
1378
,
1380
,
1383
,
1385
,
1429
,
1430
,
1434
,
1438
,
144
2
,
1446
,
1448
,
1452
,
1454
,
1456
,
1464
,
1466
,
1468
,
1470
,
147
4
,
1476
,
1478
,
1480
,
1485
,
1487
,
1489
,
1491
,
1494
,
1496
,
149
8
,
1542
,
1545
,
1549
,
1552
,
1556
,
1559
,
1564
,
1566
,
1570
,
158
3
,
1586
,
1593
,
1600
,
1605
,
1607
,
1612
,
1614
,
1621
,
1623
,
162
7
,
1631
,
1637
,
1641
,
1644
,
1647
,
1650
,
1660
,
1662
,
1665
,
166
9
,
1672
,
1675
,
1678
,
1681
,
1687
,
1693
,
1695
,
1700
,
1702
,
17
11
,
1714
,
1716
,
1719
,
1725
,
1727
,
1737
,
1741
,
1744
,
1747
,
175
2
,
1755
,
1763
,
1765
,
1767
,
1769
,
1772
,
1775
,
1790
,
1809
,
181
2
,
1814
,
1817
,
1819
,
1822
,
1824
,
1827
,
1829
,
1832
,
1835
,
183
9
,
1845
,
1846
,
1858
,
1865
,
1868
,
1874
,
1878
,
1883
,
1889
,
18
90
,
1898
,
1901
,
1905
,
1908
,
1912
,
1917
,
1920
,
1924
,
1927
,
192
9
,
1931
,
1933
,
1940
,
1942
,
1943
,
1944
,
1948
,
1951
,
1955
,
195
8
,
1964
,
1966
,
1969
,
1972
,
1975
,
1981
,
1984
,
1987
,
1989
,
19
91
,
1995
,
2001
,
2009
,
2011
,
2015
,
2017
,
2022
,
2025
,
2028
,
20
30
,
2032
,
2036
,
2040
,
2045
,
2049
,
2052
,
2057
,
2061
,
2064
,
206
7
,
2071
,
2083
,
2085
,
2088
,
2108
,
2110
,
2113
,
2115
,
2120
,
212
2
,
2124
,
2126
,
2128
,
2130
,
2134
,
2139
,
2142
,
2144
,
2148
,
215
4
,
2159
,
2164
,
2166
,
2170
,
2175
,
2178
,
2185
,
2213
,
2219
,
22
21
,
2224
,
2227
,
2229
,
2233
,
2235
,
2239
,
2272
,
2308
,
2311
,
231
2
,
2333
,
2356
,
2358
,
2362
,
2373
,
2387
,
2392
,
2399
,
2402
,
24
10
,
2421
,
2430
,
2434
,
2449
,
2452
,
2457
,
2459
,
2461
,
2463
,
246
5
,
2467
,
2470
,
2472
,
2476
,
2482
,
2484
,
2487
,
2490
,
2492
,
250
3
,
2508
,
2511
,
2516
,
2519
,
2520
,
2531
,
2534
,
2535
,
2546
,
254
8
,
2551
,
2553
,
2556
,
2563
,
2571
,
2578
,
2584
,
2590
,
2598
,
260
2
,
2607
,
2611
,
2614
,
2623
,
2625
,
2629
,
2632
,
2637
,
2641
,
264
7
,
2658
,
2661
,
2665
,
2669
,
2677
,
2682
,
2688
,
2691
,
2693
,
269
5
,
2701
,
2704
,
2706
,
2708
,
2710
,
2714
,
2717
,
2735
,
2745
,
274
7
,
2748
,
2752
,
2757
,
2760
,
2762
,
2764
,
2766
,
2770
,
2776
,
277
9
,
2781
,
2783
,
2785
,
2789
,
2792
,
2795
,
2797
,
2799
,
2801
,
280
5
,
2808
,
2811
,
2813
,
2815
,
2817
,
2829
,
2840
,
2844
,
2849
,
285
3
,
2858
,
2860
,
2864
,
2867
,
2869
,
2873
,
2875
,
2876
,
2879
,
28
81
,
2883
,
2889
,
2904
,
2910
,
2916
,
2930
,
2932
,
2936
,
2950
,
295
2
,
2954
,
2958
,
2964
,
2977
,
2979
,
2983
,
2996
,
3002
,
3004
,
300
5
,
3006
,
3014
,
3019
,
3028
,
3029
,
3033
,
3036
,
3042
,
3048
,
30
51
,
3053
,
3055
,
3057
,
3061
,
3065
,
3069
,
3072
,
3077
,
3080
,
308
2
,
3084
,
3086
,
3088
,
3090
,
3092
,
3094
,
3098
,
3102
,
3106
,
31
10
,
3111
,
3113
,
3115
,
3117
,
3119
,
3121
,
3123
,
3125
,
3127
,
313
5
,
3137
,
3138
,
3139
,
3142
,
3148
,
3150
,
3155
,
3157
,
3160
,
317
4
,
3177
,
3180
,
3184
,
3187
,
3194
,
3196
,
3199
,
3201
,
3203
,
320
6
,
3209
,
3212
,
3215
,
3217
,
3220
,
3224
,
3226
,
3232
,
3234
,
323
5
,
3237
,
3242
,
3244
,
3246
,
3248
,
3250
,
3253
,
3254
,
3256
,
325
9
,
3260
,
3263
,
3263
,
3266
,
3266
,
3269
,
3269
,
3271
,
3273
,
327
5
,
3277
,
3283
,
3289
,
3292
,
3295
,
3301
,
3303
,
3305
,
3309
,
33
11
,
3312
,
3313
,
3315
,
3318
,
3325
,
3330
,
3338
,
3342
,
3344
,
334
7
,
3349
,
3352
,
3356
,
3358
,
3361
,
3363
,
3366
,
3383
,
3389
,
339
7
,
3399
,
3401
,
3405
,
3408
,
3409
,
3417
,
3421
,
3425
,
3428
,
342
9
,
3435
,
3438
,
3441
,
3443
,
3447
,
3452
,
3455
,
3465
,
3470
,
34
71
,
3478
,
3481
,
3484
,
3486
,
3489
,
3491
,
3501
,
3515
,
3519
,
352
2
,
3524
,
3528
,
3532
,
3535
,
3538
,
3540
,
3544
,
3546
,
3553
,
35
60
,
3563
,
3566
,
3570
,
3574
,
3580
,
3584
,
3589
,
3591
,
3594
,
359
9
,
3605
,
3616
,
3619
,
3621
,
3625
,
3630
,
3632
,
3639
,
3642
,
364
4
,
3646
,
3652
,
3657
,
3660
,
3662
,
3664
,
3666
,
3668
,
3670
,
367
2
,
3674
,
3676
,
3678
,
3680
,
3682
,
3684
,
3686
,
3688
,
3690
,
369
2
,
3694
,
3696
,
3698
,
3700
,
3702
,
3704
,
3706
,
3708
,
3710
,
371
2
,
3714
,
3716
,
3718
,
3720
,
3722
,
3725
,
3727
};
#endif
...
...
@@ -5119,11 +5119,11 @@ case 284:
{
yyval
.
ttype
=
lookup_template_function
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
288
:
#line 132
3
"parse.y"
#line 132
5
"parse.y"
{
yyval
.
ttype
=
finish_decl_parsing
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
289
:
#line 13
28
"parse.y"
#line 13
30
"parse.y"
{
if
(
TREE_CODE
(
yyvsp
[
0
].
ttype
)
==
BIT_NOT_EXPR
)
yyval
.
ttype
=
build_x_unary_op
(
BIT_NOT_EXPR
,
TREE_OPERAND
(
yyvsp
[
0
].
ttype
,
0
));
...
...
@@ -5132,7 +5132,7 @@ case 289:
;
break
;}
case
292
:
#line 133
7
"parse.y"
#line 133
9
"parse.y"
{
if
(
processing_template_decl
)
push_obstacks
(
&
permanent_obstack
,
&
permanent_obstack
);
...
...
@@ -5142,20 +5142,20 @@ case 292:
;
break
;}
case
293
:
#line 134
5
"parse.y"
#line 134
7
"parse.y"
{
yyval
.
ttype
=
finish_parenthesized_expr
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
294
:
#line 134
7
"parse.y"
#line 134
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
295
:
#line 135
0
"parse.y"
#line 135
2
"parse.y"
{
yyval
.
ttype
=
error_mark_node
;
;
break
;}
case
296
:
#line 135
2
"parse.y"
#line 135
4
"parse.y"
{
if
(
current_function_decl
==
0
)
{
error
(
"braced-group within expression allowed only inside a function"
);
...
...
@@ -5167,43 +5167,43 @@ case 296:
;
break
;}
case
297
:
#line 136
2
"parse.y"
#line 136
4
"parse.y"
{
yyval
.
ttype
=
finish_stmt_expr
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
298
:
#line 136
7
"parse.y"
#line 136
9
"parse.y"
{
yyval
.
ttype
=
finish_call_expr
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
1
);
;
break
;}
case
299
:
#line 13
69
"parse.y"
#line 13
71
"parse.y"
{
yyval
.
ttype
=
finish_call_expr
(
yyvsp
[
-
1
].
ttype
,
NULL_TREE
,
1
);
;
break
;}
case
300
:
#line 137
1
"parse.y"
#line 137
3
"parse.y"
{
yyval
.
ttype
=
finish_call_expr
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
0
);
;
break
;}
case
301
:
#line 137
3
"parse.y"
#line 137
5
"parse.y"
{
yyval
.
ttype
=
finish_call_expr
(
yyvsp
[
-
1
].
ttype
,
NULL_TREE
,
0
);
;
break
;}
case
302
:
#line 137
5
"parse.y"
#line 137
7
"parse.y"
{
yyval
.
ttype
=
grok_array_decl
(
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
303
:
#line 137
7
"parse.y"
#line 137
9
"parse.y"
{
yyval
.
ttype
=
finish_increment_expr
(
yyvsp
[
-
1
].
ttype
,
POSTINCREMENT_EXPR
);
;
break
;}
case
304
:
#line 13
79
"parse.y"
#line 13
81
"parse.y"
{
yyval
.
ttype
=
finish_increment_expr
(
yyvsp
[
-
1
].
ttype
,
POSTDECREMENT_EXPR
);
;
break
;}
case
305
:
#line 138
2
"parse.y"
#line 138
4
"parse.y"
{
yyval
.
ttype
=
finish_this_expr
();
;
break
;}
case
306
:
#line 138
4
"parse.y"
#line 138
6
"parse.y"
{
tree
type
=
NULL_TREE
;
tree
id
=
yyval
.
ttype
;
...
...
@@ -5249,49 +5249,49 @@ case 306:
;
break
;}
case
308
:
#line 14
29
"parse.y"
#line 14
31
"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
309
:
#line 143
3
"parse.y"
#line 143
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
310
:
#line 143
7
"parse.y"
#line 143
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
311
:
#line 144
1
"parse.y"
#line 144
3
"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
312
:
#line 144
5
"parse.y"
#line 144
7
"parse.y"
{
yyval
.
ttype
=
build_x_typeid
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
313
:
#line 144
7
"parse.y"
#line 144
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
314
:
#line 145
1
"parse.y"
#line 145
3
"parse.y"
{
yyval
.
ttype
=
do_scoped_id
(
yyvsp
[
0
].
ttype
,
1
);
;
break
;}
case
315
:
#line 145
3
"parse.y"
#line 145
5
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
316
:
#line 145
5
"parse.y"
#line 145
7
"parse.y"
{
got_scope
=
NULL_TREE
;
if
(
TREE_CODE
(
yyvsp
[
0
].
ttype
)
==
IDENTIFIER_NODE
)
...
...
@@ -5301,102 +5301,102 @@ case 316:
;
break
;}
case
317
:
#line 146
3
"parse.y"
#line 146
5
"parse.y"
{
yyval
.
ttype
=
build_offset_ref
(
OP0
(
yyval
.
ttype
),
OP1
(
yyval
.
ttype
));
;
break
;}
case
318
:
#line 146
5
"parse.y"
#line 146
7
"parse.y"
{
yyval
.
ttype
=
finish_globally_qualified_member_call_expr
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
319
:
#line 146
7
"parse.y"
#line 146
9
"parse.y"
{
yyval
.
ttype
=
finish_globally_qualified_member_call_expr
(
yyvsp
[
-
1
].
ttype
,
NULL_TREE
);
;
break
;}
case
320
:
#line 14
69
"parse.y"
#line 14
71
"parse.y"
{
yyval
.
ttype
=
build_x_component_ref
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
NULL_TREE
,
1
);
;
break
;}
case
321
:
#line 147
3
"parse.y"
#line 147
5
"parse.y"
{
yyval
.
ttype
=
finish_object_call_expr
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
322
:
#line 147
5
"parse.y"
#line 147
7
"parse.y"
{
yyval
.
ttype
=
finish_object_call_expr
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
);
;
break
;}
case
323
:
#line 147
7
"parse.y"
#line 147
9
"parse.y"
{
yyval
.
ttype
=
build_x_component_ref
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
NULL_TREE
,
1
);
;
break
;}
case
324
:
#line 14
79
"parse.y"
#line 14
81
"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
325
:
#line 148
4
"parse.y"
#line 148
6
"parse.y"
{
yyval
.
ttype
=
finish_object_call_expr
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
326
:
#line 148
6
"parse.y"
#line 148
8
"parse.y"
{
yyval
.
ttype
=
finish_object_call_expr
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
);
;
break
;}
case
327
:
#line 14
88
"parse.y"
#line 14
90
"parse.y"
{
yyval
.
ttype
=
finish_qualified_object_call_expr
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
328
:
#line 149
0
"parse.y"
#line 149
2
"parse.y"
{
yyval
.
ttype
=
finish_qualified_object_call_expr
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
);
;
break
;}
case
329
:
#line 149
3
"parse.y"
#line 149
5
"parse.y"
{
yyval
.
ttype
=
finish_pseudo_destructor_call_expr
(
yyvsp
[
-
3
].
ttype
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
330
:
#line 149
5
"parse.y"
#line 149
7
"parse.y"
{
yyval
.
ttype
=
finish_pseudo_destructor_call_expr
(
yyvsp
[
-
5
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
331
:
#line 149
7
"parse.y"
#line 149
9
"parse.y"
{
yyval
.
ttype
=
error_mark_node
;
;
break
;}
case
332
:
#line 154
2
"parse.y"
#line 154
4
"parse.y"
{
yyval
.
itype
=
0
;
;
break
;}
case
333
:
#line 154
4
"parse.y"
#line 154
6
"parse.y"
{
got_scope
=
NULL_TREE
;
yyval
.
itype
=
1
;
;
break
;}
case
334
:
#line 15
49
"parse.y"
#line 15
51
"parse.y"
{
yyval
.
itype
=
0
;
;
break
;}
case
335
:
#line 155
1
"parse.y"
#line 155
3
"parse.y"
{
got_scope
=
NULL_TREE
;
yyval
.
itype
=
1
;
;
break
;}
case
336
:
#line 155
6
"parse.y"
#line 155
8
"parse.y"
{
yyval
.
ttype
=
boolean_true_node
;
;
break
;}
case
337
:
#line 15
58
"parse.y"
#line 15
60
"parse.y"
{
yyval
.
ttype
=
boolean_false_node
;
;
break
;}
case
339
:
#line 156
5
"parse.y"
#line 156
7
"parse.y"
{
yyval
.
ttype
=
chainon
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
340
:
#line 157
0
"parse.y"
#line 157
2
"parse.y"
{
if
(
!
current_function_parms_stored
)
store_parm_decls
();
...
...
@@ -5408,18 +5408,18 @@ case 340:
;
break
;}
case
341
:
#line 158
3
"parse.y"
#line 158
5
"parse.y"
{
got_object
=
TREE_TYPE
(
yyval
.
ttype
);
;
break
;}
case
342
:
#line 158
5
"parse.y"
#line 158
7
"parse.y"
{
yyval
.
ttype
=
build_x_arrow
(
yyval
.
ttype
);
got_object
=
TREE_TYPE
(
yyval
.
ttype
);
;
break
;}
case
343
:
#line 159
3
"parse.y"
#line 159
5
"parse.y"
{
resume_momentary
(
yyvsp
[
-
1
].
itype
);
if
(
yyvsp
[
-
2
].
ftype
.
t
&&
IS_AGGR_TYPE_CODE
(
TREE_CODE
(
yyvsp
[
-
2
].
ftype
.
t
)))
...
...
@@ -5427,138 +5427,138 @@ case 343:
;
break
;}
case
344
:
#line 1
599
"parse.y"
#line 1
601
"parse.y"
{
resume_momentary
(
yyvsp
[
-
1
].
itype
);
note_list_got_semicolon
(
yyvsp
[
-
2
].
ftype
.
t
);
;
break
;}
case
345
:
#line 160
4
"parse.y"
#line 160
6
"parse.y"
{
resume_momentary
(
yyvsp
[
-
1
].
itype
);
;
break
;}
case
346
:
#line 160
6
"parse.y"
#line 160
8
"parse.y"
{
shadow_tag
(
yyvsp
[
-
1
].
ftype
.
t
);
note_list_got_semicolon
(
yyvsp
[
-
1
].
ftype
.
t
);
;
break
;}
case
347
:
#line 161
1
"parse.y"
#line 161
3
"parse.y"
{
warning
(
"empty declaration"
);
;
break
;}
case
348
:
#line 161
3
"parse.y"
#line 161
5
"parse.y"
{
pedantic
=
yyvsp
[
-
1
].
itype
;
;
break
;}
case
351
:
#line 162
7
"parse.y"
#line 162
9
"parse.y"
{
yyval
.
ttype
=
make_call_declarator
(
NULL_TREE
,
empty_parms
(),
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
352
:
#line 163
0
"parse.y"
#line 163
2
"parse.y"
{
yyval
.
ttype
=
make_call_declarator
(
yyval
.
ttype
,
empty_parms
(),
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
353
:
#line 163
7
"parse.y"
#line 163
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
354
:
#line 164
0
"parse.y"
#line 164
2
"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
355
:
#line 164
3
"parse.y"
#line 164
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
356
:
#line 164
6
"parse.y"
#line 164
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
357
:
#line 16
49
"parse.y"
#line 16
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
360
:
#line 166
5
"parse.y"
#line 166
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
361
:
#line 16
68
"parse.y"
#line 16
70
"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
362
:
#line 167
1
"parse.y"
#line 167
3
"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
363
:
#line 167
4
"parse.y"
#line 167
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
364
:
#line 167
7
"parse.y"
#line 167
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
365
:
#line 168
0
"parse.y"
#line 168
2
"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
366
:
#line 168
7
"parse.y"
#line 168
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
367
:
#line 169
2
"parse.y"
#line 169
4
"parse.y"
{
yyval
.
ttype
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ftype
.
t
,
yyval
.
ttype
);
;
break
;}
case
368
:
#line 169
4
"parse.y"
#line 169
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
369
:
#line 1
699
"parse.y"
#line 1
701
"parse.y"
{
yyval
.
ttype
=
decl_tree_cons
(
yyvsp
[
0
].
ttype
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
370
:
#line 170
1
"parse.y"
#line 170
3
"parse.y"
{
yyval
.
ttype
=
decl_tree_cons
(
yyvsp
[
0
].
ttype
,
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
371
:
#line 171
1
"parse.y"
#line 171
3
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ftype
.
t
;
TREE_STATIC
(
yyval
.
ttype
)
=
1
;
;
break
;}
case
372
:
#line 171
3
"parse.y"
#line 171
5
"parse.y"
{
yyval
.
ttype
=
IDENTIFIER_AS_LIST
(
yyval
.
ttype
);
;
break
;}
case
373
:
#line 171
5
"parse.y"
#line 171
7
"parse.y"
{
yyval
.
ttype
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyval
.
ttype
);
TREE_STATIC
(
yyval
.
ttype
)
=
1
;
;
break
;}
case
374
:
#line 17
18
"parse.y"
#line 17
20
"parse.y"
{
if
(
extra_warnings
&&
TREE_STATIC
(
yyval
.
ttype
))
warning
(
"`%s' is not at beginning of declaration"
,
IDENTIFIER_POINTER
(
yyvsp
[
0
].
ttype
));
...
...
@@ -5566,61 +5566,61 @@ case 374:
TREE_STATIC
(
yyval
.
ttype
)
=
TREE_STATIC
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
375
:
#line 172
4
"parse.y"
#line 172
6
"parse.y"
{
yyval
.
ttype
=
decl_tree_cons
(
yyvsp
[
0
].
ttype
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
376
:
#line 172
6
"parse.y"
#line 172
8
"parse.y"
{
yyval
.
ttype
=
decl_tree_cons
(
yyvsp
[
0
].
ttype
,
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
377
:
#line 173
7
"parse.y"
#line 173
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
378
:
#line 174
0
"parse.y"
#line 174
2
"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
379
:
#line 174
3
"parse.y"
#line 174
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
380
:
#line 174
6
"parse.y"
#line 174
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
381
:
#line 175
2
"parse.y"
#line 175
4
"parse.y"
{
yyval
.
ttype
=
build_decl_list
(
NULL_TREE
,
yyvsp
[
0
].
ftype
.
t
);
;
break
;}
case
382
:
#line 175
4
"parse.y"
#line 175
6
"parse.y"
{
yyval
.
ttype
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ftype
.
t
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
384
:
#line 176
4
"parse.y"
#line 176
6
"parse.y"
{
yyval
.
ftype
.
t
=
yyvsp
[
0
].
ttype
;
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
case
385
:
#line 176
6
"parse.y"
#line 176
8
"parse.y"
{
yyval
.
ftype
.
t
=
yyvsp
[
0
].
ttype
;
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
case
386
:
#line 17
68
"parse.y"
#line 17
70
"parse.y"
{
yyval
.
ftype
.
t
=
TREE_TYPE
(
yyvsp
[
-
1
].
ttype
);
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
case
387
:
#line 177
1
"parse.y"
#line 177
3
"parse.y"
{
yyval
.
ftype
.
t
=
groktypename
(
yyvsp
[
-
1
].
ftype
.
t
);
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
case
388
:
#line 177
4
"parse.y"
#line 177
6
"parse.y"
{
tree
type
=
TREE_TYPE
(
yyvsp
[
-
1
].
ttype
);
yyval
.
ftype
.
new_type_flag
=
0
;
...
...
@@ -5637,7 +5637,7 @@ case 388:
;
break
;}
case
389
:
#line 17
89
"parse.y"
#line 17
91
"parse.y"
{
tree
type
=
groktypename
(
yyvsp
[
-
1
].
ftype
.
t
);
yyval
.
ftype
.
new_type_flag
=
0
;
...
...
@@ -5654,188 +5654,188 @@ case 389:
;
break
;}
case
390
:
#line 18
09
"parse.y"
#line 18
11
"parse.y"
{
yyval
.
ftype
.
t
=
yyvsp
[
0
].
ttype
;
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
case
391
:
#line 181
1
"parse.y"
#line 181
3
"parse.y"
{
yyval
.
ftype
.
t
=
yyvsp
[
0
].
ttype
;
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
case
399
:
#line 183
2
"parse.y"
#line 183
4
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
400
:
#line 183
4
"parse.y"
#line 183
6
"parse.y"
{
if
(
TREE_CHAIN
(
yyvsp
[
-
1
].
ttype
))
yyvsp
[
-
1
].
ttype
=
combine_strings
(
yyvsp
[
-
1
].
ttype
);
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
case
401
:
#line 18
39
"parse.y"
#line 18
41
"parse.y"
{
yyval
.
ttype
=
start_decl
(
yyvsp
[
-
3
].
ttype
,
current_declspecs
,
1
,
yyvsp
[
-
1
].
ttype
,
prefix_attributes
);
;
break
;}
case
402
:
#line 184
3
"parse.y"
#line 184
5
"parse.y"
{
cp_finish_decl
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
,
yyvsp
[
-
4
].
ttype
,
1
,
LOOKUP_ONLYCONVERTING
);
;
break
;}
case
403
:
#line 184
5
"parse.y"
#line 184
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
404
:
#line 18
58
"parse.y"
#line 18
60
"parse.y"
{
yyvsp
[
0
].
itype
=
parse_decl
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
1
].
ttype
,
1
,
&
yyval
.
ttype
);
;
break
;}
case
405
:
#line 186
3
"parse.y"
#line 186
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
406
:
#line 186
7
"parse.y"
#line 186
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
407
:
#line 187
4
"parse.y"
#line 187
6
"parse.y"
{
yyval
.
itype
=
yyvsp
[
0
].
itype
;
;
break
;}
case
408
:
#line 18
78
"parse.y"
#line 18
80
"parse.y"
{
yyval
.
itype
=
yyvsp
[
0
].
itype
;
;
break
;}
case
409
:
#line 188
3
"parse.y"
#line 188
5
"parse.y"
{
/* Set things up as initdcl0_innards expects. */
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
yyvsp
[
-
1
].
ttype
=
NULL_TREE
;
;
break
;}
case
410
:
#line 188
7
"parse.y"
#line 188
9
"parse.y"
{;
break
;}
case
411
:
#line 18
89
"parse.y"
#line 18
91
"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
412
:
#line 1
898
"parse.y"
#line 1
900
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
413
:
#line 190
0
"parse.y"
#line 190
2
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
414
:
#line 190
5
"parse.y"
#line 190
7
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
415
:
#line 190
7
"parse.y"
#line 190
9
"parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
416
:
#line 191
2
"parse.y"
#line 191
4
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
2
].
ttype
;
;
break
;}
case
417
:
#line 191
7
"parse.y"
#line 191
9
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
418
:
#line 19
19
"parse.y"
#line 19
21
"parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
419
:
#line 192
4
"parse.y"
#line 192
6
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
420
:
#line 192
6
"parse.y"
#line 192
8
"parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
421
:
#line 19
28
"parse.y"
#line 19
30
"parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
3
].
ttype
,
build_tree_list
(
NULL_TREE
,
yyvsp
[
-
1
].
ttype
));
;
break
;}
case
422
:
#line 193
0
"parse.y"
#line 193
2
"parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
5
].
ttype
,
tree_cons
(
NULL_TREE
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
));
;
break
;}
case
423
:
#line 193
2
"parse.y"
#line 193
4
"parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
428
:
#line 19
48
"parse.y"
#line 19
50
"parse.y"
{
yyval
.
ttype
=
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
429
:
#line 195
0
"parse.y"
#line 195
2
"parse.y"
{
yyval
.
ttype
=
chainon
(
yyvsp
[
-
2
].
ttype
,
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
));
;
break
;}
case
430
:
#line 195
5
"parse.y"
#line 195
7
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
431
:
#line 195
7
"parse.y"
#line 195
9
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
433
:
#line 196
5
"parse.y"
#line 196
7
"parse.y"
{
yyval
.
ttype
=
build_nt
(
CONSTRUCTOR
,
NULL_TREE
,
NULL_TREE
);
TREE_HAS_CONSTRUCTOR
(
yyval
.
ttype
)
=
1
;
;
break
;}
case
434
:
#line 19
68
"parse.y"
#line 19
70
"parse.y"
{
yyval
.
ttype
=
build_nt
(
CONSTRUCTOR
,
NULL_TREE
,
nreverse
(
yyvsp
[
-
1
].
ttype
));
TREE_HAS_CONSTRUCTOR
(
yyval
.
ttype
)
=
1
;
;
break
;}
case
435
:
#line 197
1
"parse.y"
#line 197
3
"parse.y"
{
yyval
.
ttype
=
build_nt
(
CONSTRUCTOR
,
NULL_TREE
,
nreverse
(
yyvsp
[
-
2
].
ttype
));
TREE_HAS_CONSTRUCTOR
(
yyval
.
ttype
)
=
1
;
;
break
;}
case
436
:
#line 197
4
"parse.y"
#line 197
6
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
437
:
#line 198
1
"parse.y"
#line 198
3
"parse.y"
{
yyval
.
ttype
=
build_tree_list
(
NULL_TREE
,
yyval
.
ttype
);
;
break
;}
case
438
:
#line 198
3
"parse.y"
#line 198
5
"parse.y"
{
yyval
.
ttype
=
expr_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyval
.
ttype
);
;
break
;}
case
439
:
#line 198
6
"parse.y"
#line 198
8
"parse.y"
{
yyval
.
ttype
=
build_expr_list
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
440
:
#line 19
88
"parse.y"
#line 19
90
"parse.y"
{
yyval
.
ttype
=
build_expr_list
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
441
:
#line 199
0
"parse.y"
#line 199
2
"parse.y"
{
yyval
.
ttype
=
expr_tree_cons
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
,
yyval
.
ttype
);
;
break
;}
case
442
:
#line 199
5
"parse.y"
#line 199
7
"parse.y"
{
start_function
(
NULL_TREE
,
TREE_VALUE
(
yyvsp
[
0
].
ttype
),
NULL_TREE
,
1
);
reinit_parse_for_function
();
;
break
;}
case
443
:
#line 200
1
"parse.y"
#line 200
3
"parse.y"
{
int
nested
=
(
hack_decl_function_context
(
current_function_decl
)
!=
NULL_TREE
);
...
...
@@ -5844,82 +5844,82 @@ case 443:
;
break
;}
case
444
:
#line 20
08
"parse.y"
#line 20
10
"parse.y"
{
process_next_inline
(
yyvsp
[
-
2
].
ttype
);
;
break
;}
case
445
:
#line 201
0
"parse.y"
#line 201
2
"parse.y"
{
process_next_inline
(
yyvsp
[
-
2
].
ttype
);
;
break
;}
case
448
:
#line 202
2
"parse.y"
#line 202
4
"parse.y"
{
replace_defarg
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
449
:
#line 202
4
"parse.y"
#line 202
6
"parse.y"
{
replace_defarg
(
yyvsp
[
-
2
].
ttype
,
error_mark_node
);
;
break
;}
case
451
:
#line 20
29
"parse.y"
#line 20
31
"parse.y"
{
do_pending_defargs
();
;
break
;}
case
452
:
#line 203
1
"parse.y"
#line 203
3
"parse.y"
{
do_pending_defargs
();
;
break
;}
case
453
:
#line 203
6
"parse.y"
#line 203
8
"parse.y"
{
yyvsp
[
0
].
itype
=
suspend_momentary
();
yyval
.
ttype
=
start_enum
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
454
:
#line 20
39
"parse.y"
#line 20
41
"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
455
:
#line 204
4
"parse.y"
#line 204
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
456
:
#line 20
48
"parse.y"
#line 20
50
"parse.y"
{
yyvsp
[
0
].
itype
=
suspend_momentary
();
yyval
.
ttype
=
start_enum
(
make_anon_name
());
;
break
;}
case
457
:
#line 205
1
"parse.y"
#line 205
3
"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
458
:
#line 205
6
"parse.y"
#line 205
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
459
:
#line 206
0
"parse.y"
#line 206
2
"parse.y"
{
yyval
.
ftype
.
t
=
xref_tag
(
enum_type_node
,
yyvsp
[
0
].
ttype
,
NULL_TREE
,
1
);
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
case
460
:
#line 206
3
"parse.y"
#line 206
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
461
:
#line 206
6
"parse.y"
#line 206
8
"parse.y"
{
yyval
.
ftype
.
t
=
yyvsp
[
0
].
ttype
;
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
case
462
:
#line 207
1
"parse.y"
#line 207
3
"parse.y"
{
int
semi
;
...
...
@@ -5931,17 +5931,17 @@ case 462:
;
break
;}
case
463
:
#line 208
1
"parse.y"
#line 208
3
"parse.y"
{
finish_default_args
();
;
break
;}
case
464
:
#line 208
3
"parse.y"
#line 208
5
"parse.y"
{
yyval
.
ftype
.
t
=
yyvsp
[
-
3
].
ttype
;
yyval
.
ftype
.
new_type_flag
=
1
;
begin_inline_definitions
();
;
break
;}
case
465
:
#line 208
7
"parse.y"
#line 208
9
"parse.y"
{
yyval
.
ftype
.
new_type_flag
=
0
;
if
(
TYPE_BINFO
(
yyvsp
[
0
].
ttype
)
==
NULL_TREE
)
...
...
@@ -5961,85 +5961,85 @@ case 465:
;
break
;}
case
469
:
#line 211
4
"parse.y"
#line 211
6
"parse.y"
{
if
(
pedantic
&&
!
in_system_header
)
pedwarn
(
"comma at end of enumerator list"
);
;
break
;}
case
471
:
#line 212
1
"parse.y"
#line 212
3
"parse.y"
{
error
(
"storage class specifier `%s' not allowed after struct or class"
,
IDENTIFIER_POINTER
(
yyvsp
[
0
].
ttype
));
;
break
;}
case
472
:
#line 212
3
"parse.y"
#line 212
5
"parse.y"
{
error
(
"type specifier `%s' not allowed after struct or class"
,
IDENTIFIER_POINTER
(
yyvsp
[
0
].
ttype
));
;
break
;}
case
473
:
#line 212
5
"parse.y"
#line 212
7
"parse.y"
{
error
(
"type qualifier `%s' not allowed after struct or class"
,
IDENTIFIER_POINTER
(
yyvsp
[
0
].
ttype
));
;
break
;}
case
474
:
#line 212
7
"parse.y"
#line 212
9
"parse.y"
{
error
(
"no body nor ';' separates two class, struct or union declarations"
);
;
break
;}
case
475
:
#line 21
29
"parse.y"
#line 21
31
"parse.y"
{
yyval
.
ttype
=
build_decl_list
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
476
:
#line 213
4
"parse.y"
#line 213
6
"parse.y"
{
current_aggr
=
yyval
.
ttype
;
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
477
:
#line 21
39
"parse.y"
#line 21
41
"parse.y"
{
current_aggr
=
yyval
.
ttype
;
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
478
:
#line 214
1
"parse.y"
#line 214
3
"parse.y"
{
yyungetc
(
'{'
,
1
);
;
break
;}
case
479
:
#line 214
3
"parse.y"
#line 214
5
"parse.y"
{
yyungetc
(
':'
,
1
);
;
break
;}
case
480
:
#line 21
48
"parse.y"
#line 21
50
"parse.y"
{
current_aggr
=
yyvsp
[
-
2
].
ttype
;
yyval
.
ttype
=
handle_class_head
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
481
:
#line 215
3
"parse.y"
#line 215
5
"parse.y"
{
current_aggr
=
yyvsp
[
-
3
].
ttype
;
yyval
.
ttype
=
handle_class_head
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
482
:
#line 21
58
"parse.y"
#line 21
60
"parse.y"
{
current_aggr
=
yyvsp
[
-
2
].
ttype
;
yyval
.
ttype
=
handle_class_head
(
yyvsp
[
-
2
].
ttype
,
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
483
:
#line 216
3
"parse.y"
#line 216
5
"parse.y"
{
current_aggr
=
yyval
.
ttype
;
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
484
:
#line 216
5
"parse.y"
#line 216
7
"parse.y"
{
current_aggr
=
yyval
.
ttype
;
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
485
:
#line 217
0
"parse.y"
#line 217
2
"parse.y"
{
yyval
.
ttype
=
xref_tag
(
current_aggr
,
yyvsp
[
0
].
ttype
,
NULL_TREE
,
0
);
;
break
;}
case
486
:
#line 217
5
"parse.y"
#line 217
7
"parse.y"
{
yyval
.
ttype
=
xref_tag
(
current_aggr
,
yyvsp
[
0
].
ttype
,
NULL_TREE
,
1
);
;
break
;}
case
487
:
#line 21
78
"parse.y"
#line 21
80
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
if
(
yyvsp
[
0
].
ttype
)
...
...
@@ -6047,7 +6047,7 @@ case 487:
;
break
;}
case
488
:
#line 218
4
"parse.y"
#line 218
6
"parse.y"
{
yyval
.
ttype
=
TREE_TYPE
(
yyvsp
[
-
1
].
ttype
);
if
(
TREE_INT_CST_LOW
(
current_aggr
)
==
union_type
...
...
@@ -6075,28 +6075,28 @@ case 488:
;
break
;}
case
489
:
#line 221
3
"parse.y"
#line 221
5
"parse.y"
{
yyval
.
ttype
=
xref_tag
(
yyval
.
ttype
,
make_anon_name
(),
NULL_TREE
,
0
);
yyungetc
(
'{'
,
1
);
;
break
;}
case
492
:
#line 222
4
"parse.y"
#line 222
6
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
493
:
#line 222
6
"parse.y"
#line 222
8
"parse.y"
{
yyungetc
(
':'
,
1
);
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
494
:
#line 22
28
"parse.y"
#line 22
30
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
496
:
#line 223
4
"parse.y"
#line 223
6
"parse.y"
{
yyval
.
ttype
=
chainon
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
497
:
#line 22
39
"parse.y"
#line 22
41
"parse.y"
{
tree
type
;
if
(
yyvsp
[
0
].
ttype
==
NULL_TREE
)
...
...
@@ -6130,7 +6130,7 @@ case 497:
;
break
;}
case
498
:
#line 227
1
"parse.y"
#line 227
3
"parse.y"
{
tree
type
;
if
(
yyvsp
[
0
].
ttype
==
NULL_TREE
)
...
...
@@ -6166,11 +6166,11 @@ case 498:
;
break
;}
case
499
:
#line 23
08
"parse.y"
#line 23
10
"parse.y"
{
yyval
.
ttype
=
TYPE_MAIN_DECL
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
501
:
#line 231
1
"parse.y"
#line 231
3
"parse.y"
{
if
(
current_aggr
==
signature_type_node
)
{
...
...
@@ -6193,7 +6193,7 @@ case 501:
;
break
;}
case
502
:
#line 233
2
"parse.y"
#line 233
4
"parse.y"
{
if
(
current_aggr
==
signature_type_node
)
{
...
...
@@ -6216,13 +6216,13 @@ case 502:
;
break
;}
case
504
:
#line 235
7
"parse.y"
#line 235
9
"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
505
:
#line 236
1
"parse.y"
#line 236
3
"parse.y"
{
if
(
yyvsp
[
-
2
].
ttype
!=
access_default_virtual_node
)
error
(
"multiple access specifiers"
);
...
...
@@ -6235,7 +6235,7 @@ case 505:
;
break
;}
case
506
:
#line 237
2
"parse.y"
#line 237
4
"parse.y"
{
if
(
yyvsp
[
-
1
].
ttype
!=
ridpointers
[(
int
)
RID_VIRTUAL
])
cp_error
(
"`%D' access"
,
yyvsp
[
-
1
].
ttype
);
else
if
(
yyval
.
ttype
==
access_public_node
)
...
...
@@ -6249,21 +6249,21 @@ case 506:
;
break
;}
case
507
:
#line 238
7
"parse.y"
#line 238
9
"parse.y"
{
yyvsp
[
-
1
].
ttype
=
begin_class_definition
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
508
:
#line 239
2
"parse.y"
#line 239
4
"parse.y"
{
yyval
.
ttype
=
build_self_reference
();
;
break
;}
case
509
:
#line 2
399
"parse.y"
#line 2
401
"parse.y"
{
if
(
yyval
.
ttype
)
yyval
.
ttype
=
build_tree_list
(
access_public_node
,
yyval
.
ttype
);
;
break
;}
case
510
:
#line 240
1
"parse.y"
#line 240
3
"parse.y"
{
if
(
current_aggr
==
signature_type_node
)
yyval
.
ttype
=
build_tree_list
(
access_public_node
,
yyvsp
[
0
].
ttype
);
...
...
@@ -6273,7 +6273,7 @@ case 510:
;
break
;}
case
511
:
#line 24
09
"parse.y"
#line 24
11
"parse.y"
{
tree
visspec
=
yyvsp
[
-
2
].
ttype
;
...
...
@@ -6286,19 +6286,19 @@ case 511:
;
break
;}
case
512
:
#line 242
0
"parse.y"
#line 242
2
"parse.y"
{
if
(
current_aggr
==
signature_type_node
)
error
(
"access specifier not allowed in signature"
);
;
break
;}
case
513
:
#line 243
0
"parse.y"
#line 243
2
"parse.y"
{
if
(
yyval
.
ttype
==
void_type_node
)
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
514
:
#line 243
3
"parse.y"
#line 243
5
"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
...
...
@@ -6313,95 +6313,95 @@ case 514:
;
break
;}
case
515
:
#line 24
49
"parse.y"
#line 24
51
"parse.y"
{
;
break
;}
case
516
:
#line 245
1
"parse.y"
#line 245
3
"parse.y"
{
error
(
"missing ';' before right brace"
);
yyungetc
(
'}'
,
0
);
;
break
;}
case
517
:
#line 245
6
"parse.y"
#line 245
8
"parse.y"
{
yyval
.
ttype
=
finish_method
(
yyval
.
ttype
);
;
break
;}
case
518
:
#line 24
58
"parse.y"
#line 24
60
"parse.y"
{
yyval
.
ttype
=
finish_method
(
yyval
.
ttype
);
;
break
;}
case
519
:
#line 246
0
"parse.y"
#line 246
2
"parse.y"
{
yyval
.
ttype
=
finish_method
(
yyval
.
ttype
);
;
break
;}
case
520
:
#line 246
2
"parse.y"
#line 246
4
"parse.y"
{
yyval
.
ttype
=
finish_method
(
yyval
.
ttype
);
;
break
;}
case
521
:
#line 246
4
"parse.y"
#line 246
6
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
522
:
#line 246
6
"parse.y"
#line 246
8
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
pedantic
=
yyvsp
[
-
1
].
itype
;
;
break
;}
case
523
:
#line 24
69
"parse.y"
#line 24
71
"parse.y"
{
yyval
.
ttype
=
finish_member_template_decl
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
524
:
#line 247
1
"parse.y"
#line 247
3
"parse.y"
{
yyval
.
ttype
=
finish_member_class_template
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ftype
.
t
);
;
break
;}
case
525
:
#line 24
79
"parse.y"
#line 24
81
"parse.y"
{
yyval
.
ttype
=
grok_x_components
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
526
:
#line 248
1
"parse.y"
#line 248
3
"parse.y"
{
yyval
.
ttype
=
grok_x_components
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
527
:
#line 248
3
"parse.y"
#line 248
5
"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
528
:
#line 248
6
"parse.y"
#line 248
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
529
:
#line 24
89
"parse.y"
#line 24
91
"parse.y"
{
yyval
.
ttype
=
grokbitfield
(
NULL_TREE
,
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
530
:
#line 249
1
"parse.y"
#line 249
3
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
531
:
#line 250
2
"parse.y"
#line 250
4
"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
532
:
#line 250
7
"parse.y"
#line 250
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
533
:
#line 251
0
"parse.y"
#line 251
2
"parse.y"
{
yyval
.
ttype
=
do_class_using_decl
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
534
:
#line 251
6
"parse.y"
#line 251
8
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
536
:
#line 25
19
"parse.y"
#line 25
21
"parse.y"
{
/* In this context, void_type_node encodes
friends. They have been recorded elsewhere. */
...
...
@@ -6412,11 +6412,11 @@ case 536:
;
break
;}
case
537
:
#line 253
1
"parse.y"
#line 253
3
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
539
:
#line 253
4
"parse.y"
#line 253
6
"parse.y"
{
/* In this context, void_type_node encodes
friends. They have been recorded elsewhere. */
...
...
@@ -6427,7 +6427,7 @@ case 539:
;
break
;}
case
544
:
#line 255
6
"parse.y"
#line 255
8
"parse.y"
{
split_specs_attrs
(
yyvsp
[
-
4
].
ttype
,
&
current_declspecs
,
&
prefix_attributes
);
yyvsp
[
-
4
].
ttype
=
current_declspecs
;
...
...
@@ -6435,7 +6435,7 @@ case 544:
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
prefix_attributes
));
;
break
;}
case
545
:
#line 256
2
"parse.y"
#line 256
4
"parse.y"
{
split_specs_attrs
(
yyvsp
[
-
4
].
ttype
,
&
current_declspecs
,
&
prefix_attributes
);
yyvsp
[
-
4
].
ttype
=
current_declspecs
;
...
...
@@ -6443,7 +6443,7 @@ case 545:
cplus_decl_attributes
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
prefix_attributes
);
;
break
;}
case
546
:
#line 257
1
"parse.y"
#line 257
3
"parse.y"
{
split_specs_attrs
(
yyvsp
[
-
4
].
ttype
,
&
current_declspecs
,
&
prefix_attributes
);
yyvsp
[
-
4
].
ttype
=
current_declspecs
;
...
...
@@ -6451,7 +6451,7 @@ case 546:
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
prefix_attributes
));
;
break
;}
case
547
:
#line 257
7
"parse.y"
#line 257
9
"parse.y"
{
split_specs_attrs
(
yyvsp
[
-
4
].
ttype
,
&
current_declspecs
,
&
prefix_attributes
);
yyvsp
[
-
4
].
ttype
=
current_declspecs
;
...
...
@@ -6459,7 +6459,7 @@ case 547:
build_tree_list
(
yyvsp
[
-
1
].
ttype
,
prefix_attributes
));
;
break
;}
case
548
:
#line 258
3
"parse.y"
#line 258
5
"parse.y"
{
split_specs_attrs
(
yyvsp
[
-
4
].
ttype
,
&
current_declspecs
,
&
prefix_attributes
);
yyvsp
[
-
4
].
ttype
=
current_declspecs
;
...
...
@@ -6467,7 +6467,7 @@ case 548:
cplus_decl_attributes
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
prefix_attributes
);
;
break
;}
case
549
:
#line 25
89
"parse.y"
#line 25
91
"parse.y"
{
split_specs_attrs
(
yyvsp
[
-
3
].
ttype
,
&
current_declspecs
,
&
prefix_attributes
);
yyvsp
[
-
3
].
ttype
=
current_declspecs
;
...
...
@@ -6475,54 +6475,54 @@ case 549:
cplus_decl_attributes
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
prefix_attributes
);
;
break
;}
case
550
:
#line 2
598
"parse.y"
#line 2
600
"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
551
:
#line 260
1
"parse.y"
#line 260
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
552
:
#line 260
7
"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
553
:
#line 261
0
"parse.y"
#line 261
2
"parse.y"
{
yyval
.
ttype
=
grokbitfield
(
yyval
.
ttype
,
current_declspecs
,
yyvsp
[
-
1
].
ttype
);
cplus_decl_attributes
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
prefix_attributes
);
;
break
;}
case
554
:
#line 261
3
"parse.y"
#line 261
5
"parse.y"
{
yyval
.
ttype
=
grokbitfield
(
NULL_TREE
,
current_declspecs
,
yyvsp
[
-
1
].
ttype
);
cplus_decl_attributes
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
,
prefix_attributes
);
;
break
;}
case
556
:
#line 262
4
"parse.y"
#line 262
6
"parse.y"
{
TREE_CHAIN
(
yyvsp
[
0
].
ttype
)
=
yyval
.
ttype
;
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
557
:
#line 26
29
"parse.y"
#line 26
31
"parse.y"
{
yyval
.
ttype
=
build_enumerator
(
yyval
.
ttype
,
NULL_TREE
);
;
break
;}
case
558
:
#line 263
1
"parse.y"
#line 263
3
"parse.y"
{
yyval
.
ttype
=
build_enumerator
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
559
:
#line 263
7
"parse.y"
#line 263
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
560
:
#line 264
0
"parse.y"
#line 264
2
"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
561
:
#line 264
7
"parse.y"
#line 264
9
"parse.y"
{
if
(
pedantic
)
pedwarn
(
"ANSI C++ forbids array dimensions with parenthesized type in new"
);
...
...
@@ -6532,71 +6532,71 @@ case 561:
;
break
;}
case
562
:
#line 26
58
"parse.y"
#line 26
60
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
563
:
#line 266
0
"parse.y"
#line 266
2
"parse.y"
{
yyval
.
ttype
=
decl_tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyval
.
ttype
);
;
break
;}
case
564
:
#line 266
5
"parse.y"
#line 266
7
"parse.y"
{
yyval
.
ftype
.
t
=
IDENTIFIER_AS_LIST
(
yyvsp
[
0
].
ttype
);
yyval
.
ftype
.
new_type_flag
=
0
;
;
break
;}
case
565
:
#line 26
68
"parse.y"
#line 26
70
"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
566
:
#line 267
7
"parse.y"
#line 267
9
"parse.y"
{
yyval
.
itype
=
suspend_momentary
();
;
break
;}
case
567
:
#line 268
2
"parse.y"
#line 268
4
"parse.y"
{
resume_momentary
((
int
)
yyvsp
[
-
1
].
itype
);
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
568
:
#line 26
88
"parse.y"
#line 26
90
"parse.y"
{
resume_momentary
((
int
)
yyvsp
[
-
3
].
itype
);
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
case
569
:
#line 269
0
"parse.y"
#line 269
2
"parse.y"
{
resume_momentary
((
int
)
yyvsp
[
-
3
].
itype
);
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
case
570
:
#line 269
2
"parse.y"
#line 269
4
"parse.y"
{
resume_momentary
((
int
)
yyvsp
[
-
1
].
itype
);
yyval
.
ttype
=
empty_parms
();
;
break
;}
case
571
:
#line 269
4
"parse.y"
#line 269
6
"parse.y"
{
resume_momentary
((
int
)
yyvsp
[
-
3
].
itype
);
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
572
:
#line 270
1
"parse.y"
#line 270
3
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
573
:
#line 270
3
"parse.y"
#line 270
5
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
574
:
#line 270
5
"parse.y"
#line 270
7
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
575
:
#line 270
7
"parse.y"
#line 270
9
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
576
:
#line 27
09
"parse.y"
#line 27
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
578
:
#line 271
7
"parse.y"
#line 271
9
"parse.y"
{
if
(
TREE_CODE
(
yyvsp
[
0
].
ttype
)
==
IDENTIFIER_NODE
)
{
...
...
@@ -6615,7 +6615,7 @@ case 578:
;
break
;}
case
579
:
#line 273
4
"parse.y"
#line 273
6
"parse.y"
{
if
(
TREE_CODE
(
yyvsp
[
0
].
ttype
)
==
IDENTIFIER_NODE
)
yyval
.
ttype
=
IDENTIFIER_GLOBAL_VALUE
(
yyvsp
[
0
].
ttype
);
...
...
@@ -6625,97 +6625,97 @@ case 579:
;
break
;}
case
582
:
#line 274
7
"parse.y"
#line 274
9
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
583
:
#line 275
2
"parse.y"
#line 275
4
"parse.y"
{
yyval
.
ttype
=
get_type_decl
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
584
:
#line 275
7
"parse.y"
#line 275
9
"parse.y"
{
yyval
.
ttype
=
make_call_declarator
(
yyval
.
ttype
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
585
:
#line 27
59
"parse.y"
#line 27
61
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
586
:
#line 276
1
"parse.y"
#line 276
3
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
NULL_TREE
);
;
break
;}
case
587
:
#line 276
3
"parse.y"
#line 276
5
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
case
588
:
#line 276
5
"parse.y"
#line 276
7
"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
590
:
#line 277
6
"parse.y"
#line 277
8
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
591
:
#line 27
78
"parse.y"
#line 27
80
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
592
:
#line 278
0
"parse.y"
#line 278
2
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
593
:
#line 278
2
"parse.y"
#line 278
4
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
594
:
#line 278
4
"parse.y"
#line 278
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
596
:
#line 279
2
"parse.y"
#line 279
4
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
597
:
#line 279
4
"parse.y"
#line 279
6
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
598
:
#line 279
6
"parse.y"
#line 279
8
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
599
:
#line 2
798
"parse.y"
#line 2
800
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
600
:
#line 280
0
"parse.y"
#line 280
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
602
:
#line 28
08
"parse.y"
#line 28
10
"parse.y"
{
yyval
.
ttype
=
make_call_declarator
(
yyval
.
ttype
,
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
603
:
#line 281
0
"parse.y"
#line 281
2
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
case
604
:
#line 281
2
"parse.y"
#line 281
4
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
605
:
#line 281
4
"parse.y"
#line 281
6
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
NULL_TREE
);
;
break
;}
case
606
:
#line 281
6
"parse.y"
#line 281
8
"parse.y"
{
if
(
TREE_CODE
(
OP0
(
yyvsp
[
0
].
ttype
))
==
NAMESPACE_DECL
)
{
push_decl_namespace
(
OP0
(
yyvsp
[
0
].
ttype
));
...
...
@@ -6729,7 +6729,7 @@ case 606:
;
break
;}
case
607
:
#line 28
28
"parse.y"
#line 28
30
"parse.y"
{
got_scope
=
NULL_TREE
;
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
if
(
yyvsp
[
-
1
].
ttype
!=
current_class_type
)
...
...
@@ -6740,51 +6740,51 @@ case 607:
;
break
;}
case
608
:
#line 284
0
"parse.y"
#line 284
2
"parse.y"
{
got_scope
=
NULL_TREE
;
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
609
:
#line 284
3
"parse.y"
#line 284
5
"parse.y"
{
got_scope
=
NULL_TREE
;
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
610
:
#line 28
49
"parse.y"
#line 28
51
"parse.y"
{
got_scope
=
NULL_TREE
;
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
611
:
#line 285
2
"parse.y"
#line 285
4
"parse.y"
{
got_scope
=
NULL_TREE
;
yyval
.
ttype
=
build_parse_node
(
SCOPE_REF
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
613
:
#line 28
59
"parse.y"
#line 28
61
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
614
:
#line 286
4
"parse.y"
#line 286
6
"parse.y"
{
yyval
.
ttype
=
build_functional_cast
(
yyvsp
[
-
3
].
ftype
.
t
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
615
:
#line 286
6
"parse.y"
#line 286
8
"parse.y"
{
yyval
.
ttype
=
reparse_decl_as_expr
(
yyvsp
[
-
3
].
ftype
.
t
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
616
:
#line 28
68
"parse.y"
#line 28
70
"parse.y"
{
yyval
.
ttype
=
reparse_absdcl_as_expr
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
621
:
#line 288
0
"parse.y"
#line 288
2
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
622
:
#line 288
2
"parse.y"
#line 288
4
"parse.y"
{
got_scope
=
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
623
:
#line 28
89
"parse.y"
#line 28
91
"parse.y"
{
if
(
TREE_CODE
(
yyvsp
[
-
1
].
ttype
)
==
IDENTIFIER_NODE
)
{
...
...
@@ -6800,7 +6800,7 @@ case 623:
;
break
;}
case
624
:
#line 290
3
"parse.y"
#line 290
5
"parse.y"
{
if
(
TREE_CODE
(
yyvsp
[
-
1
].
ttype
)
==
IDENTIFIER_NODE
)
yyval
.
ttype
=
lastiddecl
;
...
...
@@ -6808,7 +6808,7 @@ case 624:
;
break
;}
case
625
:
#line 29
09
"parse.y"
#line 29
11
"parse.y"
{
if
(
TREE_CODE
(
yyval
.
ttype
)
==
IDENTIFIER_NODE
)
yyval
.
ttype
=
lastiddecl
;
...
...
@@ -6816,15 +6816,15 @@ case 625:
;
break
;}
case
626
:
#line 291
5
"parse.y"
#line 291
7
"parse.y"
{
got_scope
=
yyval
.
ttype
=
complete_type
(
TREE_TYPE
(
yyvsp
[
-
1
].
ttype
));
;
break
;}
case
628
:
#line 293
1
"parse.y"
#line 293
3
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
629
:
#line 293
6
"parse.y"
#line 293
8
"parse.y"
{
if
(
TREE_CODE_CLASS
(
TREE_CODE
(
yyvsp
[
-
1
].
ttype
))
==
't'
)
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
...
...
@@ -6839,26 +6839,26 @@ case 629:
;
break
;}
case
630
:
#line 29
49
"parse.y"
#line 29
51
"parse.y"
{
yyval
.
ttype
=
TREE_TYPE
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
631
:
#line 295
1
"parse.y"
#line 295
3
"parse.y"
{
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
632
:
#line 295
3
"parse.y"
#line 295
5
"parse.y"
{
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
633
:
#line 29
58
"parse.y"
#line 29
60
"parse.y"
{
if
(
TREE_CODE
(
yyvsp
[
0
].
ttype
)
==
IDENTIFIER_NODE
)
cp_error
(
"`%T' is not a class or namespace"
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
634
:
#line 296
3
"parse.y"
#line 296
5
"parse.y"
{
if
(
TREE_CODE_CLASS
(
TREE_CODE
(
yyvsp
[
-
1
].
ttype
))
==
't'
)
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
...
...
@@ -6873,15 +6873,15 @@ case 634:
;
break
;}
case
635
:
#line 297
6
"parse.y"
#line 297
8
"parse.y"
{
got_scope
=
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
2
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
636
:
#line 29
78
"parse.y"
#line 29
80
"parse.y"
{
got_scope
=
yyval
.
ttype
=
make_typename_type
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
637
:
#line 298
3
"parse.y"
#line 298
5
"parse.y"
{
if
(
TREE_CODE
(
yyvsp
[
-
1
].
ttype
)
!=
IDENTIFIER_NODE
)
yyvsp
[
-
1
].
ttype
=
lastiddecl
;
...
...
@@ -6895,7 +6895,7 @@ case 637:
;
break
;}
case
638
:
#line 299
5
"parse.y"
#line 299
7
"parse.y"
{
if
(
TREE_CODE
(
yyvsp
[
-
1
].
ttype
)
!=
IDENTIFIER_NODE
)
yyval
.
ttype
=
lastiddecl
;
...
...
@@ -6903,11 +6903,11 @@ case 638:
;
break
;}
case
639
:
#line 300
1
"parse.y"
#line 300
3
"parse.y"
{
got_scope
=
yyval
.
ttype
=
complete_type
(
TREE_TYPE
(
yyval
.
ttype
));
;
break
;}
case
642
:
#line 300
5
"parse.y"
#line 300
7
"parse.y"
{
if
(
TREE_CODE
(
yyval
.
ttype
)
==
IDENTIFIER_NODE
)
yyval
.
ttype
=
lastiddecl
;
...
...
@@ -6915,11 +6915,11 @@ case 642:
;
break
;}
case
643
:
#line 301
4
"parse.y"
#line 301
6
"parse.y"
{
yyval
.
ttype
=
build_min_nt
(
TEMPLATE_ID_EXPR
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
644
:
#line 30
19
"parse.y"
#line 30
21
"parse.y"
{
if
(
TREE_CODE
(
yyvsp
[
0
].
ttype
)
==
IDENTIFIER_NODE
)
yyval
.
ttype
=
IDENTIFIER_GLOBAL_VALUE
(
yyvsp
[
0
].
ttype
);
...
...
@@ -6929,148 +6929,148 @@ case 644:
;
break
;}
case
646
:
#line 30
28
"parse.y"
#line 30
30
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
647
:
#line 303
3
"parse.y"
#line 303
5
"parse.y"
{
got_scope
=
NULL_TREE
;
;
break
;}
case
648
:
#line 303
5
"parse.y"
#line 303
7
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
got_scope
=
NULL_TREE
;
;
break
;}
case
649
:
#line 304
2
"parse.y"
#line 304
4
"parse.y"
{
got_scope
=
void_type_node
;
;
break
;}
case
650
:
#line 30
48
"parse.y"
#line 30
50
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
651
:
#line 305
0
"parse.y"
#line 305
2
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
652
:
#line 305
2
"parse.y"
#line 305
4
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
653
:
#line 305
4
"parse.y"
#line 305
6
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
0
].
ttype
,
NULL_TREE
);
;
break
;}
case
654
:
#line 305
6
"parse.y"
#line 305
8
"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
655
:
#line 306
0
"parse.y"
#line 306
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
657
:
#line 30
69
"parse.y"
#line 30
71
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
658
:
#line 307
1
"parse.y"
#line 307
3
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
659
:
#line 307
7
"parse.y"
#line 307
9
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
660
:
#line 30
79
"parse.y"
#line 30
81
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
661
:
#line 308
1
"parse.y"
#line 308
3
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
0
].
ftype
.
t
,
NULL_TREE
);
;
break
;}
case
662
:
#line 308
3
"parse.y"
#line 308
5
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
663
:
#line 308
5
"parse.y"
#line 308
7
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
664
:
#line 308
7
"parse.y"
#line 308
9
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
NULL_TREE
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
665
:
#line 30
89
"parse.y"
#line 30
91
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
0
].
ftype
.
t
,
NULL_TREE
);
;
break
;}
case
666
:
#line 309
1
"parse.y"
#line 309
3
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
667
:
#line 309
3
"parse.y"
#line 309
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
668
:
#line 309
7
"parse.y"
#line 309
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
670
:
#line 310
6
"parse.y"
#line 310
8
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
case
672
:
#line 311
0
"parse.y"
#line 311
2
"parse.y"
{
yyval
.
ttype
=
make_call_declarator
(
yyval
.
ttype
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
673
:
#line 311
2
"parse.y"
#line 311
4
"parse.y"
{
yyval
.
ttype
=
make_call_declarator
(
yyval
.
ttype
,
empty_parms
(),
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
674
:
#line 311
4
"parse.y"
#line 311
6
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
675
:
#line 311
6
"parse.y"
#line 311
8
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
yyval
.
ttype
,
NULL_TREE
);
;
break
;}
case
676
:
#line 31
18
"parse.y"
#line 31
20
"parse.y"
{
yyval
.
ttype
=
make_call_declarator
(
NULL_TREE
,
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
677
:
#line 312
0
"parse.y"
#line 312
2
"parse.y"
{
set_quals_and_spec
(
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
678
:
#line 312
2
"parse.y"
#line 312
4
"parse.y"
{
set_quals_and_spec
(
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
679
:
#line 312
4
"parse.y"
#line 312
6
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
NULL_TREE
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
680
:
#line 312
6
"parse.y"
#line 312
8
"parse.y"
{
yyval
.
ttype
=
build_parse_node
(
ARRAY_REF
,
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
687
:
#line 31
49
"parse.y"
#line 31
51
"parse.y"
{
if
(
pedantic
)
pedwarn
(
"ANSI C++ forbids label declarations"
);
;
break
;}
case
690
:
#line 316
0
"parse.y"
#line 316
2
"parse.y"
{
tree
link
;
for
(
link
=
yyvsp
[
-
1
].
ttype
;
link
;
link
=
TREE_CHAIN
(
link
))
{
...
...
@@ -7081,181 +7081,181 @@ case 690:
;
break
;}
case
691
:
#line 317
4
"parse.y"
#line 317
6
"parse.y"
{;
break
;}
case
693
:
#line 318
0
"parse.y"
#line 318
2
"parse.y"
{
yyval
.
ttype
=
begin_compound_stmt
(
0
);
;
break
;}
case
694
:
#line 318
2
"parse.y"
#line 318
4
"parse.y"
{
yyval
.
ttype
=
finish_compound_stmt
(
0
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
695
:
#line 318
7
"parse.y"
#line 318
9
"parse.y"
{
yyval
.
ttype
=
begin_if_stmt
();
cond_stmt_keyword
=
"if"
;
;
break
;}
case
696
:
#line 319
2
"parse.y"
#line 319
4
"parse.y"
{
finish_if_stmt_cond
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
697
:
#line 319
4
"parse.y"
#line 319
6
"parse.y"
{
yyval
.
ttype
=
finish_then_clause
(
yyvsp
[
-
3
].
ttype
);
;
break
;}
case
699
:
#line 3
199
"parse.y"
#line 3
201
"parse.y"
{
yyval
.
ttype
=
begin_compound_stmt
(
0
);
;
break
;}
case
700
:
#line 320
1
"parse.y"
#line 320
3
"parse.y"
{
yyval
.
ttype
=
finish_compound_stmt
(
0
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
701
:
#line 320
6
"parse.y"
#line 320
8
"parse.y"
{;
break
;}
case
703
:
#line 321
2
"parse.y"
#line 321
4
"parse.y"
{
finish_stmt
();
;
break
;}
case
704
:
#line 321
4
"parse.y"
#line 321
6
"parse.y"
{
finish_expr_stmt
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
705
:
#line 321
6
"parse.y"
#line 321
8
"parse.y"
{
begin_else_clause
();
;
break
;}
case
706
:
#line 32
18
"parse.y"
#line 32
20
"parse.y"
{
finish_else_clause
(
yyvsp
[
-
3
].
ttype
);
finish_if_stmt
();
;
break
;}
case
707
:
#line 322
3
"parse.y"
#line 322
5
"parse.y"
{
finish_if_stmt
();
;
break
;}
case
708
:
#line 322
5
"parse.y"
#line 322
7
"parse.y"
{
yyval
.
ttype
=
begin_while_stmt
();
cond_stmt_keyword
=
"while"
;
;
break
;}
case
709
:
#line 323
0
"parse.y"
#line 323
2
"parse.y"
{
finish_while_stmt_cond
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
710
:
#line 323
2
"parse.y"
#line 323
4
"parse.y"
{
finish_while_stmt
(
yyvsp
[
-
3
].
ttype
);
;
break
;}
case
711
:
#line 323
4
"parse.y"
#line 323
6
"parse.y"
{
yyval
.
ttype
=
begin_do_stmt
();
;
break
;}
case
712
:
#line 323
6
"parse.y"
#line 323
8
"parse.y"
{
finish_do_body
(
yyvsp
[
-
2
].
ttype
);
cond_stmt_keyword
=
"do"
;
;
break
;}
case
713
:
#line 324
1
"parse.y"
#line 324
3
"parse.y"
{
finish_do_stmt
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
5
].
ttype
);
;
break
;}
case
714
:
#line 324
3
"parse.y"
#line 324
5
"parse.y"
{
yyval
.
ttype
=
begin_for_stmt
();
;
break
;}
case
715
:
#line 324
5
"parse.y"
#line 324
7
"parse.y"
{
finish_for_init_stmt
(
yyvsp
[
-
2
].
ttype
);
;
break
;}
case
716
:
#line 324
7
"parse.y"
#line 324
9
"parse.y"
{
finish_for_cond
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
5
].
ttype
);
;
break
;}
case
717
:
#line 32
49
"parse.y"
#line 32
51
"parse.y"
{
finish_for_expr
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
-
8
].
ttype
);
;
break
;}
case
718
:
#line 325
1
"parse.y"
#line 325
3
"parse.y"
{
finish_for_stmt
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
10
].
ttype
);
;
break
;}
case
719
:
#line 325
3
"parse.y"
#line 325
5
"parse.y"
{
begin_switch_stmt
();
;
break
;}
case
720
:
#line 325
5
"parse.y"
#line 325
7
"parse.y"
{
yyval
.
ttype
=
finish_switch_cond
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
721
:
#line 325
7
"parse.y"
#line 325
9
"parse.y"
{
finish_switch_stmt
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
722
:
#line 32
59
"parse.y"
#line 32
61
"parse.y"
{
finish_case_label
(
yyvsp
[
-
1
].
ttype
,
NULL_TREE
);
;
break
;}
case
724
:
#line 326
2
"parse.y"
#line 326
4
"parse.y"
{
finish_case_label
(
yyvsp
[
-
3
].
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
726
:
#line 326
5
"parse.y"
#line 326
7
"parse.y"
{
finish_case_label
(
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
728
:
#line 32
68
"parse.y"
#line 32
70
"parse.y"
{
finish_break_stmt
();
;
break
;}
case
729
:
#line 327
0
"parse.y"
#line 327
2
"parse.y"
{
finish_continue_stmt
();
;
break
;}
case
730
:
#line 327
2
"parse.y"
#line 327
4
"parse.y"
{
finish_return_stmt
(
NULL_TREE
);
;
break
;}
case
731
:
#line 327
4
"parse.y"
#line 327
6
"parse.y"
{
finish_return_stmt
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
732
:
#line 327
6
"parse.y"
#line 327
8
"parse.y"
{
finish_asm_stmt
(
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
,
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
733
:
#line 328
2
"parse.y"
#line 328
4
"parse.y"
{
finish_asm_stmt
(
yyvsp
[
-
6
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
734
:
#line 32
88
"parse.y"
#line 32
90
"parse.y"
{
finish_asm_stmt
(
yyvsp
[
-
8
].
ttype
,
yyvsp
[
-
6
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
2
].
ttype
,
NULL_TREE
);
;
break
;}
case
735
:
#line 329
2
"parse.y"
#line 329
4
"parse.y"
{
finish_asm_stmt
(
yyvsp
[
-
10
].
ttype
,
yyvsp
[
-
8
].
ttype
,
yyvsp
[
-
6
].
ttype
,
yyvsp
[
-
4
].
ttype
,
yyvsp
[
-
2
].
ttype
);
;
break
;}
case
736
:
#line 329
4
"parse.y"
#line 329
6
"parse.y"
{
if
(
pedantic
)
pedwarn
(
"ANSI C++ forbids computed gotos"
);
...
...
@@ -7263,29 +7263,29 @@ case 736:
;
break
;}
case
737
:
#line 330
0
"parse.y"
#line 330
2
"parse.y"
{
finish_goto_stmt
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
738
:
#line 330
2
"parse.y"
#line 330
4
"parse.y"
{
finish_stmt
();
;
break
;}
case
739
:
#line 330
4
"parse.y"
#line 330
6
"parse.y"
{
error
(
"label must be followed by statement"
);
yyungetc
(
'}'
,
0
);
finish_stmt
();
;
break
;}
case
740
:
#line 33
08
"parse.y"
#line 33
10
"parse.y"
{
finish_stmt
();
;
break
;}
case
743
:
#line 331
2
"parse.y"
#line 331
4
"parse.y"
{
do_local_using_decl
(
yyvsp
[
0
].
ttype
);
;
break
;}
case
745
:
#line 33
18
"parse.y"
#line 33
20
"parse.y"
{
if
(
!
current_function_parms_stored
)
store_parm_decls
();
...
...
@@ -7293,13 +7293,13 @@ case 745:
;
break
;}
case
746
:
#line 332
4
"parse.y"
#line 332
6
"parse.y"
{
expand_start_all_catch
();
;
break
;}
case
747
:
#line 33
28
"parse.y"
#line 33
30
"parse.y"
{
int
nested
=
(
hack_decl_function_context
(
current_function_decl
)
!=
NULL_TREE
);
...
...
@@ -7308,41 +7308,41 @@ case 747:
;
break
;}
case
748
:
#line 33
38
"parse.y"
#line 33
40
"parse.y"
{
yyval
.
ttype
=
begin_try_block
();
;
break
;}
case
749
:
#line 334
0
"parse.y"
#line 334
2
"parse.y"
{
finish_try_block
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
750
:
#line 334
2
"parse.y"
#line 334
4
"parse.y"
{
finish_handler_sequence
(
yyvsp
[
-
3
].
ttype
);
;
break
;}
case
753
:
#line 335
2
"parse.y"
#line 335
4
"parse.y"
{
yyval
.
ttype
=
begin_handler
();
;
break
;}
case
754
:
#line 335
4
"parse.y"
#line 335
6
"parse.y"
{
finish_handler_parms
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
755
:
#line 335
6
"parse.y"
#line 335
8
"parse.y"
{
finish_handler
(
yyvsp
[
-
3
].
ttype
);
;
break
;}
case
758
:
#line 336
6
"parse.y"
#line 336
8
"parse.y"
{
expand_start_catch_block
(
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
759
:
#line 338
2
"parse.y"
#line 338
4
"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
760
:
#line 33
89
"parse.y"
#line 33
91
"parse.y"
{
tree
label
;
do_label
:
label
=
define_label
(
input_filename
,
lineno
,
yyvsp
[
-
1
].
ttype
);
...
...
@@ -7351,98 +7351,98 @@ case 760:
;
break
;}
case
761
:
#line 339
6
"parse.y"
#line 339
8
"parse.y"
{
goto
do_label
;
;
break
;}
case
762
:
#line 3
398
"parse.y"
#line 3
400
"parse.y"
{
goto
do_label
;
;
break
;}
case
763
:
#line 340
0
"parse.y"
#line 340
2
"parse.y"
{
goto
do_label
;
;
break
;}
case
764
:
#line 340
5
"parse.y"
#line 340
7
"parse.y"
{
if
(
yyvsp
[
-
1
].
ttype
)
cplus_expand_expr_stmt
(
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
766
:
#line 34
08
"parse.y"
#line 34
10
"parse.y"
{
if
(
pedantic
)
pedwarn
(
"ANSI C++ forbids compound statements inside for initializations"
);
;
break
;}
case
767
:
#line 341
7
"parse.y"
#line 341
9
"parse.y"
{
emit_line_note
(
input_filename
,
lineno
);
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
768
:
#line 342
0
"parse.y"
#line 342
2
"parse.y"
{
emit_line_note
(
input_filename
,
lineno
);
;
break
;}
case
769
:
#line 342
5
"parse.y"
#line 342
7
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
771
:
#line 34
28
"parse.y"
#line 34
30
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
772
:
#line 343
5
"parse.y"
#line 343
7
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
775
:
#line 344
2
"parse.y"
#line 344
4
"parse.y"
{
yyval
.
ttype
=
chainon
(
yyval
.
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
776
:
#line 344
7
"parse.y"
#line 344
9
"parse.y"
{
yyval
.
ttype
=
build_tree_list
(
yyval
.
ttype
,
yyvsp
[
-
1
].
ttype
);
;
break
;}
case
777
:
#line 345
2
"parse.y"
#line 345
4
"parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyval
.
ttype
,
NULL_TREE
);
;
break
;}
case
778
:
#line 345
4
"parse.y"
#line 345
6
"parse.y"
{
yyval
.
ttype
=
tree_cons
(
NULL_TREE
,
yyvsp
[
0
].
ttype
,
yyval
.
ttype
);
;
break
;}
case
779
:
#line 346
5
"parse.y"
#line 346
7
"parse.y"
{
yyval
.
ttype
=
empty_parms
();
;
break
;}
case
781
:
#line 347
0
"parse.y"
#line 347
2
"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
782
:
#line 34
78
"parse.y"
#line 34
80
"parse.y"
{
yyval
.
ttype
=
finish_parmlist
(
yyval
.
ttype
,
0
);
;
break
;}
case
783
:
#line 348
0
"parse.y"
#line 348
2
"parse.y"
{
yyval
.
ttype
=
finish_parmlist
(
yyvsp
[
-
1
].
ttype
,
1
);
;
break
;}
case
784
:
#line 348
3
"parse.y"
#line 348
5
"parse.y"
{
yyval
.
ttype
=
finish_parmlist
(
yyvsp
[
-
1
].
ttype
,
1
);
;
break
;}
case
785
:
#line 348
5
"parse.y"
#line 348
7
"parse.y"
{
yyval
.
ttype
=
finish_parmlist
(
build_tree_list
(
NULL_TREE
,
yyvsp
[
-
1
].
ftype
.
t
),
1
);
;
break
;}
case
786
:
#line 34
88
"parse.y"
#line 34
90
"parse.y"
{
yyval
.
ttype
=
finish_parmlist
(
NULL_TREE
,
1
);
;
break
;}
case
787
:
#line 349
0
"parse.y"
#line 349
2
"parse.y"
{
/* This helps us recover from really nasty
parse errors, for example, a missing right
...
...
@@ -7454,7 +7454,7 @@ case 787:
;
break
;}
case
788
:
#line 350
0
"parse.y"
#line 350
2
"parse.y"
{
/* This helps us recover from really nasty
parse errors, for example, a missing right
...
...
@@ -7467,98 +7467,98 @@ case 788:
;
break
;}
case
789
:
#line 351
5
"parse.y"
#line 351
7
"parse.y"
{
maybe_snarf_defarg
();
;
break
;}
case
790
:
#line 351
7
"parse.y"
#line 351
9
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
793
:
#line 35
28
"parse.y"
#line 35
30
"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
794
:
#line 353
1
"parse.y"
#line 353
3
"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
795
:
#line 353
4
"parse.y"
#line 353
6
"parse.y"
{
check_for_new_type
(
"in a parameter list"
,
yyvsp
[
0
].
ftype
);
yyval
.
ttype
=
chainon
(
yyval
.
ttype
,
yyvsp
[
0
].
ftype
.
t
);
;
break
;}
case
796
:
#line 353
7
"parse.y"
#line 353
9
"parse.y"
{
yyval
.
ttype
=
chainon
(
yyval
.
ttype
,
build_tree_list
(
NULL_TREE
,
yyvsp
[
0
].
ttype
));
;
break
;}
case
797
:
#line 35
39
"parse.y"
#line 35
41
"parse.y"
{
yyval
.
ttype
=
chainon
(
yyval
.
ttype
,
build_tree_list
(
yyvsp
[
0
].
ttype
,
yyvsp
[
-
2
].
ttype
));
;
break
;}
case
799
:
#line 354
5
"parse.y"
#line 354
7
"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
800
:
#line 355
5
"parse.y"
#line 355
7
"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
801
:
#line 35
59
"parse.y"
#line 35
61
"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
802
:
#line 356
2
"parse.y"
#line 356
4
"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
803
:
#line 356
5
"parse.y"
#line 356
7
"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
804
:
#line 35
69
"parse.y"
#line 35
71
"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
805
:
#line 357
3
"parse.y"
#line 357
5
"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
806
:
#line 358
0
"parse.y"
#line 358
2
"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
807
:
#line 358
3
"parse.y"
#line 358
5
"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
810
:
#line 359
4
"parse.y"
#line 359
6
"parse.y"
{
see_typename
();
;
break
;}
case
811
:
#line 3
599
"parse.y"
#line 3
601
"parse.y"
{
error
(
"type specifier omitted for parameter"
);
yyval
.
ttype
=
build_tree_list
(
integer_type_node
,
NULL_TREE
);
;
break
;}
case
812
:
#line 360
4
"parse.y"
#line 360
6
"parse.y"
{
error
(
"type specifier omitted for parameter"
);
if
(
TREE_CODE
(
yyval
.
ttype
)
==
SCOPE_REF
...
...
@@ -7569,188 +7569,188 @@ case 812:
;
break
;}
case
813
:
#line 361
6
"parse.y"
#line 361
8
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
814
:
#line 36
18
"parse.y"
#line 36
20
"parse.y"
{
yyval
.
ttype
=
yyvsp
[
-
1
].
ttype
;
;
break
;}
case
815
:
#line 362
0
"parse.y"
#line 362
2
"parse.y"
{
yyval
.
ttype
=
build_decl_list
(
NULL_TREE
,
NULL_TREE
);
;
break
;}
case
816
:
#line 362
5
"parse.y"
#line 362
7
"parse.y"
{
yyval
.
ttype
=
build_decl_list
(
NULL_TREE
,
groktypename
(
yyvsp
[
0
].
ftype
.
t
));
;
break
;}
case
818
:
#line 363
1
"parse.y"
#line 363
3
"parse.y"
{
TREE_CHAIN
(
yyvsp
[
0
].
ttype
)
=
yyval
.
ttype
;
yyval
.
ttype
=
yyvsp
[
0
].
ttype
;
;
break
;}
case
819
:
#line 36
39
"parse.y"
#line 36
41
"parse.y"
{
yyval
.
ttype
=
NULL_TREE
;
;
break
;}
case
820
:
#line 364
1
"parse.y"
#line 364
3
"parse.y"
{
yyval
.
ttype
=
make_pointer_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
821
:
#line 364
3
"parse.y"
#line 364
5
"parse.y"
{
yyval
.
ttype
=
make_reference_declarator
(
yyvsp
[
-
1
].
ttype
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
822
:
#line 364
5
"parse.y"
#line 364
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
823
:
#line 365
2
"parse.y"
#line 365
4
"parse.y"
{
got_scope
=
NULL_TREE
;
;
break
;}
case
824
:
#line 365
7
"parse.y"
#line 365
9
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
MULT_EXPR
];
;
break
;}
case
825
:
#line 36
59
"parse.y"
#line 36
61
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
TRUNC_DIV_EXPR
];
;
break
;}
case
826
:
#line 366
1
"parse.y"
#line 366
3
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
TRUNC_MOD_EXPR
];
;
break
;}
case
827
:
#line 366
3
"parse.y"
#line 366
5
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
PLUS_EXPR
];
;
break
;}
case
828
:
#line 366
5
"parse.y"
#line 366
7
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
MINUS_EXPR
];
;
break
;}
case
829
:
#line 366
7
"parse.y"
#line 366
9
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
BIT_AND_EXPR
];
;
break
;}
case
830
:
#line 36
69
"parse.y"
#line 36
71
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
BIT_IOR_EXPR
];
;
break
;}
case
831
:
#line 367
1
"parse.y"
#line 367
3
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
BIT_XOR_EXPR
];
;
break
;}
case
832
:
#line 367
3
"parse.y"
#line 367
5
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
BIT_NOT_EXPR
];
;
break
;}
case
833
:
#line 367
5
"parse.y"
#line 367
7
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
COMPOUND_EXPR
];
;
break
;}
case
834
:
#line 367
7
"parse.y"
#line 367
9
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
yyvsp
[
0
].
code
];
;
break
;}
case
835
:
#line 36
79
"parse.y"
#line 36
81
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
LT_EXPR
];
;
break
;}
case
836
:
#line 368
1
"parse.y"
#line 368
3
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
GT_EXPR
];
;
break
;}
case
837
:
#line 368
3
"parse.y"
#line 368
5
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
yyvsp
[
0
].
code
];
;
break
;}
case
838
:
#line 368
5
"parse.y"
#line 368
7
"parse.y"
{
yyval
.
ttype
=
ansi_assopname
[
yyvsp
[
0
].
code
];
;
break
;}
case
839
:
#line 368
7
"parse.y"
#line 368
9
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
MODIFY_EXPR
];
;
break
;}
case
840
:
#line 36
89
"parse.y"
#line 36
91
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
yyvsp
[
0
].
code
];
;
break
;}
case
841
:
#line 369
1
"parse.y"
#line 369
3
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
yyvsp
[
0
].
code
];
;
break
;}
case
842
:
#line 369
3
"parse.y"
#line 369
5
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
POSTINCREMENT_EXPR
];
;
break
;}
case
843
:
#line 369
5
"parse.y"
#line 369
7
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
PREDECREMENT_EXPR
];
;
break
;}
case
844
:
#line 369
7
"parse.y"
#line 369
9
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
TRUTH_ANDIF_EXPR
];
;
break
;}
case
845
:
#line 3
699
"parse.y"
#line 3
701
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
TRUTH_ORIF_EXPR
];
;
break
;}
case
846
:
#line 370
1
"parse.y"
#line 370
3
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
TRUTH_NOT_EXPR
];
;
break
;}
case
847
:
#line 370
3
"parse.y"
#line 370
5
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
COND_EXPR
];
;
break
;}
case
848
:
#line 370
5
"parse.y"
#line 370
7
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
yyvsp
[
0
].
code
];
;
break
;}
case
849
:
#line 370
7
"parse.y"
#line 370
9
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
COMPONENT_REF
];
;
break
;}
case
850
:
#line 37
09
"parse.y"
#line 37
11
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
MEMBER_REF
];
;
break
;}
case
851
:
#line 371
1
"parse.y"
#line 371
3
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
CALL_EXPR
];
;
break
;}
case
852
:
#line 371
3
"parse.y"
#line 371
5
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
ARRAY_REF
];
;
break
;}
case
853
:
#line 371
5
"parse.y"
#line 371
7
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
NEW_EXPR
];
;
break
;}
case
854
:
#line 371
7
"parse.y"
#line 371
9
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
DELETE_EXPR
];
;
break
;}
case
855
:
#line 37
19
"parse.y"
#line 37
21
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
VEC_NEW_EXPR
];
;
break
;}
case
856
:
#line 372
1
"parse.y"
#line 372
3
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
VEC_DELETE_EXPR
];
;
break
;}
case
857
:
#line 372
4
"parse.y"
#line 372
6
"parse.y"
{
yyval
.
ttype
=
grokoptypename
(
yyvsp
[
-
1
].
ftype
.
t
,
yyvsp
[
0
].
ttype
);
;
break
;}
case
858
:
#line 372
6
"parse.y"
#line 372
8
"parse.y"
{
yyval
.
ttype
=
ansi_opname
[
ERROR_MARK
];
;
break
;}
}
...
...
@@ -7951,7 +7951,7 @@ yyerrhandle:
yystate
=
yyn
;
goto
yynewstate
;
}
#line 37
29
"parse.y"
#line 37
31
"parse.y"
#ifdef SPEW_DEBUG
...
...
gcc/cp/typeck2.c
View file @
3551c177
...
...
@@ -1501,6 +1501,15 @@ build_functional_cast (exp, parms)
if
(
parms
&&
TREE_CHAIN
(
parms
)
==
NULL_TREE
)
return
build_c_cast
(
type
,
TREE_VALUE
(
parms
));
/* We need to zero-initialize POD types. Let's do that for everything
that doesn't need a constructor. */
if
(
parms
==
NULL_TREE
&&
!
TYPE_NEEDS_CONSTRUCTING
(
type
)
&&
TYPE_HAS_DEFAULT_CONSTRUCTOR
(
type
))
{
exp
=
build
(
CONSTRUCTOR
,
type
,
NULL_TREE
,
NULL_TREE
);
return
get_target_expr
(
exp
);
}
exp
=
build_method_call
(
NULL_TREE
,
ctor_identifier
,
parms
,
TYPE_BINFO
(
type
),
LOOKUP_NORMAL
);
...
...
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