diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/unsorted/conv.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/unsorted/conv.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/conv.c b/gcc/testsuite/gcc.c-torture/unsorted/conv.c new file mode 100644 index 000000000..70fc02412 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/unsorted/conv.c @@ -0,0 +1,32 @@ +double +u2d (unsigned int u) +{ + return u; +} + +double +i2d (signed int i) +{ + return i; +} + +unsigned int +d2u (double d) +{ + return d; +} + +signed int +d2i (double d) +{ + return d; +} + +main () +{ + printf ("%lf, %lf, %lf\n", u2d (~0), u2d (1 << 31), u2d (1)); + printf ("%lf, %lf, %lf\n", i2d (~0), i2d (1 << 31), i2d (1)); + + printf ("%u, %u, %u\n", d2u (u2d (~0)), d2u (u2d (1 << 31)), d2u (u2d (1))); + printf ("%d, %d, %d\n", d2i (i2d (~0)), d2i (i2d (1 << 31)), d2i (i2d (1))); +} |