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