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 middle-end/39625] [4.5 regression] Revision 145338 breaks ability to build Ada



------- Comment #32 from rguenther at suse dot de  2009-04-16 08:45 -------
Subject: Re:  [4.5 regression] Revision 145338 breaks
 ability to build Ada

On Thu, 16 Apr 2009, ebotcazou at gcc dot gnu dot org wrote:

> ------- Comment #31 from ebotcazou at gcc dot gnu dot org  2009-04-16 08:33 -------
> > Do you happen to have a testcase?
> 
> Attached in the PR.
> 
> <bb 22>:
>   formal_24(ab) = p__proc_next (formal_6(ab));
>   goto <bb 3>;
> 
>   # formal_7(ab) = PHI <formal_9(ab)(2), formal_5(ab)(3), formal_5(ab)(4),
> formal_7(ab)(6), formal_6(ab)(9), formal_6(ab)(10), formal_6(ab)(11),
> formal_6(ab)(12), formal_6(ab)(13), formal_24(ab)(22), formal_6(ab)(14),
> formal_6(ab)(15), formal_6(ab)(16), formal_6(ab)(17), formal_6(ab)(18),
> formal_6(ab)(19), formal_6(ab)(20)>
> 
> the reaching SSA_NAME on the abnormal edge is wrong.  This breaks inlining.

Hum, an Ada testcase ... so p__proc_next calls longjmp, correct?  And
the target in question uses SJLJ exceptions (so this particular case
is an exception problem)?

I wonder if a C testcase explicitly using setjmp/longjmp would be
valid with all the constraints placed on how they interact on
register variable values.

I'll dig into where we deal with SJLJ EH lowering ... :/


-- 


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


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