PR debug/81307
commitd9791f9b151fe94e654d209f5ef34f14d05116bd
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 27 Nov 2017 08:48:56 +0000 (27 08:48 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 27 Nov 2017 08:48:56 +0000 (27 08:48 +0000)
treee81f0e0046a42d208b6c8cc59980e1aafa2275bb
parentdf8bf3f59afe2808e22d449a7b72d8ff35c4649f
PR debug/81307
* dbxout.c (lastlineno): New variable.
(dbx_debug_hooks): Use dbxout_switch_text_section as
switch_text_section debug hook.
(dbxout_function_end): Switch to current_function_section
rather than function_section.  If crtl->has_bb_partition,
output just one N_FUN, depending on in_cold_section_p.
(dbxout_source_line): Remember last lineno in lastlineno.
(dbxout_switch_text_section): New function.
(dbxout_function_decl): Adjust dbxout_block caller.
(dbx_block_with_cold_children): New function.
(dbxout_block): Return true if any LBRAC/RBRAC have been
emitted.  Use dbx_block_with_cold_children at depth == 0
in second partition.  Add PARENT_BLOCKNUM argument, pass
it optionally adjusted to children.  Output LBRAC/RBRAC
around recursive call only if the block is in the current
partition, if not and anything was output, emit empty
range LBRAC/RBRAC.
* final.c (final_scan_insn): Compute cold_function_name
before calling switch_text_section debug hook.  Call
that hook even if dwarf2out_do_frame if not emitting
dwarf debug info.

* g++.dg/debug/debug9.C: Remove -fno-reorder-blocks-and-partition
workaround.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@255161 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/dbxout.c
gcc/final.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/debug/debug9.C