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