diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.pt/spec10.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/spec10.C | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec10.C b/gcc/testsuite/g++.old-deja/g++.pt/spec10.C new file mode 100644 index 000000000..e9d36ec31 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.pt/spec10.C @@ -0,0 +1,28 @@ +// { dg-do run } +extern "C" void abort(); + +template <class T> +struct S +{ + template <int i> + int f(int j) { abort(); return 0; } +}; + +template <> +template <> +int S<double>::f<7>(int j) { return j + 7; } + +template <> +template <> +int S<double>::f<8>(int j) { return j + 8; } + +int main() +{ + S<double> s; + + if (s.f<7>(3) != 10) + abort(); + + if (s.f<8>(3) != 11) + abort(); +} |