| // { 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; | |
| } | |