X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=gcc%2Ftestsuite%2Fgcc.c-torture%2Fexecute%2F20011126-2.c;fp=gcc%2Ftestsuite%2Fgcc.c-torture%2Fexecute%2F20011126-2.c;h=0000000000000000000000000000000000000000;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=f6625058afb3a8b8d405d16d7258dfc46ce5c55d;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/gcc/testsuite/gcc.c-torture/execute/20011126-2.c b/gcc/testsuite/gcc.c-torture/execute/20011126-2.c deleted file mode 100644 index f6625058..00000000 --- a/gcc/testsuite/gcc.c-torture/execute/20011126-2.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Problem originally visible on ia64. - - There is a partial redundancy of "in + 1" that makes GCSE want to - transform the final while loop to - - p = in + 1; - tmp = p; - ... - goto start; - top: - tmp = tmp + 1; - start: - in = tmp; - if (in < p) goto top; - - We miscalculate the number of loop iterations as (p - tmp) = 0 - instead of (p - in) = 1, which results in overflow in the doloop - optimization. */ - -static const char * -test (const char *in, char *out) -{ - while (1) - { - if (*in == 'a') - { - const char *p = in + 1; - while (*p == 'x') - ++p; - if (*p == 'b') - return p; - while (in < p) - *out++ = *in++; - } - } -} - -int main () -{ - char out[4]; - test ("aab", out); - return 0; -}