aboutsummaryrefslogtreecommitdiff
path: root/gcc/dwarf2out.c
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 /gcc/dwarf2out.c
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
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r--gcc/dwarf2out.c7
1 files changed, 7 insertions, 0 deletions
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')