diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.ns/template5.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.ns/template5.C | 34 |
1 files changed, 34 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 100644 index 000000000..8338fef10 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.ns/template5.C @@ -0,0 +1,34 @@ +// { 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; +} + |