From 6f21ff3ed8e443469a52c3e97865c3548253764d Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Mon, 11 Aug 2008 12:23:08 +0200 Subject: [PATCH] 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 --- gcc/ChangeLog | 6 ++++++ gcc/dwarf2out.c | 5 ----- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.dg/pr36998.c | 23 +++++++++++++++++++++++ 4 files changed, 34 insertions(+), 5 deletions(-) create mode 100644 gcc/testsuite/gcc.dg/pr36998.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bda376e0302..194937e88ea 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2008-08-11 Jakub Jelinek + + PR rtl-optimization/36998 + * dwarf2out.c (compute_barrier_args_size_1, + compute_barrier_args_size): Temporarily remove assertions. + 2008-08-10 Manuel Lopez-Ibanez PR middle-end/20644 diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index ced629dfda7..c13c523b88f 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 8500be9cea1..942a81ae798 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2008-08-11 Jakub Jelinek + + PR rtl-optimization/36998 + * gcc.dg/pr36998.c: New test. + 2008-08-11 Andreas Krebbel * 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 00000000000..f0669b4fd50 --- /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); +} -- 2.30.2