// { dg-do assemble } template struct S1 { void foo(T = t()); static T t(); }; template struct S2 { void bar(); }; template void S2::bar () { S1 st; st.foo(); } int main() { S2 s2i; s2i.bar(); }