This is the mail archive of the gcc-bugs@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]

[Bug rtl-optimization/15014] [3.5 regression] labels after are removed even though they are used


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-06-08 13:49 -------
After RTH's change for having only one RETURN_EXPR, the problem is now on rtl level.


2004-06-07  Richard Henderson  <rth@redhat.com>
        
        * gimple-low.c (struct lower_data): Add the_return_label and
        one_return_stmt. 
        (lower_function_body): Initialize and use them.
        (lower_return_expr): New. 
        (lower_stmt): Call it.
        * gimplify.c (gimplify_return_expr): Force the argument to be either
        null or a result_decl.
        * tree-gimple.c: Update gimple grammer to match.
        * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Deny
        coalescing of result_decls.


And here is the new test which fails:
#ifndef NO_LABEL_VALUES
int main ()
{
  void *x = &&L2;
  if (&&L3 - &&L1 > 1)
    abort();
 L1: return 0;
 L2: abort ();
 L3:;
}
#else
int main(){return 0;}
#endif

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|tree-optimization           |rtl-optimization
   Last reconfirmed|2004-05-04 12:05:25         |2004-06-08 13:50:09
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15014


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