p11.cpp revision 5c7bf42ef16dc767615bed10f3b7b3c1265314e1
1// RUN: %clang_cc1 -fsyntax-only -verify %s 2 3template <class T> T* f(int); // #1 4template <class T, class U> T& f(U); // #2 5 6void g() { 7 int *ip = f<int>(1); // calls #1 8} 9 10template<typename T> 11struct identity { 12 typedef T type; 13}; 14 15template <class T> 16 T* f2(int, typename identity<T>::type = 0); 17template <class T, class U> 18 T& f2(U, typename identity<T>::type = 0); 19 20void g2() { 21 int* ip = f2<int>(1); 22} 23