PR rtl-optimization/36998
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 11 Aug 2008 10:23:08 +0000 (10:23 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 11 Aug 2008 10:23:08 +0000 (10:23 +0000)
* dwarf2out.c (compute_barrier_args_size_1,
compute_barrier_args_size): Temporarily remove assertions.

* gcc.dg/pr36998.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138951 138bc75d-0d04-0410-961f-82ee72b054a4

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

index bda376e..194937e 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 ced629d..c13c523 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 8500be9..942a81a 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);
+}