blob: cb6e830a49e0e10e3195d12eb594403ec5307bcf [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 -emit-llvm-only -g
Anders Carlssonba397fe2009-11-06 18:45:16 +00002template<typename T> struct Identity {
3 typedef T Type;
4};
5
6void f(Identity<int>::Type a) {}
Anders Carlssona031b352009-11-06 19:19:55 +00007void f(Identity<int> a) {}
8void f(int& a) { }
Anders Carlsson5b6117a2009-11-14 21:08:12 +00009
10template<typename T> struct A {
11 A<T> *next;
12};
13void f(A<int>) { }
Anders Carlsson20f12a22009-12-06 18:00:51 +000014
15struct B { };
16
17void f() {
18 int B::*a = 0;
19 void (B::*b)() = 0;
20}
Eli Friedman3364e622010-01-16 00:43:13 +000021
22namespace EmptyNameCrash {
23 struct A { A(); };
24 typedef struct { A x; } B;
25 B x;
26}