aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2008-08-11 12:23:08 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2008-08-11 12:23:08 +0200
commit6f21ff3ed8e443469a52c3e97865c3548253764d (patch)
treec37d761eabe053eb2b2b0c05c01f513d304ffbf2 /gcc
parentb193cb6b8d3c6c62fee26531dfecc1745ed9d9e9 (diff)
downloadgcc-6f21ff3ed8e443469a52c3e97865c3548253764d.zip
gcc-6f21ff3ed8e443469a52c3e97865c3548253764d.tar.gz
gcc-6f21ff3ed8e443469a52c3e97865c3548253764d.tar.bz2
re PR rtl-optimization/36998 (Ada bootstrap broken on i586-*-*)
PR rtl-optimization/36998 * dwarf2out.c (compute_barrier_args_size_1, compute_barrier_args_size): Temporarily remove assertions. * gcc.dg/pr36998.c: New test. From-SVN: r138951
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/dwarf2out.c5
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/pr36998.c23
4 files changed, 34 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bda376e..194937e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2008-08-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/36998
+ * dwarf2out.c (compute_barrier_args_size_1,
+ compute_barrier_args_size): Temporarily remove assertions.
+
2008-08-10 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR middle-end/20644
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index ced629d..c13c523 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -1281,9 +1281,6 @@ compute_barrier_args_size_1 (rtx insn, HOST_WIDE_INT cur_args_size,
barrier_args_size [INSN_UID (dest)] = cur_args_size;
VEC_safe_push (rtx, heap, *next, dest);
}
- else
- gcc_assert (barrier_args_size[INSN_UID (dest)]
- == cur_args_size);
}
}
@@ -1341,8 +1338,6 @@ compute_barrier_args_size (void)
{
/* The insns starting with this label have been
already scanned or are in the worklist. */
- gcc_assert (barrier_args_size[INSN_UID (insn)]
- == cur_args_size);
break;
}
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 8500be9..942a81a 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2008-08-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/36998
+ * gcc.dg/pr36998.c: New test.
+
2008-08-11 Andreas Krebbel <krebbel1@de.ibm.com>
* gcc.target/s390/20080806-1.c: Move testcase ...
diff --git a/gcc/testsuite/gcc.dg/pr36998.c b/gcc/testsuite/gcc.dg/pr36998.c
new file mode 100644
index 0000000..f0669b4
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr36998.c
@@ -0,0 +1,23 @@
+/* PR rtl-optimization/36998 */
+/* { dg-do compile } */
+/* { dg-options "-Os -fasynchronous-unwind-tables" } */
+/* { dg-options "-Os -mpreferred-stack-boundary=2 -fasynchronous-unwind-tables" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
+
+void foo (const char *, ...) __attribute__ ((noreturn));
+int bar (const char *, ...);
+extern __SIZE_TYPE__ strlen (const char *);
+int baz (char *, char *, int, void *);
+
+void
+test (char *w, int x, char *y, char *z)
+{
+ char *p, b[32];
+ for (p = y; *p; p += strlen (p) + 1)
+ {
+ baz (w, p, x, z);
+ foo ("msg1 %s", b);
+ }
+ for (p = y; *p; p += strlen (p) + 1)
+ bar (" %s", p);
+ foo ("msg2 %s", b);
+}