// { dg-options "-std=gnu++0x" } template X f(Y,Z); 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" } f2(); // okay }