From 4cb0fdbca0dbe3841b2e82a712895324c058554c Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Sat, 11 Feb 2012 09:00:42 +0000 Subject: re PR rtl-optimization/52175 (ICE in maybe_record_trace_start after invalid dbr_schedule transformation) gcc/ PR rtl-optimization/52175 * reorg.c (fill_slots_from_thread): Don't apply add/sub optimization to frame-related instructions. gcc/testsuite/ PR rtl-optimization/52175 * gcc.c-torture/compile/pr52175.c: New test. From-SVN: r184128 --- gcc/testsuite/gcc.c-torture/compile/pr52175.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 gcc/testsuite/gcc.c-torture/compile/pr52175.c (limited to 'gcc/testsuite/gcc.c-torture') diff --git a/gcc/testsuite/gcc.c-torture/compile/pr52175.c b/gcc/testsuite/gcc.c-torture/compile/pr52175.c new file mode 100644 index 0000000..e0aed77 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr52175.c @@ -0,0 +1,25 @@ +void bad (void); +char *foo (char *src, char **last) +{ + char *dst; + int ch; + dst = src = (src ? src : *last); + + if (*src == 0) + return 0; + + while (src[0]) + { + if (!src[1]) + { + bad (); + break; + } + *dst = *src; + dst += 1; + src += 2; + } + *last = src; + *dst = 0; + return *last; +} -- cgit v1.1