diff options
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/integrate.c | 5 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5f20a90..0b17a58 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2003-10-18 Jan Hubicka <jh@suse.cz> + + * integrate.c (copy_decl_for_inlining): Fix copying of copies. + 2003-10-18 Roger Sayle <roger@eyesopen.com> * libgcc.texi: Group multi-word types, such as "long double" and 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)) |