1 // { dg-do run  }
2 // Origin: Wolfgang Bangerth <wolf@gaia.iwr.uni-heidelberg.de>
3 
4 int i = 1;
5 
6 struct Base1 {  int local1;  };
7 struct Base2 {  int local2;  };
8 
9 template <int dim> class Derived;
10 
11 template <>
12 class Derived<1> : public Base1, public Base2 {};
13 
14 template <int dim>
15 class FinalClass :  public Derived<dim> {
16 public:
FinalClass()17   FinalClass () {
18     if (&this->local1 != &this->local2)
19       i = 0;
20   }
21 };
22 
main()23 int main () {
24   FinalClass<1> a1;
25   return i;
26 }
27