1// { dg-do assemble  }
2
3template <class T>
4void f(T t1, T t2);		// { dg-message "note" }
5
6template <>
7void f(int i, int j);
8
9template <class T>
10void g(T t1, T t2) {}		// { dg-message "note" }
11
12template void g(int i, int j);
13
14void h()
15{
16  f(3, 'c'); // { dg-error "" } no matching function
17  // { dg-message "(candidate|deduced conflicting types)" "candidate note" { target *-*-* } 16 }
18  g(3, 'c'); // { dg-error "" } no matching function
19  // { dg-message "(candidate|deduced conflicting types)" "candidate note" { target *-*-* } 18 }
20}
21
22
23