This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug debug/51902] lexical_blocks inside inlined_subroutines generate duplicate debug_ranges
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 05 Mar 2012 20:17:54 +0000
- Subject: [Bug debug/51902] lexical_blocks inside inlined_subroutines generate duplicate debug_ranges
- Auto-submitted: auto-generated
- References: <bug-51902-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51902
--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-03-05 20:17:54 UTC ---
Author: jakub
Date: Mon Mar 5 20:17:44 2012
New Revision: 184958
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=184958
Log:
PR debug/51902
* tree.h (BLOCK_SAME_RANGE): Define.
* function.c (block_fragments_nreverse): Clear BLOCK_SAME_RANGE
if BLOCK_FRAGMENT_CHAIN is non-NULL, but has it cleared.
Also clear BLOCK_SAME_RANGE if fragment chain's supercontext fragment
isn't equal to supercontext fragment's fragment chain.
Adjust BLOCK_SUPERCONTEXT to point to supercontext fragment's
fragment origin.
(blocks_nreverse_all): Likewise.
(reorder_blocks_1): Compute BLOCK_SAME_RANGE bits. Set
BLOCK_SUPERCONTEXT to supercontext fragment instead of
supercontext fragment's fragment origin.
* dwarf2out.c (add_high_low_attributes): If stmt has the same
range as its parent (or parents thereof etc.), use the parent's
DW_AT_ranges value instead of creating a new .debug_ranges range.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/dwarf2out.c
trunk/gcc/function.c
trunk/gcc/tree.h