// { dg-do compile { target c++11 } } template X f(Y,Z); // { dg-message "note" } template void f2(); void g() { f("aa",3.0); f("aa",3.0); // Z is deduced to be double f("aa",3.0); // Y is deduced to be char*, and // Z is deduced to be double f("aa",3.0); // { dg-error "no matching" } // { dg-message "(candidate|deduce template parameter)" "candidate note" { target *-*-* } 10 } f2(); // okay }