// { dg-do assemble } struct S { void f(int); void f(double); }; void g(int); void g(double); template void foo(); // { dg-message "note" } template void foo(); // { dg-message "note" } void bar() { foo(); // { dg-error "" } no matching function // { dg-message "candidate" "candidate note" { target *-*-* } 18 } foo(); // { dg-error "" } no matching function // { dg-message "candidate" "candidate note" { target *-*-* } 20 } }