35 lines
421 B
C
35 lines
421 B
C
// { 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;
|
|
}
|
|
|