aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/execute/20040311-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/20040311-1.c')
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20040311-1.c68
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;
-}
-