diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.pt/expr3.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/expr3.C | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/expr3.C b/gcc/testsuite/g++.old-deja/g++.pt/expr3.C new file mode 100644 index 000000000..c7269f130 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.pt/expr3.C @@ -0,0 +1,20 @@ +// { dg-do assemble } + +template <int I> +struct S {}; + +template <int J> +void foo(S<J - 1>); + +template <class T> +void baz(S<sizeof(T)>); + +template <int J> +void fun(S<J>, S<J * 2>); + +void bar() +{ + foo<5>(S<4>()); // OK - 4 is 5 - 1. + baz<int>(S<sizeof(int)>()); // OK + fun(S<4>(), S<8>()); // OK - deduce J from first argument. +} |