blob: 14297b68cf09902354a24c718dcc43cc8efe08bb [file] [log] [blame]
Rafael Espindolad0c89a42010-03-27 02:52:40 +00001// RUN: %clang_cc1 %s -I%S -triple=x86_64-apple-darwin10 -emit-llvm -o - | FileCheck %s
2
3#include <typeinfo>
4
5std::type_info foo() {
6 return typeid(void);
7}
8
9namespace __cxxabiv1 {
10 struct __fundamental_type_info {
Douglas Gregor1e201b42010-04-08 15:52:03 +000011 virtual ~__fundamental_type_info();
Rafael Espindolad0c89a42010-03-27 02:52:40 +000012 };
Douglas Gregor1e201b42010-04-08 15:52:03 +000013
14 __fundamental_type_info::~__fundamental_type_info() { }
Rafael Espindolad0c89a42010-03-27 02:52:40 +000015}
16
Anders Carlsson2bd62502010-11-04 05:28:09 +000017// void
John McCallcbfe5022010-08-04 08:34:44 +000018// CHECK: @_ZTIv = constant
19// CHECK: @_ZTIPv = constant
20// CHECK: @_ZTIPKv = constant
Anders Carlsson2bd62502010-11-04 05:28:09 +000021
22// std::nullptr_t
23// CHECK: @_ZTIDn = constant
24// CHECK: @_ZTIPDn = constant
25// CHECK: @_ZTIPKDn = constant
26
27// bool
John McCallcbfe5022010-08-04 08:34:44 +000028// CHECK: @_ZTIb = constant
29// CHECK: @_ZTIPb = constant
30// CHECK: @_ZTIPKb = constant
Anders Carlsson2bd62502010-11-04 05:28:09 +000031
32// wchar_t
33// CHECK: @_ZTIw = constant
34// CHECK: @_ZTIPw = constant
35// CHECK: @_ZTIPKw = constant
36
37// char
38// CHECK: @_ZTIc = constant
39// CHECK: @_ZTIPc = constant
40// CHECK: @_ZTIPKc = constant
41
42// unsigned char
43// CHECK: @_ZTIh = constant
44// CHECK: @_ZTIPh = constant
45// CHECK: @_ZTIPKh = constant
46
47// signed char
John McCallcbfe5022010-08-04 08:34:44 +000048// CHECK: @_ZTIa = constant
49// CHECK: @_ZTIPa = constant
50// CHECK: @_ZTIPKa = constant
Anders Carlsson2bd62502010-11-04 05:28:09 +000051
52// short
53// CHECK: @_ZTIs = constant
54// CHECK: @_ZTIPs = constant
55// CHECK: @_ZTIPKs = constant
56
57// unsigned short
58// CHECK: @_ZTIt = constant
59// CHECK: @_ZTIPt = constant
60// CHECK: @_ZTIPKt = constant
61
62// int
63// CHECK: @_ZTIi = constant
64// CHECK: @_ZTIPi = constant
65// CHECK: @_ZTIPKi = constant
66
67// unsigned int
68// CHECK: @_ZTIj = constant
69// CHECK: @_ZTIPj = constant
70// CHECK: @_ZTIPKj = constant
71
72// long
73// CHECK: @_ZTIl = constant
74// CHECK: @_ZTIPl = constant
75// CHECK: @_ZTIPKl = constant
76
77// unsigned long
78// CHECK: @_ZTIm = constant
79// CHECK: @_ZTIPm = constant
80// CHECK: @_ZTIPKm = constant
81
82// long long
83// CHECK: @_ZTIx = constant
84// CHECK: @_ZTIPx = constant
85// CHECK: @_ZTIPKx = constant
86
87// unsigned long long
88// CHECK: @_ZTIy = constant
89// CHECK: @_ZTIPy = constant
90// CHECK: @_ZTIPKy = constant
91
92// float
93// CHECK: @_ZTIf = constant
94// CHECK: @_ZTIPf = constant
95// CHECK: @_ZTIPKf = constant
96
97// double
98// CHECK: @_ZTId = constant
99// CHECK: @_ZTIPd = constant
100// CHECK: @_ZTIPKd = constant
101
102// long double
103// CHECK: @_ZTIe = constant
104// CHECK: @_ZTIPe = constant
105// CHECK: @_ZTIPKe = constant
106
107// char16_t
108// CHECK: @_ZTIDs = constant
109// CHECK: @_ZTIPDs = constant
110// CHECK: @_ZTIPKDs = constant
111
112// char32_t
113// CHECK: @_ZTIDi = constant
114// CHECK: @_ZTIPDi = constant
115// CHECK: @_ZTIPKDi = constant
116