diff options
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r-- | gcc/tree-inline.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index 07085b1..f9ce09b 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -1222,6 +1222,9 @@ declare_return_variable (copy_body_data *id, tree return_slot_addr, use_it = false; else if (is_global_var (base_m)) use_it = false; + else if (TREE_CODE (TREE_TYPE (base_m)) == COMPLEX_TYPE + && !DECL_COMPLEX_GIMPLE_REG_P (result)) + DECL_COMPLEX_GIMPLE_REG_P (base_m) = 0; else if (!TREE_ADDRESSABLE (base_m)) use_it = true; } |