1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
// RUN: clang-cc -emit-llvm-only -g template<typename T> struct Identity { typedef T Type; }; void f(Identity<int>::Type a) {} void f(Identity<int> a) {} void f(int& a) { } template<typename T> struct A { A<T> *next; }; void f(A<int>) { } struct B { }; void f() { int B::*a = 0; void (B::*b)() = 0; }