/* PR target/7559
This testcase was miscompiled on x86-64 due to wrong access to the struct
members. */
extern void abort();
struct A {
long x;
};
struct R {
struct A a, b;
};
struct R R = {
{100}, {200}
};
void f(struct R r) {
if (r.a.x != R.a.x || r.b.x != R.b.x)
abort();
}
int main() {
f(R);
return 0;
}