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