re PR rtl-optimization/36998 (Ada bootstrap broken on i586-*-*)
authorJakub Jelinek <jakub@redhat.com>
Mon, 11 Aug 2008 10:23:08 +0000 (12:23 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Mon, 11 Aug 2008 10:23:08 +0000 (12:23 +0200)
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

gcc/ChangeLog
gcc/dwarf2out.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr36998.c [new file with mode: 0644]

index bda376e0302d0cddf6c54936e5235e5951e44869..194937e88ead5d24a6881c0cfa9b548ad651e917 100644 (file)
@@ -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
index ced629dfda7c7b0a1c382377d2e1f77bba235f92..c13c523b88fa0e68af6a872f984da7041632a716 100644 (file)
@@ -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;
                    }
                }
index 8500be9cea1456c5abf6ddab99fff496ca73c291..942a81ae798a73c34a0334a5921648c734b9ba9c 100644 (file)
@@ -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 (file)
index 0000000..f0669b4
--- /dev/null
@@ -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);
+}