diff options
Diffstat (limited to 'gcc/tree-outof-ssa.c')
-rw-r--r-- | gcc/tree-outof-ssa.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/gcc/tree-outof-ssa.c b/gcc/tree-outof-ssa.c index 430e8ca..65c74d3 100644 --- a/gcc/tree-outof-ssa.c +++ b/gcc/tree-outof-ssa.c @@ -157,10 +157,16 @@ create_temp (tree t) name = "temp"; tmp = create_tmp_var (type, name); - if (DECL_DEBUG_ALIAS_OF (t)) - DECL_DEBUG_ALIAS_OF (tmp) = DECL_DEBUG_ALIAS_OF (t); + if (DECL_DEBUG_EXPR (t) && DECL_DEBUG_EXPR_IS_FROM (t)) + { + DECL_DEBUG_EXPR (tmp) = DECL_DEBUG_EXPR (t); + DECL_DEBUG_EXPR_IS_FROM (tmp) = 1; + } else if (!DECL_IGNORED_P (t)) - DECL_DEBUG_ALIAS_OF (tmp) = t; + { + DECL_DEBUG_EXPR (tmp) = t; + DECL_DEBUG_EXPR_IS_FROM (tmp) = 1; + } DECL_ARTIFICIAL (tmp) = DECL_ARTIFICIAL (t); DECL_IGNORED_P (tmp) = DECL_IGNORED_P (t); add_referenced_tmp_var (tmp); |