This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[tree-ssa] pre-fix gcc.dg/volatile1.c


Not sure why this was passing before, but after a patch I'm about
to commit, it starts failing.


r~


        * gimplify.c (gimplify_addr_expr): Clear, not copy, TREE_SIDE_EFFECTS.

Index: gimplify.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/gimplify.c,v
retrieving revision 1.1.2.108
diff -c -p -d -r1.1.2.108 gimplify.c
*** gimplify.c	11 Nov 2003 21:08:02 -0000	1.1.2.108
--- gimplify.c	12 Nov 2003 02:28:35 -0000
*************** gimplify_addr_expr (tree *expr_p, tree *
*** 2347,2354 ****
  			   is_gimple_addr_expr_arg, fb_either);
        if (ret != GS_ERROR)
  	{
! 	  TREE_SIDE_EFFECTS (expr)
! 	    = TREE_SIDE_EFFECTS (TREE_OPERAND (expr, 0));
  	  /* Mark the RHS addressable.  */
  	  (*lang_hooks.mark_addressable) (TREE_OPERAND (expr, 0));
  	}
--- 2364,2374 ----
  			   is_gimple_addr_expr_arg, fb_either);
        if (ret != GS_ERROR)
  	{
! 	  /* At this point, the argument of the ADDR_EXPR should be
! 	     sufficiently simple that there are never side effects.  */
! 	  /* ??? Could split out the decision code from build1 to verify.  */
! 	  TREE_SIDE_EFFECTS (expr) = 0;
! 
  	  /* Mark the RHS addressable.  */
  	  (*lang_hooks.mark_addressable) (TREE_OPERAND (expr, 0));
  	}


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]