// { dg-do assemble } template void f(T) {} // { dg-message "previously" } template struct S { template friend void f(T) {} // { dg-error "redefinition" } }; S si;