Hi Richard, > From: Richard Biener [mailto:[email protected]] > > > > The ChangeLog are as follows: > > > > *** gcc/ChangeLog *** > > > > 2014-05-04 Thomas Preud'homme <[email protected]> > > > > PR middle-end/39246 > > * tree-complex.c (expand_complex_move): Keep line info when > expanding > > complex move. > > This part and the corresponding testcase adjustment is ok. You can > commit it separately.
Only the change to tree-complex.c should be commited then, as it just changes
the location for target where the test was failing to the return line.
The current situation for uninit-13.c is:
Warning location
Target return complex in register(s) partial init
Target return complex on the stack declaration
With the change to tree-complex.c the situation for the same test becomes:
Warning location
Target return complex in register(s) partial init
Target return complex on the stack return
So either I don't touch the test or I move it to the return but I will just
change
the set of target for which this test fails in doing so.
>
> > * tree-ssa-uninit.c (warn_uninit): New argument. Ignore assignment
> > of
> > complex expression. Use new argument to display correct location for
> > values coming from phi statement.
> > (warn_uninitialized_vars): Adapt to new signature of warn_uninit.
> > (warn_uninitialized_phi): Pass location of phi argument to
> > warn_uninit.
> > * tree-ssa.c (ssa_undefined_value_p): For SSA_NAME initialized by a
> > COMPLEX_EXPR, recurse on each part of the COMPLEX_EXPR.
>
> This change will also affect PRE in a bogus way. It also affects
> tree-complex.c lowering process, eventually in a similar pessimizing way.
>
> So please do the change local to tree-ssa-uninit.c.
Done, see attached patch.
Best regards,
Thomas
gcc32rm-91.2.0.diff
Description: Binary data
