summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/debug/pr55730.c
blob: 073d83d759a108d71e300c861dd897a1d0494998 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/* PR debug/55730 */
/* { dg-do compile } */
/* { dg-options "-w" } */

union U
{
  float f;
  int i;
};

void
foo (unsigned short *x, unsigned char y)
{
  unsigned char g;
  union U u;
  if (u.i < 0)
    g = 0;
  else
    {
      u.f = u.f * (255.0F / 256.0F) + 32768.0F;
      g = (unsigned char) u.i;
    }
  *x = (g << 8) | y;
}