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