Commit 7500b256 by Thomas Preud'homme Committed by Joey Ye

re PR middle-end/39246 (FAIL: gcc.dg/uninit-13.c)

2014-05-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

        PR middle-end/39246
        * tree-complex.c (expand_complex_move): Keep line info when expanding
        complex move.
        * 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.

testsuite:

        * gcc.dg/uninit-13.c: Move warning on the actual source line where
        the uninitialized complex is used.
        * gcc.dg/uninit-17.c: New test to check partial initialization of
        complex with branches.
        * gcc.dg/uninit-17-O0.c: Likewise.

From-SVN: r210200
parent e1ec47c4
/* { dg-do compile } */
/* { dg-options "-Wuninitialized" } */
typedef _Complex float C;
C foo(int cond)
{
C f;
__imag__ f = 0;
if (cond)
{
__real__ f = 1;
return f;
}
return f;
}
/* { dg-do compile } */
/* { dg-options "-O -Wuninitialized" } */
typedef _Complex float C;
C foo(int cond)
{
C f;
__imag__ f = 0;
if (cond)
{
__real__ f = 1;
return f;
}
return f; /* { dg-warning "may be used" "unconditional" } */
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment