/* 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; | |
} |