diff options
Diffstat (limited to 'gcc/tree-complex.c')
-rw-r--r-- | gcc/tree-complex.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/tree-complex.c b/gcc/tree-complex.c index 693c8c9..a1964ee 100644 --- a/gcc/tree-complex.c +++ b/gcc/tree-complex.c @@ -246,6 +246,17 @@ init_dont_simulate_again (void) saw_a_complex_op = true; break; + case REALPART_EXPR: + case IMAGPART_EXPR: + /* The total store transformation performed during + gimplification creates such uninitialized loads + and we need to lower the statement to be able + to fix things up. */ + if (TREE_CODE (TREE_OPERAND (rhs, 0)) == SSA_NAME + && ssa_undefined_value_p (TREE_OPERAND (rhs, 0))) + saw_a_complex_op = true; + break; + default: break; } |