// PR c++/19317 | |
// { dg-options "-O2" } | |
// { dg-do run } | |
extern "C" void abort (void); | |
struct A { int c; int d; int e; int f; }; | |
A | |
foo (const A *x, const A *r) | |
{ | |
A t; | |
t.c = -1; | |
t.c += x->c < r->c ? x->c : r->c; | |
t.d = 0; | |
t.e = 0; | |
t.f = 0; | |
return t; | |
} | |
int | |
main () | |
{ | |
A a; | |
a.c = 10; | |
a.d = 0; | |
a.e = 0; | |
a.f = 0; | |
A b; | |
b.c = 100; | |
b.d = 0; | |
b.e = 0; | |
b.f = 0; | |
a = foo (&b, &a); | |
if (a.c != 9) | |
abort (); | |
} |