aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/g++.old-deja/g++.pt/deduct3.C
blob: b54c5a15332e0a9382e13fc22e19fd50e0450fe7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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);
}