1 // Copyright (C) 2004 Free Software Foundation, Inc.
2 // Contributed by Nathan Sidwell 1 Apr 2004 <nathan@codesourcery.com>
3 
4 void Baz ();
5 
6 template <typename T> void Foo1 (T *); // #1
Foo1(T const * a)7 template <typename T> void Foo1 (T const *a) {a (1);} // #2
8 
9 template <typename T> T const *Foo2 (T *);
10 
11 template <typename T> void Foo3 (T *, T const * = 0); // { dg-message "note" }
12 
Bar()13 void Bar ()
14 {
15   Foo1 (&Baz); // #1
16 
17   Foo2 (&Baz);
18 
19   Foo3 (&Baz);
20 
21   Foo3 (&Baz, &Baz); // { dg-error "no matching function" }
22   // { dg-message "(candidate|incompatible cv-qualifiers)" "candidate note" { target *-*-* } .-1 }
23 }
24