/* { dg-do run { target lp64 } } */ | |
/* { dg-options "-O3" } */ | |
int main() | |
{ | |
long double x; | |
unsigned long u[2] = {0xEEEEEEEEEEEEEEEEUL, 0xEEEEEEEEEEEEEEEEUL}; | |
__builtin_memcpy(&x, &u, sizeof x); | |
__builtin_memcpy(&u, &x, sizeof u); | |
++*(unsigned char *)&x; | |
(void)-x; | |
__builtin_memcpy(&u, &x, sizeof u); | |
if (u[1] != 0xEEEEEEEEEEEEEEEEUL | |
|| u[0] != 0xEEEEEEEEEEEEEEEFUL) | |
__builtin_abort (); | |
return 0; | |
} |