30 lines
377 B
C
30 lines
377 B
C
/* { dg-do run } */
|
|
|
|
struct Foo {
|
|
Foo() {};
|
|
int i;
|
|
short f;
|
|
};
|
|
struct Bar : public Foo {
|
|
Bar() {};
|
|
short b;
|
|
};
|
|
|
|
extern "C" void abort(void);
|
|
|
|
int main()
|
|
{
|
|
Bar b1, b2;
|
|
b2.i = 0;
|
|
b1.f = 0;
|
|
b1.b = 1;
|
|
b2.f = 1;
|
|
b2.b = 2;
|
|
static_cast<Foo&>(b1) = static_cast<Foo&>(b2);
|
|
if (b1.i != 0 || b1.b != 1)
|
|
abort ();
|
|
if (b1.f != 1)
|
|
abort ();
|
|
return 0;
|
|
}
|