On Wed, Sep 18, 2013 at 1:21 PM, Eric Botcazou <ebotca...@adacore.com> wrote:
> Hi,
>
> this is a regression present on mainline and 4.8 branch (and latent on the 4.7
> branch), which is visible with the attached Ada testcase for targets using the
> SJLJ exception scheme:
>
> eric@polaris:~/gnat/bugs/M823-029> ~/build/gcc-4_8-branch/native/gcc/gnat1 -
> quiet p.adb -O2
> +===========================GNAT BUG DETECTED==============================+
> | 4.8.2 20130916 (prerelease) [gcc-4_8-branch revision 202625] (x86_64-suse-
> linux) GCC error:|
> | in insert_clobber_before_stack_restore, at tree-ssa-ccp.c:1711           |
> | Error detected around p.adb:5:3
>
> The problem is that insert_clobber_before_stack_restore recurses on PHI nodes,
> but stops on copy assignment statements, which appears to be just an oversight
> in this new function.  The SSA_NAMEs have SSA_NAME_OCCURS_IN_ABNORMAL_PHI here
> (because of the SJLJ exception scheme), which very likely explains the copy
> assignment statement.
>
> Tested on x86_64-suse-linux, OK for mainline and 4.8 branch?  What about the
> 4.7 branch?

Ok.

Thanks,
Richard.

>
> 2013-09-18  Eric Botcazou  <ebotca...@adacore.com>
>
>         * tree-ssa-ccp.c (insert_clobber_before_stack_restore): Recurse on 
> copy
>         assignment statements.
>
>
> 2013-09-18  Eric Botcazou  <ebotca...@adacore.com>
>
>         * gnat.dg/opt28.ad[sb]: New test.
>         * gnat.dg/opt28_pkg.ads: New helper.
>
>
> --
> Eric Botcazou

Reply via email to