// { dg-do run } //Check whether namespace-scoped template instantiations //are mangled differently. namespace X{ template struct Y{ int f(T){ return 1; } templatevoid g(){} }; } template struct Y{ int f(T){ return 2; } }; int main() { X::Y z; if (z.f(4) != 1) return 1; z.g(); Y z1; if (z1.f(5) != 2) return 1; return 0; }