diff options
author | Jakub Jelinek <jakub@redhat.com> | 2018-01-03 21:58:48 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2018-01-03 21:58:48 +0100 |
commit | e3a174d0d1eef07442fca5867cfcdd05f3b845f8 (patch) | |
tree | fcf5c9f1f35dfaaf30eb261142828e2c780f0293 /gcc/final.c | |
parent | a594cff3b56f22153e50759c9eb4e0dbe54f3388 (diff) | |
download | gcc-e3a174d0d1eef07442fca5867cfcdd05f3b845f8.tar.gz |
re PR debug/83645 (ICE: in get_insn_template, at final.c:2100 with -gstatement-frontiers)
PR debug/83645
* var-tracking.c (delete_vta_debug_insn): New inline function.
(delete_vta_debug_insns): Add USE_CFG argument, if true, walk just
insns from get_insns () to NULL instead of each bb separately.
Use delete_vta_debug_insn. No longer static.
(vt_debug_insns_local, variable_tracking_main_1): Adjust
delete_vta_debug_insns callers.
* rtl.h (delete_vta_debug_insns): Declare.
* final.c (rest_of_handle_final): Call delete_vta_debug_insns
instead of variable_tracking_main.
* gcc.dg/pr83645.c: New test.
From-SVN: r256189
Diffstat (limited to 'gcc/final.c')
-rw-r--r-- | gcc/final.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/final.c b/gcc/final.c index b80693cae93..db3095c5526 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -4544,7 +4544,7 @@ rest_of_handle_final (void) /* Turn debug markers into notes if the var-tracking pass has not been invoked. */ if (!flag_var_tracking && MAY_HAVE_DEBUG_MARKER_INSNS) - variable_tracking_main (); + delete_vta_debug_insns (false); assemble_start_function (current_function_decl, fnname); final_start_function (get_insns (), asm_out_file, optimize); |