blob: e9acd55cc30e0e947ee51169b8a894f0b108c2f7 [file] [log] [blame]
/* { dg-do run } */
extern void abort(void);
typedef struct Foo { int a; int b; } Foo;
Foo foo(Foo first, Foo last, _Bool ret_first)
{
Foo t;
Foo *t1 = (ret_first ? &first : &last);
first.a = 2;
last.b = 3;
t.a = t1->a;
t.b = t1->b;
t.a += first.a;
t.b += last.b;
return t;
}
int main()
{
Foo first = (Foo){1, 2};
Foo last = (Foo){3, 4};
Foo ret = foo(first, last, 0);
if (ret.b != 6)
abort ();
return 0;
}