dwarf2 abort with block extern decl for inline function
Jim Wilson
wilson@cygnus.com
Wed Jul 26 21:23:00 GMT 2000
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
More information about the Gcc-bugs
mailing list