diff options
| author | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-02-25 01:36:03 +0000 | 
|---|---|---|
| committer | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-02-25 01:36:03 +0000 | 
| commit | 6cb10b66038a87ee4efb80df9d6e98d618cbc586 (patch) | |
| tree | 2fe743cce5c60c9804689fb64441246f66c1a9d2 | |
| parent | 25c66e490c9e3b685c7c75d63987998ce0eab993 (diff) | |
| download | ppe42-gcc-6cb10b66038a87ee4efb80df9d6e98d618cbc586.tar.gz ppe42-gcc-6cb10b66038a87ee4efb80df9d6e98d618cbc586.zip | |
	* lex.c (check_newline): Use push_srcloc and pop_srcloc, rather
	than duplicating functionality here.
	* optimize.c: Include input.h.
	(expand_call_inline): Use push_srcloc and pop_srcloc.
	* parse.y (maybe_cv_qualifier): Remove calls to emit_line_note.
	* parse.c: Regenerated.
	* Makefile.in (lex.o): Depend on input.h.
	(optimize.o): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32142 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/cp/ChangeLog | 11 | ||||
| -rw-r--r-- | gcc/cp/Makefile.in | 8 | ||||
| -rw-r--r-- | gcc/cp/lex.c | 54 | ||||
| -rw-r--r-- | gcc/cp/optimize.c | 9 | ||||
| -rw-r--r-- | gcc/cp/parse.c | 191 | ||||
| -rw-r--r-- | gcc/cp/parse.y | 4 | 
6 files changed, 139 insertions, 138 deletions
| diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 36b8144dc13..96ad5bd9958 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,14 @@ +2000-02-24  Mark Mitchell  <mark@codesourcery.com> + +	* lex.c (check_newline): Use push_srcloc and pop_srcloc, rather +	than duplicating functionality here. +	* optimize.c: Include input.h. +	(expand_call_inline): Use push_srcloc and pop_srcloc. +	* parse.y (maybe_cv_qualifier): Remove calls to emit_line_note. +	* parse.c: Regenerated. +	* Makefile.in (lex.o): Depend on input.h. +	(optimize.o): Likewise. +	  2000-02-24  Nathan Sidwell  <nathan@codesourcery.com>  	* decl.c (grokdeclarator): Diagnose qualifiers on non-member diff --git a/gcc/cp/Makefile.in b/gcc/cp/Makefile.in index a72e7b3e92e..13c66286371 100644 --- a/gcc/cp/Makefile.in +++ b/gcc/cp/Makefile.in @@ -1,5 +1,5 @@  # Makefile for GNU C++ compiler. -#   Copyright (C) 1987, 88, 90-5, 1998, 1999 Free Software Foundation, Inc. +#   Copyright (C) 1987, 88, 90-5, 1998, 1999, 2000 Free Software Foundation, Inc.  #This file is part of GNU CC. @@ -246,7 +246,8 @@ spew.o : spew.c $(CXX_TREE_H) $(PARSE_H) $(srcdir)/../flags.h \  lex.o : lex.c $(CXX_TREE_H) \    $(PARSE_H) input.c $(srcdir)/../flags.h hash.h lex.h \    $(srcdir)/../c-pragma.h $(srcdir)/../toplev.h \ -  $(srcdir)/../output.h $(srcdir)/../mbchar.h $(srcdir)/../ggc.h +  $(srcdir)/../output.h $(srcdir)/../mbchar.h $(srcdir)/../ggc.h \ +  $(srcdir)/../input.h  decl.o : decl.c $(CXX_TREE_H) $(srcdir)/../flags.h \    lex.h decl.h $(srcdir)/../stack.h $(srcdir)/../output.h  \    $(srcdir)/../except.h $(srcdir)/../toplev.h \ @@ -301,7 +302,8 @@ semantics.o: semantics.c $(CXX_TREE_H) lex.h \    $(srcdir)/../output.h $(RTL_H)   dump.o: dump.c $(CXX_TREE_H)  optimize.o: optimize.c $(CXX_TREE_H) \ -  $(srcdir)/../rtl.h $(srcdir)/../integrate.h ../insn-config.h +  $(srcdir)/../rtl.h $(srcdir)/../integrate.h ../insn-config.h \ +  $(srcdir)/../input.h  #  # These exist for maintenance purposes. diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c index 0bc8e34ab0d..9f948f522e6 100644 --- a/gcc/cp/lex.c +++ b/gcc/cp/lex.c @@ -2322,8 +2322,9 @@ check_newline ()    register int token;    int saw_line;    enum { act_none, act_push, act_pop } action; -  int old_lineno, action_number, l; +  int action_number, l;    int entering_c_header; +  char *new_file;   restart:    /* Read first nonwhite char on the line.  Do this before incrementing the @@ -2531,9 +2532,9 @@ linenum:        body_time = this_time;      } -  input_filename = TREE_STRING_POINTER (yylval.ttype); +  new_file = TREE_STRING_POINTER (yylval.ttype); -  GNU_xref_file (input_filename); +  GNU_xref_file (new_file);    if (main_input_filename == 0)      { @@ -2543,29 +2544,24 @@ linenum:  	{  	  while (ifiles->next)  	    ifiles = ifiles->next; -	  ifiles->filename = file_name_nondirectory (input_filename); +	  ifiles->filename = file_name_nondirectory (new_file);  	} -      main_input_filename = input_filename; +      main_input_filename = new_file;      } -  extract_interface_info (); - -  old_lineno = lineno;    action = act_none;    action_number = 0; -  lineno = l;    /* Each change of file name       reinitializes whether we are now in a system header.  */    in_system_header = 0;    entering_c_header = 0; -  if (!read_line_number (&action_number)) +  if (!read_line_number (&action_number) && input_file_stack)      { -      /* Update the name in the top element of input_file_stack.  */ -      if (input_file_stack) -	input_file_stack->name = input_filename; +      input_file_stack->name = input_filename = new_file; +      input_file_stack->line = lineno = l;      }    /* `1' after file name means entering new file. @@ -2599,14 +2595,8 @@ linenum:    if (action == act_push)      {        /* Pushing to a new file.  */ -      struct file_stack *p -	= (struct file_stack *) xmalloc (sizeof (struct file_stack)); -      input_file_stack->line = old_lineno; -      p->next = input_file_stack; -      p->name = input_filename; -      p->indent_level = indent_level; -      input_file_stack = p; -      input_file_stack_tick++; +      push_srcloc (new_file, l); +      input_file_stack->indent_level = indent_level;        debug_start_source_file (input_filename);        if (c_header_level)  	++c_header_level; @@ -2621,8 +2611,6 @@ linenum:        /* Popping out of a file.  */        if (input_file_stack->next)  	{ -	  struct file_stack *p = input_file_stack; -  	  if (c_header_level && --c_header_level == 0)  	    {  	      if (entering_c_header) @@ -2630,27 +2618,25 @@ linenum:  	      --pending_lang_change;  	    } -	  if (indent_level != p->indent_level) +	  if (indent_level != input_file_stack->indent_level)  	    {  	      warning_with_file_and_line -		(p->name, old_lineno, +		(input_filename, lineno,  		 "This file contains more `%c's than `%c's.", -		 indent_level > p->indent_level ? '{' : '}', -		 indent_level > p->indent_level ? '}' : '{'); +		 indent_level > input_file_stack->indent_level ? '{' : '}', +		 indent_level > input_file_stack->indent_level ? '}' : '{');  	    } -	  input_file_stack = p->next; -	  free (p); -	  input_file_stack_tick++; + +	  pop_srcloc (); +	  input_file_stack->name = new_file; +	  lineno = l;  	  debug_end_source_file (input_file_stack->line);  	}        else  	error ("#-lines for entering and leaving files don't match");      } -  /* Now that we've pushed or popped the input stack, -     update the name in the top element.  */ -  if (input_file_stack) -    input_file_stack->name = input_filename; +  extract_interface_info ();    /* skip the rest of this line.  */   skipline: diff --git a/gcc/cp/optimize.c b/gcc/cp/optimize.c index f668ec46161..e18f9568b82 100644 --- a/gcc/cp/optimize.c +++ b/gcc/cp/optimize.c @@ -25,6 +25,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA  #include "cp-tree.h"  #include "rtl.h"  #include "insn-config.h" +#include "input.h"  #include "integrate.h"  #include "varray.h" @@ -569,6 +570,13 @@ expand_call_inline (tp, walk_subtrees, data)    if (!inlinable_function_p (fn, id))      return NULL_TREE; +  /* Set the current filename and line number to the function we are +     inlining so that when we create new _STMT nodes here they get +     line numbers corresponding to the function we are calling.  We +     wrap the whole inlined body in an EXPR_WITH_FILE_AND_LINE as well +     because individual statements don't record the filename.  */ +  push_srcloc (fn->decl.filename, fn->decl.linenum); +    /* Build a statement-expression containing code to initialize the       arguments, the actual inline expansion of the body, and a label       for the return statements within the function to jump to.  The @@ -660,6 +668,7 @@ expand_call_inline (tp, walk_subtrees, data)  			/*col=*/0);    EXPR_WFL_EMIT_LINE_NOTE (*tp) = 1;    TREE_CHAIN (*tp) = chain; +  pop_srcloc ();    /* If the value of the new expression is ignored, that's OK.  We       don't warn about this for CALL_EXPRs, so we shouldn't warn about diff --git a/gcc/cp/parse.c b/gcc/cp/parse.c index aedbffc6adb..6532e272283 100644 --- a/gcc/cp/parse.c +++ b/gcc/cp/parse.c @@ -810,16 +810,16 @@ static const short yyrline[] = { 0,    3307,  3309,  3312,  3315,  3318,  3321,  3327,  3329,  3330,  3333,    3335,  3336,  3337,  3339,  3342,  3345,  3348,  3354,  3358,  3360,    3363,  3365,  3368,  3372,  3374,  3377,  3379,  3382,  3399,  3407, -  3410,  3412,  3414,  3418,  3421,  3422,  3430,  3434,  3438,  3441, -  3442,  3448,  3451,  3454,  3456,  3460,  3465,  3468,  3478,  3483, -  3484,  3491,  3494,  3497,  3499,  3502,  3504,  3514,  3528,  3532, -  3535,  3537,  3541,  3545,  3548,  3551,  3553,  3557,  3559,  3566, -  3573,  3576,  3580,  3584,  3588,  3594,  3598,  3603,  3605,  3608, -  3613,  3619,  3630,  3633,  3635,  3639,  3647,  3650,  3654,  3657, -  3659,  3661,  3667,  3672,  3675,  3677,  3679,  3681,  3683,  3685, -  3687,  3689,  3691,  3693,  3695,  3697,  3699,  3701,  3703,  3705, -  3707,  3709,  3711,  3713,  3715,  3717,  3719,  3721,  3723,  3725, -  3727,  3729,  3731,  3733,  3735,  3737,  3740,  3742 +  3410,  3412,  3414,  3418,  3421,  3422,  3430,  3433,  3436,  3439, +  3440,  3446,  3449,  3452,  3454,  3458,  3463,  3466,  3476,  3481, +  3482,  3489,  3492,  3495,  3497,  3500,  3502,  3512,  3526,  3530, +  3533,  3535,  3539,  3543,  3546,  3549,  3551,  3555,  3557,  3564, +  3571,  3574,  3578,  3582,  3586,  3592,  3596,  3601,  3603,  3606, +  3611,  3617,  3628,  3631,  3633,  3637,  3645,  3648,  3652,  3655, +  3657,  3659,  3665,  3670,  3673,  3675,  3677,  3679,  3681,  3683, +  3685,  3687,  3689,  3691,  3693,  3695,  3697,  3699,  3701,  3703, +  3705,  3707,  3709,  3711,  3713,  3715,  3717,  3719,  3721,  3723, +  3725,  3727,  3729,  3731,  3733,  3735,  3738,  3740  };  #endif @@ -7848,75 +7848,70 @@ case 786:      break;}  case 787:  #line 3432 "parse.y" -{ emit_line_note (input_filename, lineno); -		  yyval.ttype = NULL_TREE; ; -    break;} -case 788: -#line 3435 "parse.y" -{ emit_line_note (input_filename, lineno); ; +{ yyval.ttype = NULL_TREE; ;      break;}  case 789: -#line 3440 "parse.y" +#line 3438 "parse.y"  { yyval.ttype = NULL_TREE; ;      break;}  case 791: -#line 3443 "parse.y" +#line 3441 "parse.y"  { yyval.ttype = NULL_TREE; ;      break;}  case 792: -#line 3450 "parse.y" +#line 3448 "parse.y"  { yyval.ttype = NULL_TREE; ;      break;}  case 795: -#line 3457 "parse.y" +#line 3455 "parse.y"  { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;      break;}  case 796: -#line 3462 "parse.y" +#line 3460 "parse.y"  { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;      break;}  case 797: -#line 3467 "parse.y" +#line 3465 "parse.y"  { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;      break;}  case 798: -#line 3469 "parse.y" +#line 3467 "parse.y"  { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;      break;}  case 799: -#line 3480 "parse.y" +#line 3478 "parse.y"  {  		  yyval.ttype = empty_parms();  		;      break;}  case 801: -#line 3485 "parse.y" +#line 3483 "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 802: -#line 3493 "parse.y" +#line 3491 "parse.y"  { yyval.ttype = finish_parmlist (yyval.ttype, 0); ;      break;}  case 803: -#line 3495 "parse.y" +#line 3493 "parse.y"  { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;      break;}  case 804: -#line 3498 "parse.y" +#line 3496 "parse.y"  { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;      break;}  case 805: -#line 3500 "parse.y" +#line 3498 "parse.y"  { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,  							 yyvsp[-1].ftype.t), 1); ;      break;}  case 806: -#line 3503 "parse.y" +#line 3501 "parse.y"  { yyval.ttype = finish_parmlist (NULL_TREE, 1); ;      break;}  case 807: -#line 3505 "parse.y" +#line 3503 "parse.y"  {  		  /* This helps us recover from really nasty  		     parse errors, for example, a missing right @@ -7928,7 +7923,7 @@ case 807:  		;      break;}  case 808: -#line 3515 "parse.y" +#line 3513 "parse.y"  {  		  /* This helps us recover from really nasty  		     parse errors, for example, a missing right @@ -7941,99 +7936,99 @@ case 808:  		;      break;}  case 809: -#line 3530 "parse.y" +#line 3528 "parse.y"  { maybe_snarf_defarg (); ;      break;}  case 810: -#line 3532 "parse.y" +#line 3530 "parse.y"  { yyval.ttype = yyvsp[0].ttype; ;      break;}  case 813: -#line 3543 "parse.y" +#line 3541 "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 814: -#line 3546 "parse.y" +#line 3544 "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 815: -#line 3549 "parse.y" +#line 3547 "parse.y"  { check_for_new_type ("in a parameter list", yyvsp[0].ftype);  		  yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;      break;}  case 816: -#line 3552 "parse.y" +#line 3550 "parse.y"  { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;      break;}  case 817: -#line 3554 "parse.y" +#line 3552 "parse.y"  { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;      break;}  case 819: -#line 3560 "parse.y" +#line 3558 "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 820: -#line 3570 "parse.y" +#line 3568 "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 821: -#line 3574 "parse.y" +#line 3572 "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 822: -#line 3577 "parse.y" +#line 3575 "parse.y"  { yyval.ftype.t = build_tree_list (build_decl_list (NULL_TREE, yyvsp[-1].ftype.t),  					  yyvsp[0].ttype);   		  yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;      break;}  case 823: -#line 3581 "parse.y" +#line 3579 "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 824: -#line 3585 "parse.y" +#line 3583 "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 825: -#line 3589 "parse.y" +#line 3587 "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 = 0; ;      break;}  case 826: -#line 3596 "parse.y" +#line 3594 "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 827: -#line 3599 "parse.y" +#line 3597 "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 830: -#line 3610 "parse.y" +#line 3608 "parse.y"  { see_typename (); ;      break;}  case 831: -#line 3615 "parse.y" +#line 3613 "parse.y"  {  		  error ("type specifier omitted for parameter");  		  yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);  		;      break;}  case 832: -#line 3620 "parse.y" +#line 3618 "parse.y"  {  		  error ("type specifier omitted for parameter");  		  if (TREE_CODE (yyval.ttype) == SCOPE_REF @@ -8044,192 +8039,192 @@ case 832:  		;      break;}  case 833: -#line 3632 "parse.y" +#line 3630 "parse.y"  { yyval.ttype = NULL_TREE; ;      break;}  case 834: -#line 3634 "parse.y" +#line 3632 "parse.y"  { yyval.ttype = yyvsp[-1].ttype; ;      break;}  case 835: -#line 3636 "parse.y" +#line 3634 "parse.y"  { yyval.ttype = empty_except_spec; ;      break;}  case 836: -#line 3641 "parse.y" +#line 3639 "parse.y"  {  		  check_for_new_type ("exception specifier", yyvsp[0].ftype);  		  yyval.ttype = groktypename (yyvsp[0].ftype.t);  		;      break;}  case 837: -#line 3649 "parse.y" +#line 3647 "parse.y"  { yyval.ttype = add_exception_specifier (NULL_TREE, yyvsp[0].ttype, 1); ;      break;}  case 838: -#line 3651 "parse.y" +#line 3649 "parse.y"  { yyval.ttype = add_exception_specifier (yyvsp[-2].ttype, yyvsp[0].ttype, 1); ;      break;}  case 839: -#line 3656 "parse.y" +#line 3654 "parse.y"  { yyval.ttype = NULL_TREE; ;      break;}  case 840: -#line 3658 "parse.y" +#line 3656 "parse.y"  { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;      break;}  case 841: -#line 3660 "parse.y" +#line 3658 "parse.y"  { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;      break;}  case 842: -#line 3662 "parse.y" +#line 3660 "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 843: -#line 3669 "parse.y" +#line 3667 "parse.y"  { got_scope = NULL_TREE; ;      break;}  case 844: -#line 3674 "parse.y" +#line 3672 "parse.y"  { yyval.ttype = ansi_opname[MULT_EXPR]; ;      break;}  case 845: -#line 3676 "parse.y" +#line 3674 "parse.y"  { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;      break;}  case 846: -#line 3678 "parse.y" +#line 3676 "parse.y"  { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;      break;}  case 847: -#line 3680 "parse.y" +#line 3678 "parse.y"  { yyval.ttype = ansi_opname[PLUS_EXPR]; ;      break;}  case 848: -#line 3682 "parse.y" +#line 3680 "parse.y"  { yyval.ttype = ansi_opname[MINUS_EXPR]; ;      break;}  case 849: -#line 3684 "parse.y" +#line 3682 "parse.y"  { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;      break;}  case 850: -#line 3686 "parse.y" +#line 3684 "parse.y"  { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;      break;}  case 851: -#line 3688 "parse.y" +#line 3686 "parse.y"  { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;      break;}  case 852: -#line 3690 "parse.y" +#line 3688 "parse.y"  { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;      break;}  case 853: -#line 3692 "parse.y" +#line 3690 "parse.y"  { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;      break;}  case 854: -#line 3694 "parse.y" +#line 3692 "parse.y"  { yyval.ttype = ansi_opname[yyvsp[0].code]; ;      break;}  case 855: -#line 3696 "parse.y" +#line 3694 "parse.y"  { yyval.ttype = ansi_opname[LT_EXPR]; ;      break;}  case 856: -#line 3698 "parse.y" +#line 3696 "parse.y"  { yyval.ttype = ansi_opname[GT_EXPR]; ;      break;}  case 857: -#line 3700 "parse.y" +#line 3698 "parse.y"  { yyval.ttype = ansi_opname[yyvsp[0].code]; ;      break;}  case 858: -#line 3702 "parse.y" +#line 3700 "parse.y"  { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;      break;}  case 859: -#line 3704 "parse.y" +#line 3702 "parse.y"  { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;      break;}  case 860: -#line 3706 "parse.y" +#line 3704 "parse.y"  { yyval.ttype = ansi_opname[yyvsp[0].code]; ;      break;}  case 861: -#line 3708 "parse.y" +#line 3706 "parse.y"  { yyval.ttype = ansi_opname[yyvsp[0].code]; ;      break;}  case 862: -#line 3710 "parse.y" +#line 3708 "parse.y"  { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;      break;}  case 863: -#line 3712 "parse.y" +#line 3710 "parse.y"  { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;      break;}  case 864: -#line 3714 "parse.y" +#line 3712 "parse.y"  { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;      break;}  case 865: -#line 3716 "parse.y" +#line 3714 "parse.y"  { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;      break;}  case 866: -#line 3718 "parse.y" +#line 3716 "parse.y"  { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;      break;}  case 867: -#line 3720 "parse.y" +#line 3718 "parse.y"  { yyval.ttype = ansi_opname[COND_EXPR]; ;      break;}  case 868: -#line 3722 "parse.y" +#line 3720 "parse.y"  { yyval.ttype = ansi_opname[yyvsp[0].code]; ;      break;}  case 869: -#line 3724 "parse.y" +#line 3722 "parse.y"  { yyval.ttype = ansi_opname[COMPONENT_REF]; ;      break;}  case 870: -#line 3726 "parse.y" +#line 3724 "parse.y"  { yyval.ttype = ansi_opname[MEMBER_REF]; ;      break;}  case 871: -#line 3728 "parse.y" +#line 3726 "parse.y"  { yyval.ttype = ansi_opname[CALL_EXPR]; ;      break;}  case 872: -#line 3730 "parse.y" +#line 3728 "parse.y"  { yyval.ttype = ansi_opname[ARRAY_REF]; ;      break;}  case 873: -#line 3732 "parse.y" +#line 3730 "parse.y"  { yyval.ttype = ansi_opname[NEW_EXPR]; ;      break;}  case 874: -#line 3734 "parse.y" +#line 3732 "parse.y"  { yyval.ttype = ansi_opname[DELETE_EXPR]; ;      break;}  case 875: -#line 3736 "parse.y" +#line 3734 "parse.y"  { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;      break;}  case 876: -#line 3738 "parse.y" +#line 3736 "parse.y"  { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;      break;}  case 877: -#line 3741 "parse.y" +#line 3739 "parse.y"  { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;      break;}  case 878: -#line 3743 "parse.y" +#line 3741 "parse.y"  { yyval.ttype = ansi_opname[ERROR_MARK]; ;      break;}  } @@ -8454,7 +8449,7 @@ yyerrhandle:      }    return 1;  } -#line 3746 "parse.y" +#line 3744 "parse.y"  #ifdef SPEW_DEBUG diff --git a/gcc/cp/parse.y b/gcc/cp/parse.y index cc6dfe428e2..9a85922849d 100644 --- a/gcc/cp/parse.y +++ b/gcc/cp/parse.y @@ -3429,10 +3429,8 @@ for.init.statement:  maybe_cv_qualifier:  	  /* empty */ -		{ emit_line_note (input_filename, lineno); -		  $$ = NULL_TREE; } +		{ $$ = NULL_TREE; }  	| CV_QUALIFIER -		{ emit_line_note (input_filename, lineno); }  	;  xexpr: | 

