diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.pt/deduct3.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/deduct3.C | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/deduct3.C b/gcc/testsuite/g++.old-deja/g++.pt/deduct3.C new file mode 100644 index 000000000..b54c5a153 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.pt/deduct3.C @@ -0,0 +1,22 @@ +// { dg-do assemble } + +// Copyright (C) 2000 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 18 Jan 2001 <nathan@codesourcery.com> + +// Bug 1694. We complained during deduction, rather than reject the deduction. + +template <class T, T d> class X {}; + +template <class T> X<T,0> Foo (T *); +template <class T> int Foo (T const *); + +void Baz (int *p1, int const *p2) +{ + int i = Foo (p1); // { dg-error "" } cannot convert + int j = Foo (p2); +} +void Baz (float *p1, float const *p2) +{ + int i = Foo (p1); // ok, deduction fails on X<T,0> Foo (T *) + int j = Foo (p2); +} |