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]

Re: C++ PATCH for c++/9993


This should fix the problem.  Applied to 3.2 and 3.3.

2003-03-17  Jason Merrill  <jason at redhat dot com>

	* decl.c (finish_function): Don't skip a block.

*** decl.c.~1~	2003-03-17 18:11:28.000000000 -0500
--- decl.c	2003-03-17 18:09:41.000000000 -0500
*************** finish_function (flags)
*** 14614,14621 ****
  	     the function so we know that their lifetime always ends with a
  	     return; see g++.dg/opt/nrv6.C.  We could be more flexible if
  	     we were to do this optimization in tree-ssa.  */
! 	  /* Skip the artificial function body block.  */
! 	  && (outer = BLOCK_SUBBLOCKS (BLOCK_SUBBLOCKS (DECL_INITIAL (fndecl))),
  	      chain_member (r, BLOCK_VARS (outer))))
  	{
  	  
--- 14614,14620 ----
  	     the function so we know that their lifetime always ends with a
  	     return; see g++.dg/opt/nrv6.C.  We could be more flexible if
  	     we were to do this optimization in tree-ssa.  */
! 	  && (outer = BLOCK_SUBBLOCKS (DECL_INITIAL (fndecl)),
  	      chain_member (r, BLOCK_VARS (outer))))
  	{
  	  

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