summaryrefslogtreecommitdiff
path: root/gcc/final.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2018-01-03 21:58:48 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2018-01-03 21:58:48 +0100
commite3a174d0d1eef07442fca5867cfcdd05f3b845f8 (patch)
treefcf5c9f1f35dfaaf30eb261142828e2c780f0293 /gcc/final.c
parenta594cff3b56f22153e50759c9eb4e0dbe54f3388 (diff)
downloadgcc-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.c2
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);