24 lines
336 B
C
24 lines
336 B
C
|
|
/* { dg-do compile } */
|
|
/* { dg-options "-O2 -fno-strict-aliasing" } */
|
|
|
|
|
|
unsigned int *foo (void);
|
|
|
|
char *
|
|
bar (double *d)
|
|
{
|
|
return (char *) (d + 1) - sizeof (unsigned int);
|
|
}
|
|
|
|
char
|
|
baz (double x)
|
|
{
|
|
unsigned int h = *foo ();
|
|
unsigned int l = *(unsigned int *) bar (&x);
|
|
|
|
return (h & ~0x80000000L) == 0x7FF00000 && l == 0;
|
|
}
|
|
|
|
|