diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2012-02-11 09:00:42 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2012-02-11 09:00:42 +0000 |
commit | 4cb0fdbca0dbe3841b2e82a712895324c058554c (patch) | |
tree | c14fb082dc2ec8626408c0b4f1957808cdcc043f /gcc/testsuite/gcc.c-torture | |
parent | 4e92c31f3a3d1e85c3269348f1953658f11e694f (diff) | |
download | gcc-4cb0fdbca0dbe3841b2e82a712895324c058554c.zip gcc-4cb0fdbca0dbe3841b2e82a712895324c058554c.tar.gz gcc-4cb0fdbca0dbe3841b2e82a712895324c058554c.tar.bz2 |
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
Diffstat (limited to 'gcc/testsuite/gcc.c-torture')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/pr52175.c | 25 |
1 files changed, 25 insertions, 0 deletions
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; +} |