aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <jason@casey.cygnus.com>1999-12-15 09:03:06 +0000
committerJason Merrill <jason@gcc.gnu.org>1999-12-15 04:03:06 -0500
commit8cb360d3a2b142a298f959b52af152e1d7963c06 (patch)
treef9c12583a702b82d259c2fb78f4ca5a4197a3048 /gcc
parent6ae63bcd1fe91173e99028dc318876a2e7331494 (diff)
downloadgcc-8cb360d3a2b142a298f959b52af152e1d7963c06.zip
gcc-8cb360d3a2b142a298f959b52af152e1d7963c06.tar.gz
gcc-8cb360d3a2b142a298f959b52af152e1d7963c06.tar.bz2
optimize.c (expand_call_inline): Set BLOCK_ABSTRACT_ORIGIN on the outermost block to point to the inlined...
* optimize.c (expand_call_inline): Set BLOCK_ABSTRACT_ORIGIN on the outermost block to point to the inlined function decl. From-SVN: r30945
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog3
-rw-r--r--gcc/cp/optimize.c5
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 0614ab0..35a5690 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,8 @@
1999-12-14 Jason Merrill <jason@casey.cygnus.com>
+ * optimize.c (expand_call_inline): Set BLOCK_ABSTRACT_ORIGIN on the
+ outermost block to point to the inlined function decl.
+
* error.c (dump_decl): operator==, not operator ==.
(op_to_string): Likewise.
diff --git a/gcc/cp/optimize.c b/gcc/cp/optimize.c
index 50ee83e..5dcecf1 100644
--- a/gcc/cp/optimize.c
+++ b/gcc/cp/optimize.c
@@ -614,6 +614,11 @@ expand_call_inline (tp, walk_subtrees, data)
STMT_EXPR_STMT (expr) = scope_stmt;
id->scope_stmt = scope_stmt;
+ /* Tell the debugging backends that this block represents the
+ outermost scope of the inlined function. */
+ if (SCOPE_STMT_BLOCK (scope_stmt))
+ BLOCK_ABSTRACT_ORIGIN (SCOPE_STMT_BLOCK (scope_stmt)) = DECL_ORIGIN (fn);
+
/* Declare the return variable for the function. */
STMT_EXPR_STMT (expr)
= chainon (STMT_EXPR_STMT (expr),