summaryrefslogtreecommitdiff
path: root/gcc/integrate.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2003-10-18 18:36:05 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2003-10-18 18:36:05 +0000
commitd6955addde268d85b6aef4f295ab7e50080ba4e5 (patch)
tree7d3892197b0a6b36f32b0421b68b8b00e714fa66 /gcc/integrate.c
parent5c654ee0bf9037f2918714d94f38487dd0d12c0b (diff)
downloadgcc-d6955addde268d85b6aef4f295ab7e50080ba4e5.tar.gz
* integrate.c (copy_decl_for_inlining): Fix copying of copies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72646 138bc75d-0d04-0410-961f-82ee72b054a4
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 21a738ea237..ec1c7de0b1e 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))