1 // { dg-do link } 2 // { dg-options "-std=c++11" } 3 4 extern "C" int printf(const char*, ...); 5 struct A { AA6 A(int, char *p2) { printf(p2); } 7 }; 8 template <int, typename> struct B { static A static_var; }; 9 template <int LINE, typename GETTER> 10 A B<LINE, GETTER>::static_var{0, GETTER::get()}; 11 struct C { unusedC12 void unused() { 13 static char function_static; 14 struct D { 15 static char *get() { return &function_static; } 16 }; 17 auto addr = B<0, D>::static_var; 18 } 19 }; main()20int main() {} 21