aboutsummaryrefslogtreecommitdiff
path: root/gcc/integrate.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/integrate.c')
-rw-r--r--gcc/integrate.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/integrate.c b/gcc/integrate.c
index 21a738e..ec1c7de 100644
--- a/gcc/integrate.c
+++ b/gcc/integrate.c
@@ -381,7 +381,10 @@ copy_decl_for_inlining (tree decl, tree from_fn, tree to_fn)
/* Set the DECL_ABSTRACT_ORIGIN so the debugging routines know what
declaration inspired this copy. */
- DECL_ABSTRACT_ORIGIN (copy) = DECL_ORIGIN (decl);
+ if (DECL_ABSTRACT_ORIGIN (decl))
+ DECL_ABSTRACT_ORIGIN (copy) = DECL_ABSTRACT_ORIGIN (decl);
+ else
+ DECL_ABSTRACT_ORIGIN (copy) = DECL_ORIGIN (decl);
/* The new variable/label has no RTL, yet. */
if (!TREE_STATIC (copy) && !DECL_EXTERNAL (copy))