Commit b82c4660 by Carlo Wood Committed by Carlo Wood

re PR debug/12319 (Wrong DW_AT_low_pc and DW_AT_high_pc for DW_TAG_inlined_subroutine)

PR debug/12319
* cfglayout.c (insn_scope):  Use prologue_locator and
epilogue_locator; return the outer function scope for
pro- and epilogue insns.

From-SVN: r71926
parent 6fe2eacc
2003-09-30 Carlo Wood <carlo@alinoe.com>
PR debug/12319
* cfglayout.c (insn_scope): Use prologue_locator and
epilogue_locator; return the outer function scope for
pro- and epilogue insns.
2003-09-29 Zack Weinberg <zack@codesourcery.com>
* objc/objc-act.c (encode_type): Encode INTEGER_TYPEs and
......
......@@ -415,6 +415,18 @@ insn_scope (rtx insn)
int min = 0;
int loc = INSN_LOCATOR (insn);
/* When block_locators_locs was initialized, the pro- and epilogue
insns didn't exist yet and can therefore not be found this way.
But we know that they belong to the outer most block of the
current function.
Without this test, the prologue would be put inside the block of
the first valid instruction in the function and when that first
insn is part of an inlined function then the low_pc of that
inlined function is messed up. Likewise for the epilogue and
the last valid instruction. */
if (loc == prologue_locator || loc == epilogue_locator)
return DECL_INITIAL (cfun->decl);
if (!max || !loc)
return NULL;
while (1)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment