diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/20031003-1.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/20031003-1.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/20031003-1.c b/gcc/testsuite/gcc.c-torture/execute/20031003-1.c new file mode 100644 index 000000000..5d172e7e6 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20031003-1.c @@ -0,0 +1,33 @@ +/* PR optimization/9325 */ + +#include <limits.h> + +extern void abort (void); + +int f1() +{ + return (int)2147483648.0f; +} + +int f2() +{ + return (int)(float)(2147483647); +} + +int main() +{ +#if INT_MAX == 2147483647 + if (f1() != 2147483647) + abort (); +#ifdef __SPU__ + /* SPU float rounds towards zero. */ + if (f2() != 0x7fffff80) + abort (); +#else + if (f2() != 2147483647) + abort (); +#endif +#endif + return 0; +} + |