diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/pr56890-2.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/pr56890-2.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/pr56890-2.c b/gcc/testsuite/gcc.dg/pr56890-2.c new file mode 100644 index 00000000000..474327e9d03 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr56890-2.c @@ -0,0 +1,19 @@ +/* PR target/56890 */ +/* Reported by Rainer Jung <rainer.jung@kippdata.de> */ + +/* { dg-do assemble } */ +/* { dg-options "-O" } */ + +unsigned int buggy(unsigned int min, unsigned int max) +{ + unsigned int number; + if (max < 16384) { + unsigned short num16; + num16 = min + (long) ((double) (max - min + 1.0) * (num16 / (65535 + 1.0))); + return num16; + } + else { + (number) = min + (long) ((double) (max - min + 1.0) * (number / (4294967295U + 1.0))); + } + return number; +} |