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)7template <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()13void 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