This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: dwarf2 abort with block extern decl for inline function
- To: gcc-bugs at gcc dot gnu dot org
- Subject: Re: dwarf2 abort with block extern decl for inline function
- From: Jim Wilson <wilson at cygnus dot com>
- Date: Wed, 26 Jul 2000 21:24:11 -0700
- cc: jason at cygnus dot com, wilson at cygnus dot com
I spent some more time looking at this, and discovered that my initial
analysis was wrong. I got the right testcase, and the right patch, but
I was looking at the wrong part of the patch.
The real problem is the change in the argument to gen_abstract_function.
In the FUNCTION_DECL case in gen_decl_die, the original code calls
gen_abstract_function (decl_ultimate_origin (decl));
and then it calls gen_subprogram_die which does
add_abstract_origin_attribute (subr_die, decl_ultimate_origin (decl));
and add_abstract_origin_attribute does a lookup to get the die that was
created earlier.
The new code however just does
gen_abstract_function (decl);
and when we later do the lookup for the origin die, there is none, because
we never created one. The change in the gen_abstract_function call looks
wrong to me. However, I can't be sure about this because there isn't
much useful info (e.g. no testcase) in the message describing the patch.
http://gcc.gnu.org/ml/gcc-patches/2000-04/msg01014.html
Jim