1 // { dg-do assemble  }
2 // { dg-options "-funroll-loops -O2 -g" }
3 
f()4 inline void f()
5 {
6   typedef int T;
7 }
8 
g()9 inline void g()
10 {
11   typedef double U;
12 }
13 
14 int n;
15 
16 struct B
17 {
~BB18   ~B() {
19     for (int i = 0; i < n; ++i)
20       g();
21   }
22 };
23 
24 struct D : public B {
~DD25   ~D() {
26     for (int j = 0; j < n; ++j)
27       f();
28   }
29 };
30 
31 D d;
32