aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
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/testsuite
parenta594cff3b56f22153e50759c9eb4e0dbe54f3388 (diff)
downloadgcc-e3a174d0d1eef07442fca5867cfcdd05f3b845f8.zip
gcc-e3a174d0d1eef07442fca5867cfcdd05f3b845f8.tar.gz
gcc-e3a174d0d1eef07442fca5867cfcdd05f3b845f8.tar.bz2
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/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/pr83645.c14
2 files changed, 19 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 23c5d1c..e4d16a5 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2018-01-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/83645
+ * gcc.dg/pr83645.c: New test.
+
2018-01-03 Martin Sebor <msebor@redhat.com>
PR c/83559
diff --git a/gcc/testsuite/gcc.dg/pr83645.c b/gcc/testsuite/gcc.dg/pr83645.c
new file mode 100644
index 0000000..4ac2be2
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr83645.c
@@ -0,0 +1,14 @@
+/* PR debug/83645 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -g -fno-var-tracking" } */
+
+int a, b, c[1];
+
+void
+foo (void)
+{
+ int i = 0;
+ b = a;
+ for (;;)
+ c[i++] = 7;
+}