diff options
Diffstat (limited to 'gcc-4.8.1/gcc/testsuite/gcc.dg/20050922-1.c')
-rw-r--r-- | gcc-4.8.1/gcc/testsuite/gcc.dg/20050922-1.c | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/gcc-4.8.1/gcc/testsuite/gcc.dg/20050922-1.c b/gcc-4.8.1/gcc/testsuite/gcc.dg/20050922-1.c deleted file mode 100644 index ed5a3c63e..000000000 --- a/gcc-4.8.1/gcc/testsuite/gcc.dg/20050922-1.c +++ /dev/null @@ -1,47 +0,0 @@ -/* This revealed a bug when rotates are expanded into - two shifts. */ - -/* { dg-do run } */ -/* { dg-options "-O1 -std=c99" } */ - -#include <stdlib.h> - -#if __INT_MAX__ == 2147483647 -typedef unsigned int uint32_t; -#elif __LONG_MAX__ == 2147483647 -typedef unsigned long uint32_t; -#else -#error unable to find 32-bit integer type -#endif - -uint32_t -f (uint32_t *S, int j) -{ - uint32_t A, B, k, L[2] = {1234, 5678}; - int i, m; - - A = B = 0; - for (i = 0; i < j; i++) - { - k = (S[i] + A + B) & 0xffffffffL; - A = S[i] = - ((k << (3 & 0x1f)) | ((k & 0xffffffff) >> (32 - (3 & 0x1f)))); - - m = (int) (A + B); - k = (L[i] + A + B) & 0xffffffffL; - B = L[i] = - ((k << (m & 0x1f)) | ((k & 0xffffffff) >> (32 - (m & 0x1f)))); - } - return L[0] + L[1]; -} - -int -main () -{ - uint32_t S[2] = {0xffff, 0xffffff}; - - if (f (S,2)!= 1392607300) - abort(); - - return 0; -} |