blob: 6826321cd5ebde3ded12b4125974e1007b278024 [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
17// CHECK: @_ZTIv = weak_odr constant
18// CHECK: @_ZTIPv = weak_odr constant
19// CHECK: @_ZTIPKv = weak_odr constant
20// CHECK: @_ZTIDi = weak_odr constant
21// CHECK: @_ZTIPDi = weak_odr constant
22// CHECK: @_ZTIPKDi = weak_odr constant
23// CHECK: @_ZTIDs = weak_odr constant
24// CHECK: @_ZTIPDs = weak_odr constant
25// CHECK: @_ZTIPKDs = weak_odr constant
26// CHECK: @_ZTIy = weak_odr constant
27// CHECK: @_ZTIPy = weak_odr constant
28// CHECK: @_ZTIPKy = weak_odr constant
29// CHECK: @_ZTIx = weak_odr constant
30// CHECK: @_ZTIPx = weak_odr constant
31// CHECK: @_ZTIPKx = weak_odr constant
32// CHECK: @_ZTIw = weak_odr constant
33// CHECK: @_ZTIPw = weak_odr constant
34// CHECK: @_ZTIPKw = weak_odr constant
35// CHECK: @_ZTIt = weak_odr constant
36// CHECK: @_ZTIPt = weak_odr constant
37// CHECK: @_ZTIPKt = weak_odr constant
38// CHECK: @_ZTIs = weak_odr constant
39// CHECK: @_ZTIPs = weak_odr constant
40// CHECK: @_ZTIPKs = weak_odr constant
41// CHECK: @_ZTIm = weak_odr constant
42// CHECK: @_ZTIPm = weak_odr constant
43// CHECK: @_ZTIPKm = weak_odr constant
44// CHECK: @_ZTIl = weak_odr constant
45// CHECK: @_ZTIPl = weak_odr constant
46// CHECK: @_ZTIPKl = weak_odr constant
47// CHECK: @_ZTIj = weak_odr constant
48// CHECK: @_ZTIPj = weak_odr constant
49// CHECK: @_ZTIPKj = weak_odr constant
50// CHECK: @_ZTIi = weak_odr constant
51// CHECK: @_ZTIPi = weak_odr constant
52// CHECK: @_ZTIPKi = weak_odr constant
53// CHECK: @_ZTIh = weak_odr constant
54// CHECK: @_ZTIPh = weak_odr constant
55// CHECK: @_ZTIPKh = weak_odr constant
56// CHECK: @_ZTIf = weak_odr constant
57// CHECK: @_ZTIPf = weak_odr constant
58// CHECK: @_ZTIPKf = weak_odr constant
59// CHECK: @_ZTIe = weak_odr constant
60// CHECK: @_ZTIPe = weak_odr constant
61// CHECK: @_ZTIPKe = weak_odr constant
62// CHECK: @_ZTId = weak_odr constant
63// CHECK: @_ZTIPd = weak_odr constant
64// CHECK: @_ZTIPKd = weak_odr constant
65// CHECK: @_ZTIc = weak_odr constant
66// CHECK: @_ZTIPc = weak_odr constant
67// CHECK: @_ZTIPKc = weak_odr constant
68// CHECK: @_ZTIb = weak_odr constant
69// CHECK: @_ZTIPb = weak_odr constant
70// CHECK: @_ZTIPKb = weak_odr constant
71// CHECK: @_ZTIa = weak_odr constant
72// CHECK: @_ZTIPa = weak_odr constant
73// CHECK: @_ZTIPKa = weak_odr constant