aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.dg/pr56890-2.c
blob: 474327e9d032584aaddbf20373a08d988a11068f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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;
}