1/* { dg-do run } */ 2 3struct Foo { 4 Foo() {}; 5 int i; 6 short f; 7}; 8struct Bar : public Foo { 9 Bar() {}; 10 short b; 11}; 12 13extern "C" void abort(void); 14 15int main() 16{ 17 Bar b1, b2; 18 b2.i = 0; 19 b1.f = 0; 20 b1.b = 1; 21 b2.f = 1; 22 b2.b = 2; 23 static_cast<Foo&>(b1) = static_cast<Foo&>(b2); 24 if (b1.i != 0 || b1.b != 1) 25 abort (); 26 if (b1.f != 1) 27 abort (); 28 return 0; 29} 30