summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/torture/pr39241.c
blob: 860a04d738aa3b0add64f347f71841482bd54321 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/* { dg-do compile } */
/* { dg-options "-w" } */

static inline int
foo (float f)
{
  return *((int *) &f) - 1;
}

float
bar (float x, float y, float *z)
{
  float c = y < 0.002f ? 0.002f : y;
  float d = x < c ? c : x;
  return z[foo (c)] + z[foo (d * 255.0f)];
}