3144, 3148, 3151, 3154, 3156, 3158, 3160, 3164, 3167, 3170,
3172, 3174, 3176, 3183, 3194, 3198, 3203, 3207, 3212, 3214,
3218, 3221, 3223, 3227, 3229, 3230, 3233, 3235, 3241, 3256,
- 3262, 3268, 3282, 3284, 3288, 3300, 3306, 3317, 3324, 3330,
- 3332, 3333, 3334, 3342, 3351, 3352, 3356, 3359, 3365, 3371,
- 3374, 3376, 3378, 3380, 3384, 3388, 3392, 3395, 3400, 3403,
- 3405, 3407, 3409, 3411, 3413, 3415, 3417, 3421, 3425, 3429,
- 3433, 3434, 3436, 3438, 3440, 3442, 3444, 3446, 3448, 3450,
- 3458, 3460, 3461, 3462, 3465, 3473, 3478, 3485, 3487, 3492,
- 3494, 3497, 3511, 3514, 3517, 3526, 3538, 3549, 3569, 3579,
- 3582, 3590, 3602, 3605, 3608, 3611, 3627, 3630, 3641, 3642,
- 3646, 3661, 3680, 3692, 3706, 3720, 3733, 3752, 3770, 3789,
- 3797, 3818, 3836, 3849, 3850, 3853, 3853, 3856, 3856, 3859,
- 3859, 3865, 3871, 3874, 3879, 3886, 3895, 3904, 3913, 3921,
- 3934, 3936, 3940, 3942, 3945, 3952, 3955, 3963, 3979, 3990,
- 4002, 4004, 4007, 4017, 4027, 4038, 4040, 4042, 4045, 4062,
- 4068, 4076, 4078, 4080, 4084, 4087, 4088, 4096, 4100, 4104,
- 4107, 4108, 4114, 4117, 4120, 4122, 4126, 4131, 4134, 4144,
- 4149, 4150, 4158, 4164, 4169, 4173, 4178, 4182, 4186, 4190,
- 4195, 4206, 4220, 4224, 4227, 4229, 4233, 4237, 4240, 4243,
- 4245, 4249, 4251, 4258, 4265, 4268, 4271, 4275, 4279, 4285,
- 4289, 4294, 4296, 4299, 4304, 4310, 4321, 4324, 4326, 4330,
- 4335, 4337, 4344, 4347, 4349, 4351, 4357, 4362, 4365, 4367,
- 4369, 4371, 4373, 4375, 4377, 4379, 4381, 4383, 4385, 4387,
- 4389, 4391, 4393, 4395, 4397, 4399, 4401, 4403, 4405, 4407,
- 4409, 4411, 4413, 4415, 4417, 4419, 4421, 4423, 4425, 4427,
- 4430, 4432
+ 3262, 3268, 3282, 3284, 3288, 3304, 3310, 3325, 3332, 3338,
+ 3340, 3341, 3342, 3350, 3359, 3360, 3364, 3367, 3373, 3379,
+ 3382, 3384, 3386, 3388, 3392, 3396, 3400, 3403, 3408, 3411,
+ 3413, 3415, 3417, 3419, 3421, 3423, 3425, 3429, 3433, 3437,
+ 3441, 3442, 3444, 3446, 3448, 3450, 3452, 3454, 3456, 3458,
+ 3466, 3468, 3469, 3470, 3473, 3481, 3486, 3493, 3495, 3500,
+ 3502, 3505, 3519, 3522, 3525, 3534, 3546, 3557, 3577, 3587,
+ 3590, 3598, 3610, 3613, 3616, 3619, 3635, 3638, 3649, 3650,
+ 3654, 3669, 3688, 3700, 3714, 3728, 3741, 3760, 3778, 3797,
+ 3805, 3826, 3844, 3857, 3858, 3861, 3861, 3864, 3864, 3867,
+ 3867, 3873, 3879, 3882, 3887, 3894, 3903, 3912, 3921, 3929,
+ 3942, 3944, 3948, 3950, 3953, 3960, 3963, 3971, 3987, 3998,
+ 4010, 4012, 4015, 4025, 4035, 4046, 4048, 4050, 4053, 4070,
+ 4076, 4084, 4086, 4088, 4092, 4095, 4096, 4104, 4108, 4112,
+ 4115, 4116, 4122, 4125, 4128, 4130, 4134, 4139, 4142, 4152,
+ 4157, 4158, 4166, 4172, 4177, 4181, 4186, 4190, 4194, 4198,
+ 4203, 4214, 4228, 4232, 4235, 4237, 4241, 4245, 4248, 4251,
+ 4253, 4257, 4259, 4266, 4273, 4276, 4279, 4283, 4287, 4293,
+ 4297, 4302, 4304, 4307, 4312, 4318, 4329, 4332, 4334, 4338,
+ 4343, 4345, 4352, 4355, 4357, 4359, 4365, 4370, 4373, 4375,
+ 4377, 4379, 4381, 4383, 4385, 4387, 4389, 4391, 4393, 4395,
+ 4397, 4399, 4401, 4403, 4405, 4407, 4409, 4411, 4413, 4415,
+ 4417, 4419, 4421, 4423, 4425, 4427, 4429, 4431, 4433, 4435,
+ 4438, 4440
};
#endif
else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
else
- yyval.ttype = yyvsp[0].ttype;
+ {
+ yyval.ttype = yyvsp[0].ttype;
+ if (TREE_CODE (yyval.ttype) == TYPE_DECL)
+ yyval.ttype = TREE_TYPE (yyval.ttype);
+ }
;
break;}
case 616:
-#line 3302 "parse.y"
+#line 3306 "parse.y"
{
if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
;
break;}
case 617:
-#line 3307 "parse.y"
+#line 3311 "parse.y"
{
if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
else
- yyval.ttype = yyvsp[0].ttype;
+ {
+ yyval.ttype = yyvsp[0].ttype;
+ if (TREE_CODE (yyval.ttype) == TYPE_DECL)
+ yyval.ttype = TREE_TYPE (yyval.ttype);
+ }
;
break;}
case 618:
-#line 3319 "parse.y"
+#line 3327 "parse.y"
{
if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
yyval.ttype = lastiddecl;
;
break;}
case 619:
-#line 3325 "parse.y"
+#line 3333 "parse.y"
{
if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
yyval.ttype = lastiddecl;
;
break;}
case 620:
-#line 3331 "parse.y"
+#line 3339 "parse.y"
{ got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
break;}
case 623:
-#line 3335 "parse.y"
+#line 3343 "parse.y"
{
if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
yyval.ttype = lastiddecl;
;
break;}
case 624:
-#line 3344 "parse.y"
+#line 3352 "parse.y"
{
if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
;
break;}
case 626:
-#line 3353 "parse.y"
+#line 3361 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 627:
-#line 3358 "parse.y"
+#line 3366 "parse.y"
{ got_scope = NULL_TREE; ;
break;}
case 628:
-#line 3360 "parse.y"
+#line 3368 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
break;}
case 629:
-#line 3367 "parse.y"
+#line 3375 "parse.y"
{ got_scope = void_type_node; ;
break;}
case 630:
-#line 3373 "parse.y"
+#line 3381 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 631:
-#line 3375 "parse.y"
+#line 3383 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
break;}
case 632:
-#line 3377 "parse.y"
+#line 3385 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 633:
-#line 3379 "parse.y"
+#line 3387 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
break;}
case 634:
-#line 3381 "parse.y"
+#line 3389 "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 635:
-#line 3385 "parse.y"
+#line 3393 "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 637:
-#line 3394 "parse.y"
+#line 3402 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
break;}
case 638:
-#line 3396 "parse.y"
+#line 3404 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
break;}
case 639:
-#line 3402 "parse.y"
+#line 3410 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
case 640:
-#line 3404 "parse.y"
+#line 3412 "parse.y"
{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
case 641:
-#line 3406 "parse.y"
+#line 3414 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
break;}
case 642:
-#line 3408 "parse.y"
+#line 3416 "parse.y"
{ yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
break;}
case 643:
-#line 3410 "parse.y"
+#line 3418 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
case 644:
-#line 3412 "parse.y"
+#line 3420 "parse.y"
{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
case 645:
-#line 3414 "parse.y"
+#line 3422 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
break;}
case 646:
-#line 3416 "parse.y"
+#line 3424 "parse.y"
{ yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
break;}
case 647:
-#line 3418 "parse.y"
+#line 3426 "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 648:
-#line 3422 "parse.y"
+#line 3430 "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 650:
-#line 3431 "parse.y"
+#line 3439 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 652:
-#line 3435 "parse.y"
+#line 3443 "parse.y"
{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 653:
-#line 3437 "parse.y"
+#line 3445 "parse.y"
{ yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 654:
-#line 3439 "parse.y"
+#line 3447 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
break;}
case 655:
-#line 3441 "parse.y"
+#line 3449 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
break;}
case 656:
-#line 3443 "parse.y"
+#line 3451 "parse.y"
{ yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 657:
-#line 3445 "parse.y"
+#line 3453 "parse.y"
{ set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 658:
-#line 3447 "parse.y"
+#line 3455 "parse.y"
{ set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 659:
-#line 3449 "parse.y"
+#line 3457 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
break;}
case 660:
-#line 3451 "parse.y"
+#line 3459 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
break;}
case 666:
-#line 3475 "parse.y"
+#line 3483 "parse.y"
{ do_pushlevel (); ;
break;}
case 667:
-#line 3480 "parse.y"
+#line 3488 "parse.y"
{ yyval.ttype = do_poplevel (); ;
break;}
case 669:
-#line 3488 "parse.y"
+#line 3496 "parse.y"
{ if (pedantic)
pedwarn ("ANSI C++ forbids label declarations"); ;
break;}
case 672:
-#line 3499 "parse.y"
+#line 3507 "parse.y"
{ tree link;
for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
{
;
break;}
case 673:
-#line 3513 "parse.y"
+#line 3521 "parse.y"
{;
break;}
case 675:
-#line 3519 "parse.y"
+#line 3527 "parse.y"
{
if (processing_template_decl)
{
;
break;}
case 676:
-#line 3527 "parse.y"
+#line 3535 "parse.y"
{
if (processing_template_decl)
{
;
break;}
case 677:
-#line 3540 "parse.y"
+#line 3548 "parse.y"
{
if (processing_template_decl)
{
;
break;}
case 678:
-#line 3550 "parse.y"
+#line 3558 "parse.y"
{
if (processing_template_decl)
{
;
break;}
case 679:
-#line 3569 "parse.y"
+#line 3577 "parse.y"
{
if (processing_template_decl)
{
;
break;}
case 680:
-#line 3581 "parse.y"
+#line 3589 "parse.y"
{ finish_stmt (); ;
break;}
case 681:
-#line 3583 "parse.y"
+#line 3591 "parse.y"
{
if (processing_template_decl)
{
;
break;}
case 682:
-#line 3591 "parse.y"
+#line 3599 "parse.y"
{
if (processing_template_decl)
{
;
break;}
case 683:
-#line 3604 "parse.y"
+#line 3612 "parse.y"
{ finish_stmt (); ;
break;}
case 685:
-#line 3610 "parse.y"
+#line 3618 "parse.y"
{ finish_stmt (); ;
break;}
case 686:
-#line 3612 "parse.y"
+#line 3620 "parse.y"
{
tree expr = yyvsp[-1].ttype;
if (! processing_template_decl)
finish_stmt (); ;
break;}
case 687:
-#line 3628 "parse.y"
+#line 3636 "parse.y"
{ if (! processing_template_decl) expand_start_else (); ;
break;}
case 688:
-#line 3630 "parse.y"
+#line 3638 "parse.y"
{
if (processing_template_decl)
{
;
break;}
case 689:
-#line 3641 "parse.y"
+#line 3649 "parse.y"
{ finish_stmt (); ;
break;}
case 690:
-#line 3643 "parse.y"
+#line 3651 "parse.y"
{ if (! processing_template_decl) expand_end_cond ();
do_poplevel ();
finish_stmt (); ;
break;}
case 691:
-#line 3647 "parse.y"
+#line 3655 "parse.y"
{
if (processing_template_decl)
{
;
break;}
case 692:
-#line 3662 "parse.y"
+#line 3670 "parse.y"
{
if (processing_template_decl)
{
;
break;}
case 693:
-#line 3681 "parse.y"
+#line 3689 "parse.y"
{
if (processing_template_decl)
{
;
break;}
case 694:
-#line 3693 "parse.y"
+#line 3701 "parse.y"
{
if (processing_template_decl)
{
;
break;}
case 695:
-#line 3707 "parse.y"
+#line 3715 "parse.y"
{
if (processing_template_decl)
{
;
break;}
case 696:
-#line 3721 "parse.y"
+#line 3729 "parse.y"
{
if (processing_template_decl)
TREE_OPERAND (yyvsp[-5].ttype, 1) = yyvsp[-1].ttype;
;
break;}
case 697:
-#line 3734 "parse.y"
+#line 3742 "parse.y"
{ if (processing_template_decl)
{
yyval.ttype = build_min_nt (FOR_STMT, NULL_TREE, NULL_TREE,
;
break;}
case 698:
-#line 3753 "parse.y"
+#line 3761 "parse.y"
{
if (processing_template_decl)
{
;
break;}
case 699:
-#line 3771 "parse.y"
+#line 3779 "parse.y"
{
if (processing_template_decl)
{
;
break;}
case 700:
-#line 3792 "parse.y"
+#line 3800 "parse.y"
{
if (processing_template_decl)
TREE_OPERAND (yyvsp[-9].ttype, 2) = yyvsp[-1].ttype;
;
break;}
case 701:
-#line 3798 "parse.y"
+#line 3806 "parse.y"
{
if (processing_template_decl)
{
finish_stmt (); ;
break;}
case 702:
-#line 3819 "parse.y"
+#line 3827 "parse.y"
{
if (processing_template_decl)
{
;
break;}
case 703:
-#line 3836 "parse.y"
+#line 3844 "parse.y"
{
if (processing_template_decl)
{
;
break;}
case 704:
-#line 3849 "parse.y"
+#line 3857 "parse.y"
{ finish_stmt (); ;
break;}
case 705:
-#line 3851 "parse.y"
+#line 3859 "parse.y"
{ do_case (yyvsp[-1].ttype, NULL_TREE); ;
break;}
case 707:
-#line 3854 "parse.y"
+#line 3862 "parse.y"
{ do_case (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 709:
-#line 3857 "parse.y"
+#line 3865 "parse.y"
{ do_case (NULL_TREE, NULL_TREE); ;
break;}
case 711:
-#line 3860 "parse.y"
+#line 3868 "parse.y"
{ emit_line_note (input_filename, lineno);
if (processing_template_decl)
add_tree (build_min_nt (BREAK_STMT));
error ("break statement not within loop or switch"); ;
break;}
case 712:
-#line 3866 "parse.y"
+#line 3874 "parse.y"
{ emit_line_note (input_filename, lineno);
if (processing_template_decl)
add_tree (build_min_nt (CONTINUE_STMT));
error ("continue statement not within a loop"); ;
break;}
case 713:
-#line 3872 "parse.y"
+#line 3880 "parse.y"
{ emit_line_note (input_filename, lineno);
c_expand_return (NULL_TREE); ;
break;}
case 714:
-#line 3875 "parse.y"
+#line 3883 "parse.y"
{ emit_line_note (input_filename, lineno);
c_expand_return (yyvsp[-1].ttype);
finish_stmt ();
;
break;}
case 715:
-#line 3880 "parse.y"
+#line 3888 "parse.y"
{ if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
emit_line_note (input_filename, lineno);
expand_asm (yyvsp[-2].ttype);
;
break;}
case 716:
-#line 3887 "parse.y"
+#line 3895 "parse.y"
{ if (TREE_CHAIN (yyvsp[-4].ttype)) yyvsp[-4].ttype = combine_strings (yyvsp[-4].ttype);
emit_line_note (input_filename, lineno);
c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
;
break;}
case 717:
-#line 3896 "parse.y"
+#line 3904 "parse.y"
{ if (TREE_CHAIN (yyvsp[-6].ttype)) yyvsp[-6].ttype = combine_strings (yyvsp[-6].ttype);
emit_line_note (input_filename, lineno);
c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
;
break;}
case 718:
-#line 3906 "parse.y"
+#line 3914 "parse.y"
{ if (TREE_CHAIN (yyvsp[-8].ttype)) yyvsp[-8].ttype = combine_strings (yyvsp[-8].ttype);
emit_line_note (input_filename, lineno);
c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
;
break;}
case 719:
-#line 3914 "parse.y"
+#line 3922 "parse.y"
{
if (processing_template_decl)
add_tree (build_min_nt (GOTO_STMT, yyvsp[-1].ttype));
;
break;}
case 720:
-#line 3922 "parse.y"
+#line 3930 "parse.y"
{
if (processing_template_decl)
add_tree (build_min_nt (GOTO_STMT, yyvsp[-1].ttype));
;
break;}
case 721:
-#line 3935 "parse.y"
+#line 3943 "parse.y"
{ finish_stmt (); ;
break;}
case 722:
-#line 3937 "parse.y"
+#line 3945 "parse.y"
{ error ("label must be followed by statement");
yyungetc ('}', 0);
finish_stmt (); ;
break;}
case 723:
-#line 3941 "parse.y"
+#line 3949 "parse.y"
{ finish_stmt (); ;
break;}
case 725:
-#line 3947 "parse.y"
+#line 3955 "parse.y"
{
if (! current_function_parms_stored)
store_parm_decls ();
;
break;}
case 726:
-#line 3953 "parse.y"
+#line 3961 "parse.y"
{ expand_start_all_catch (); ;
break;}
case 727:
-#line 3955 "parse.y"
+#line 3963 "parse.y"
{
int nested = (hack_decl_function_context
(current_function_decl) != NULL_TREE);
;
break;}
case 728:
-#line 3965 "parse.y"
+#line 3973 "parse.y"
{
if (processing_template_decl)
{
;
break;}
case 729:
-#line 3979 "parse.y"
+#line 3987 "parse.y"
{
if (processing_template_decl)
{
;
break;}
case 730:
-#line 3990 "parse.y"
+#line 3998 "parse.y"
{
if (processing_template_decl)
{
;
break;}
case 733:
-#line 4009 "parse.y"
+#line 4017 "parse.y"
{
if (processing_template_decl)
{
;
break;}
case 734:
-#line 4018 "parse.y"
+#line 4026 "parse.y"
{
if (processing_template_decl)
{
;
break;}
case 735:
-#line 4027 "parse.y"
+#line 4035 "parse.y"
{
if (processing_template_decl)
{
;
break;}
case 739:
-#line 4047 "parse.y"
+#line 4055 "parse.y"
{ expand_start_catch_block (NULL_TREE, NULL_TREE); ;
break;}
case 740:
-#line 4063 "parse.y"
+#line 4071 "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 741:
-#line 4070 "parse.y"
+#line 4078 "parse.y"
{ tree label;
do_label:
label = define_label (input_filename, lineno, yyvsp[-1].ttype);
;
break;}
case 742:
-#line 4077 "parse.y"
+#line 4085 "parse.y"
{ goto do_label; ;
break;}
case 743:
-#line 4079 "parse.y"
+#line 4087 "parse.y"
{ goto do_label; ;
break;}
case 744:
-#line 4081 "parse.y"
+#line 4089 "parse.y"
{ goto do_label; ;
break;}
case 745:
-#line 4086 "parse.y"
+#line 4094 "parse.y"
{ if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
break;}
case 747:
-#line 4089 "parse.y"
+#line 4097 "parse.y"
{ if (pedantic)
pedwarn ("ANSI C++ forbids compound statements inside for initializations");
;
break;}
case 748:
-#line 4098 "parse.y"
+#line 4106 "parse.y"
{ emit_line_note (input_filename, lineno);
yyval.ttype = NULL_TREE; ;
break;}
case 749:
-#line 4101 "parse.y"
+#line 4109 "parse.y"
{ emit_line_note (input_filename, lineno); ;
break;}
case 750:
-#line 4106 "parse.y"
+#line 4114 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 752:
-#line 4109 "parse.y"
+#line 4117 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 753:
-#line 4116 "parse.y"
+#line 4124 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 756:
-#line 4123 "parse.y"
+#line 4131 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
break;}
case 757:
-#line 4128 "parse.y"
+#line 4136 "parse.y"
{ yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
break;}
case 758:
-#line 4133 "parse.y"
+#line 4141 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
break;}
case 759:
-#line 4135 "parse.y"
+#line 4143 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
break;}
case 760:
-#line 4146 "parse.y"
+#line 4154 "parse.y"
{
yyval.ttype = empty_parms();
;
break;}
case 762:
-#line 4151 "parse.y"
+#line 4159 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ftype.t, void_list_node);
TREE_PARMLIST (yyval.ttype) = 1;
check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
break;}
case 763:
-#line 4160 "parse.y"
+#line 4168 "parse.y"
{
yyval.ttype = chainon (yyval.ttype, void_list_node);
TREE_PARMLIST (yyval.ttype) = 1;
;
break;}
case 764:
-#line 4165 "parse.y"
+#line 4173 "parse.y"
{
TREE_PARMLIST (yyval.ttype) = 1;
;
break;}
case 765:
-#line 4170 "parse.y"
+#line 4178 "parse.y"
{
TREE_PARMLIST (yyval.ttype) = 1;
;
break;}
case 766:
-#line 4174 "parse.y"
+#line 4182 "parse.y"
{
yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t);
TREE_PARMLIST (yyval.ttype) = 1;
;
break;}
case 767:
-#line 4179 "parse.y"
+#line 4187 "parse.y"
{
yyval.ttype = NULL_TREE;
;
break;}
case 768:
-#line 4183 "parse.y"
+#line 4191 "parse.y"
{
TREE_PARMLIST (yyval.ttype) = 1;
;
break;}
case 769:
-#line 4187 "parse.y"
+#line 4195 "parse.y"
{
TREE_PARMLIST (yyval.ttype) = 1;
;
break;}
case 770:
-#line 4191 "parse.y"
+#line 4199 "parse.y"
{
yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t);
TREE_PARMLIST (yyval.ttype) = 1;
;
break;}
case 771:
-#line 4196 "parse.y"
+#line 4204 "parse.y"
{
/* This helps us recover from really nasty
parse errors, for example, a missing right
;
break;}
case 772:
-#line 4207 "parse.y"
+#line 4215 "parse.y"
{
/* This helps us recover from really nasty
parse errors, for example, a missing right
;
break;}
case 773:
-#line 4222 "parse.y"
+#line 4230 "parse.y"
{ maybe_snarf_defarg (); ;
break;}
case 774:
-#line 4224 "parse.y"
+#line 4232 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 777:
-#line 4235 "parse.y"
+#line 4243 "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 778:
-#line 4238 "parse.y"
+#line 4246 "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 779:
-#line 4241 "parse.y"
+#line 4249 "parse.y"
{ check_for_new_type ("in a parameter list", yyvsp[0].ftype);
yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
break;}
case 780:
-#line 4244 "parse.y"
+#line 4252 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
case 781:
-#line 4246 "parse.y"
+#line 4254 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
break;}
case 783:
-#line 4252 "parse.y"
+#line 4260 "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 784:
-#line 4262 "parse.y"
+#line 4270 "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 785:
-#line 4266 "parse.y"
+#line 4274 "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 786:
-#line 4269 "parse.y"
+#line 4277 "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 787:
-#line 4272 "parse.y"
+#line 4280 "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 788:
-#line 4276 "parse.y"
+#line 4284 "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 789:
-#line 4280 "parse.y"
+#line 4288 "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 790:
-#line 4287 "parse.y"
+#line 4295 "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 791:
-#line 4290 "parse.y"
+#line 4298 "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 794:
-#line 4301 "parse.y"
+#line 4309 "parse.y"
{ see_typename (); ;
break;}
case 795:
-#line 4306 "parse.y"
+#line 4314 "parse.y"
{
error ("type specifier omitted for parameter");
yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
;
break;}
case 796:
-#line 4311 "parse.y"
+#line 4319 "parse.y"
{
error ("type specifier omitted for parameter");
if (TREE_CODE (yyval.ttype) == SCOPE_REF
;
break;}
case 797:
-#line 4323 "parse.y"
+#line 4331 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 798:
-#line 4325 "parse.y"
+#line 4333 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 799:
-#line 4327 "parse.y"
+#line 4335 "parse.y"
{ yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
break;}
case 800:
-#line 4332 "parse.y"
+#line 4340 "parse.y"
{ yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
break;}
case 802:
-#line 4338 "parse.y"
+#line 4346 "parse.y"
{
TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
yyval.ttype = yyvsp[0].ttype;
;
break;}
case 803:
-#line 4346 "parse.y"
+#line 4354 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 804:
-#line 4348 "parse.y"
+#line 4356 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 805:
-#line 4350 "parse.y"
+#line 4358 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 806:
-#line 4352 "parse.y"
+#line 4360 "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 807:
-#line 4359 "parse.y"
+#line 4367 "parse.y"
{ got_scope = NULL_TREE; ;
break;}
case 808:
-#line 4364 "parse.y"
+#line 4372 "parse.y"
{ yyval.ttype = ansi_opname[MULT_EXPR]; ;
break;}
case 809:
-#line 4366 "parse.y"
+#line 4374 "parse.y"
{ yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
break;}
case 810:
-#line 4368 "parse.y"
+#line 4376 "parse.y"
{ yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
break;}
case 811:
-#line 4370 "parse.y"
+#line 4378 "parse.y"
{ yyval.ttype = ansi_opname[PLUS_EXPR]; ;
break;}
case 812:
-#line 4372 "parse.y"
+#line 4380 "parse.y"
{ yyval.ttype = ansi_opname[MINUS_EXPR]; ;
break;}
case 813:
-#line 4374 "parse.y"
+#line 4382 "parse.y"
{ yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
break;}
case 814:
-#line 4376 "parse.y"
+#line 4384 "parse.y"
{ yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
break;}
case 815:
-#line 4378 "parse.y"
+#line 4386 "parse.y"
{ yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
break;}
case 816:
-#line 4380 "parse.y"
+#line 4388 "parse.y"
{ yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
break;}
case 817:
-#line 4382 "parse.y"
+#line 4390 "parse.y"
{ yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
break;}
case 818:
-#line 4384 "parse.y"
+#line 4392 "parse.y"
{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
break;}
case 819:
-#line 4386 "parse.y"
+#line 4394 "parse.y"
{ yyval.ttype = ansi_opname[LT_EXPR]; ;
break;}
case 820:
-#line 4388 "parse.y"
+#line 4396 "parse.y"
{ yyval.ttype = ansi_opname[GT_EXPR]; ;
break;}
case 821:
-#line 4390 "parse.y"
+#line 4398 "parse.y"
{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
break;}
case 822:
-#line 4392 "parse.y"
+#line 4400 "parse.y"
{ yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
break;}
case 823:
-#line 4394 "parse.y"
+#line 4402 "parse.y"
{ yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
break;}
case 824:
-#line 4396 "parse.y"
+#line 4404 "parse.y"
{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
break;}
case 825:
-#line 4398 "parse.y"
+#line 4406 "parse.y"
{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
break;}
case 826:
-#line 4400 "parse.y"
+#line 4408 "parse.y"
{ yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
break;}
case 827:
-#line 4402 "parse.y"
+#line 4410 "parse.y"
{ yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
break;}
case 828:
-#line 4404 "parse.y"
+#line 4412 "parse.y"
{ yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
break;}
case 829:
-#line 4406 "parse.y"
+#line 4414 "parse.y"
{ yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
break;}
case 830:
-#line 4408 "parse.y"
+#line 4416 "parse.y"
{ yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
break;}
case 831:
-#line 4410 "parse.y"
+#line 4418 "parse.y"
{ yyval.ttype = ansi_opname[COND_EXPR]; ;
break;}
case 832:
-#line 4412 "parse.y"
+#line 4420 "parse.y"
{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
break;}
case 833:
-#line 4414 "parse.y"
+#line 4422 "parse.y"
{ yyval.ttype = ansi_opname[COMPONENT_REF]; ;
break;}
case 834:
-#line 4416 "parse.y"
+#line 4424 "parse.y"
{ yyval.ttype = ansi_opname[MEMBER_REF]; ;
break;}
case 835:
-#line 4418 "parse.y"
+#line 4426 "parse.y"
{ yyval.ttype = ansi_opname[CALL_EXPR]; ;
break;}
case 836:
-#line 4420 "parse.y"
+#line 4428 "parse.y"
{ yyval.ttype = ansi_opname[ARRAY_REF]; ;
break;}
case 837:
-#line 4422 "parse.y"
+#line 4430 "parse.y"
{ yyval.ttype = ansi_opname[NEW_EXPR]; ;
break;}
case 838:
-#line 4424 "parse.y"
+#line 4432 "parse.y"
{ yyval.ttype = ansi_opname[DELETE_EXPR]; ;
break;}
case 839:
-#line 4426 "parse.y"
+#line 4434 "parse.y"
{ yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
break;}
case 840:
-#line 4428 "parse.y"
+#line 4436 "parse.y"
{ yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
break;}
case 841:
-#line 4431 "parse.y"
+#line 4439 "parse.y"
{ yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
case 842:
-#line 4433 "parse.y"
+#line 4441 "parse.y"
{ yyval.ttype = ansi_opname[ERROR_MARK]; ;
break;}
}
yystate = yyn;
goto yynewstate;
}
-#line 4436 "parse.y"
+#line 4444 "parse.y"
#ifdef SPEW_DEBUG