aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@casey.cygnus.com>1999-12-23 05:26:55 +0000
committerJason Merrill <jason@gcc.gnu.org>1999-12-23 00:26:55 -0500
commit44db1d9c577e1915554f68793728e13e392d6732 (patch)
tree41e644559849bd74b3c66982d2e749c15d29fe2a
parent6165fb6bf5f2534f07e072e72648aec0002e0773 (diff)
downloadgcc-44db1d9c577e1915554f68793728e13e392d6732.zip
gcc-44db1d9c577e1915554f68793728e13e392d6732.tar.gz
gcc-44db1d9c577e1915554f68793728e13e392d6732.tar.bz2
dwarf2out.c (add_abstract_origin_attribute): Call gen_abstract_function on our function context.
* dwarf2out.c (add_abstract_origin_attribute): Call gen_abstract_function on our function context. From-SVN: r31078
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/dwarf2out.c7
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e35be07..e39331d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+1999-12-22 Jason Merrill <jason@casey.cygnus.com>
+
+ * dwarf2out.c (add_abstract_origin_attribute): Call
+ gen_abstract_function on our function context.
+
Thu Dec 23 03:57:10 1999 Hans-Peter Nilsson <hp@bitrange.com>
* Makefile.in (INTEGRATE_H): Fix typo: INTEGRATE_H, not INTREGRATE_H.
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index ea74d0f..fc1b61d 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -7505,6 +7505,13 @@ add_abstract_origin_attribute (die, origin)
{
dw_die_ref origin_die = NULL;
+ /* We may have gotten separated from the block for the inlined
+ function, if we're in an exception handler or some such; make
+ sure that the abstract function has been written out. */
+ tree fn = decl_function_context (origin);
+ if (fn)
+ gen_abstract_function (fn);
+
if (TREE_CODE_CLASS (TREE_CODE (origin)) == 'd')
origin_die = lookup_decl_die (origin);
else if (TREE_CODE_CLASS (TREE_CODE (origin)) == 't')