diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/20031020-1.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/20031020-1.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/20031020-1.c b/gcc/testsuite/gcc.c-torture/execute/20031020-1.c new file mode 100644 index 000000000..526ca0402 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20031020-1.c @@ -0,0 +1,23 @@ +/* PR target/12654 + The Alpha backend tried to do a >= 1024 as (a - 1024) >= 0, which fails + for very large negative values. */ +/* Origin: tg@swox.com */ + +#include <limits.h> + +extern void abort (void); + +void __attribute__((noinline)) +foo (long x) +{ + if (x >= 1024) + abort (); +} + +int +main () +{ + foo (LONG_MIN); + foo (LONG_MIN + 10000); + return 0; +} |