diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.ns/template5.C')
-rwxr-xr-x | gcc/testsuite/g++.old-deja/g++.ns/template5.C | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/template5.C b/gcc/testsuite/g++.old-deja/g++.ns/template5.C new file mode 100755 index 0000000..9dc7a39 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.ns/template5.C @@ -0,0 +1,33 @@ +//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.template g<long>(); + + Y<int> z1; + if (z1.f(5) != 2) + return 1; + return 0; +} + |