blob: d99c73bf1bc129adc6998ef62cca5beed33fa7f3 [file] [log] [blame]
// PR debug/65678
// { dg-do compile }
long long v;
static int
bar (double x)
{
#if __SIZEOF_DOUBLE__ == __SIZEOF_LONG_LONG__
__builtin_memmove (&v, &x, sizeof v);
#else
(void) x;
v = 0;
#endif
return v;
}
struct A
{
A (double x) : a (bar (x)) {}
int m1 ();
int m2 () { int b = a; return b; }
int a;
};
void foo ();
void
baz (double x)
{
int c = A (x).m2 ();
int d = A (x).m1 ();
if (d)
foo ();
}