diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/20040311-1.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/20040311-1.c | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/20040311-1.c b/gcc/testsuite/gcc.c-torture/execute/20040311-1.c deleted file mode 100644 index 013d869abf4..00000000000 --- a/gcc/testsuite/gcc.c-torture/execute/20040311-1.c +++ /dev/null @@ -1,68 +0,0 @@ -/* Copyright (C) 2004 Free Software Foundation. - - Check that constant folding and RTL simplification of -(x >> y) doesn't - break anything and produces the expected results. - - Written by Roger Sayle, 11th March 2004. */ - -extern void abort (void); - -#define INT_BITS (sizeof(int)*8) - -int test1(int x) -{ - return -(x >> (INT_BITS-1)); -} - -int test2(unsigned int x) -{ - return -((int)(x >> (INT_BITS-1))); -} - -int test3(int x) -{ - int y; - y = INT_BITS-1; - return -(x >> y); -} - -int test4(unsigned int x) -{ - int y; - y = INT_BITS-1; - return -((int)(x >> y)); -} - -int main() -{ - if (test1(0) != 0) - abort (); - if (test1(1) != 0) - abort (); - if (test1(-1) != 1) - abort (); - - if (test2(0) != 0) - abort (); - if (test2(1) != 0) - abort (); - if (test2((unsigned int)-1) != -1) - abort (); - - if (test3(0) != 0) - abort (); - if (test3(1) != 0) - abort (); - if (test3(-1) != 1) - abort (); - - if (test4(0) != 0) - abort (); - if (test4(1) != 0) - abort (); - if (test4((unsigned int)-1) != -1) - abort (); - - return 0; -} - |