diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/920501-6.c')
-rwxr-xr-x | gcc/testsuite/gcc.c-torture/execute/920501-6.c | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/920501-6.c b/gcc/testsuite/gcc.c-torture/execute/920501-6.c deleted file mode 100755 index 833624f..0000000 --- a/gcc/testsuite/gcc.c-torture/execute/920501-6.c +++ /dev/null @@ -1,91 +0,0 @@ -#include <stdio.h> - -/* Convert a decimal string to a long long unsigned. No error check is - performed. */ - -long long unsigned -str2llu (str) - char *str; -{ - long long unsigned acc; - int d; - acc = *str++ - '0'; - for (;;) - { - d = *str++; - if (d == '\0') - break; - d -= '0'; - acc = acc * 10 + d; - } - - return acc; -} - -/* isqrt(t) - computes the square root of t. (tege 86-10-27) */ - -long unsigned -sqrtllu (long long unsigned t) -{ - long long unsigned s; - long long unsigned b; - - for (b = 0, s = t; b++, (s >>= 1) != 0; ) - ; - - s = 1LL << (b >> 1); - - if (b & 1) - s += s >> 1; - - do - { - b = t / s; - s = (s + b) >> 1; - } - while (b < s); - - return s; -} - - -int plist (p0, p1, tab) - long long unsigned p0, p1; - long long unsigned *tab; -{ - long long unsigned p; - long unsigned d; - long unsigned s; - long long unsigned *xp = tab; - - for (p = p0; p <= p1; p += 2) - { - s = sqrtllu (p); - - for (d = 3; d <= s; d += 2) - { - long long unsigned q = p % d; - if (q == 0) - goto not_prime; - } - - *xp++ = p; - not_prime:; - } - *xp = 0; - return xp - tab; -} - -main (argc, argv) - int argc; - char *argv[]; -{ - long long tab[10]; - int nprimes; - nprimes = plist (str2llu ("1234111111"), str2llu ("1234111127"), tab); - - if(tab[0]!=1234111117LL||tab[1]!=1234111121LL||tab[2]!=1234111127LL||tab[3]!=0) - abort(); - - exit(0); -} |