// { dg-do assemble } // GROUPS passed arg-matching typedef void* Ptr; void func(int, const Ptr& p); template void func(T, const Ptr& p); Ptr& return_ref(); int main() { char* x; func(x,return_ref()); // bug: // call of func(int, const Ptr&) // instead of func(char*,const Ptr&) }