diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/pr28726.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/pr28726.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/pr28726.c b/gcc/testsuite/gcc.dg/pr28726.c new file mode 100644 index 000000000..11232ac86 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr28726.c @@ -0,0 +1,29 @@ +/* PR rtl-optimization/28726 */ +/* Origin: Sigurd Schneider <sg313d@gmail.com> */ + +/* { dg-do run } */ +/* { dg-options "-O2 -fsched2-use-superblocks" } */ + +extern void abort (void); + +static double my_loop(void) __attribute__((noinline)); + +static double my_loop(void) +{ + double retval = 0.0; + const unsigned char *start = "\005\b\000"; + const unsigned char *const end = start + 2; + + while (start < end) + retval += *start++; + + return retval; +} + +int main(void) +{ + if (my_loop() != 13.0) + abort (); + + return 0; +} |