1 // { dg-do run } 2 struct B 3 { fB4 virtual int f() volatile 5 { return 1; } 6 }; 7 8 struct D : public B 9 { fD10 int f() 11 { return 0; } 12 }; 13 14 struct D2 : public D 15 { fD216 int f() 17 { return 2; } 18 }; 19 main()20 int main() 21 { 22 D2 d2; 23 D& d = d2; 24 return d.f(); 25 } 26