diff options
author | Jakub Jelinek <jakub@redhat.com> | 2008-08-11 12:23:08 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2008-08-11 12:23:08 +0200 |
commit | 6f21ff3ed8e443469a52c3e97865c3548253764d (patch) | |
tree | c37d761eabe053eb2b2b0c05c01f513d304ffbf2 | |
parent | b193cb6b8d3c6c62fee26531dfecc1745ed9d9e9 (diff) | |
download | gcc-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
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pr36998.c | 23 |
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); +} |