blob: f18e9b08a0226f0ccfba9d33cfcb892636410d2b [file] [log] [blame]
// RUN: %clang_cc1 -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;
}
namespace EmptyNameCrash {
struct A { A(); };
typedef struct { A x; } B;
B x;
}
// PR4890
namespace PR4890 {
struct X {
~X();
};
X::~X() { }
}
namespace VirtualDtor {
struct Y {
virtual ~Y();
};
Y::~Y() { }
}