1// PR c++/12316 2// Origin: Volker Reichelt <reichelt@igpm.rwth-aachen.de> 3 4// { dg-do compile } 5// { dg-options "--param ggc-min-expand=0 --param ggc-min-heapsize=0" } 6 7inline void FOO() {} 8 9template<typename> struct A 10{ 11 A() {} 12 ~A() throw() {} 13}; 14 15template<typename> struct B 16{ 17 static void foo(); 18 static void bar() { foo(); } 19}; 20 21struct C {}; 22 23template<typename> struct D : C 24{ 25 D() {} 26 ~D() { B<void>::bar(); } 27}; 28 29template<typename> struct E : D<void> 30{ 31 static void baz() {} 32 E(A<void>) { baz(); } 33}; 34 35void BAR() 36{ 37 new E<void>(A<void>()); 38} 39