This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/39625] [4.5 regression] Revision 145338 breaks ability to build Ada
- From: "rguenther at suse dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 16 Apr 2009 08:45:32 -0000
- Subject: [Bug middle-end/39625] [4.5 regression] Revision 145338 breaks ability to build Ada
- References: <bug-39625-13830@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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