1 // RUN: %clang_cc1 %s -I%S -triple=x86_64-apple-darwin10 -emit-llvm -o - | FileCheck %s 2 // RUN: %clang_cc1 %s -I%S -triple=x86_64-apple-darwin10 -emit-llvm -fvisibility hidden -o - | FileCheck %s -check-prefix=CHECK-HIDDEN 3 4 #include <typeinfo> 5 6 std::type_info foo() { 7 return typeid(void); 8 } 9 10 namespace __cxxabiv1 { 11 struct __fundamental_type_info { 12 virtual ~__fundamental_type_info(); 13 }; 14 15 __fundamental_type_info::~__fundamental_type_info() { } 16 } 17 18 // void 19 // CHECK: @_ZTIv = constant 20 // CHECK-HIDDEN: @_ZTIv = hidden constant 21 // CHECK: @_ZTIPv = constant 22 // CHECK-HIDDEN: @_ZTIPv = hidden constant 23 // CHECK: @_ZTIPKv = constant 24 // CHECK-HIDDEN: @_ZTIPKv = hidden constant 25 26 // std::nullptr_t 27 // CHECK: @_ZTIDn = constant 28 // CHECK-HIDDEN: @_ZTIDn = hidden constant 29 // CHECK: @_ZTIPDn = constant 30 // CHECK-HIDDEN: @_ZTIPDn = hidden constant 31 // CHECK: @_ZTIPKDn = constant 32 // CHECK-HIDDEN: @_ZTIPKDn = hidden constant 33 34 // bool 35 // CHECK: @_ZTIb = constant 36 // CHECK-HIDDEN: @_ZTIb = hidden constant 37 // CHECK: @_ZTIPb = constant 38 // CHECK-HIDDEN: @_ZTIPb = hidden constant 39 // CHECK: @_ZTIPKb = constant 40 // CHECK-HIDDEN: @_ZTIPKb = hidden constant 41 42 // wchar_t 43 // CHECK: @_ZTIw = constant 44 // CHECK-HIDDEN: @_ZTIw = hidden constant 45 // CHECK: @_ZTIPw = constant 46 // CHECK-HIDDEN: @_ZTIPw = hidden constant 47 // CHECK: @_ZTIPKw = constant 48 // CHECK-HIDDEN: @_ZTIPKw = hidden constant 49 50 // char 51 // CHECK: @_ZTIc = constant 52 // CHECK-HIDDEN: @_ZTIc = hidden constant 53 // CHECK: @_ZTIPc = constant 54 // CHECK-HIDDEN: @_ZTIPc = hidden constant 55 // CHECK: @_ZTIPKc = constant 56 // CHECK-HIDDEN: @_ZTIPKc = hidden constant 57 58 // unsigned char 59 // CHECK: @_ZTIh = constant 60 // CHECK-HIDDEN: @_ZTIh = hidden constant 61 // CHECK: @_ZTIPh = constant 62 // CHECK-HIDDEN: @_ZTIPh = hidden constant 63 // CHECK: @_ZTIPKh = constant 64 // CHECK-HIDDEN: @_ZTIPKh = hidden constant 65 66 // signed char 67 // CHECK: @_ZTIa = constant 68 // CHECK-HIDDEN: @_ZTIa = hidden constant 69 // CHECK: @_ZTIPa = constant 70 // CHECK-HIDDEN: @_ZTIPa = hidden constant 71 // CHECK: @_ZTIPKa = constant 72 // CHECK-HIDDEN: @_ZTIPKa = hidden constant 73 74 // short 75 // CHECK: @_ZTIs = constant 76 // CHECK-HIDDEN: @_ZTIs = hidden constant 77 // CHECK: @_ZTIPs = constant 78 // CHECK-HIDDEN: @_ZTIPs = hidden constant 79 // CHECK: @_ZTIPKs = constant 80 // CHECK-HIDDEN: @_ZTIPKs = hidden constant 81 82 // unsigned short 83 // CHECK: @_ZTIt = constant 84 // CHECK-HIDDEN: @_ZTIt = hidden constant 85 // CHECK: @_ZTIPt = constant 86 // CHECK-HIDDEN: @_ZTIPt = hidden constant 87 // CHECK: @_ZTIPKt = constant 88 // CHECK-HIDDEN: @_ZTIPKt = hidden constant 89 90 // int 91 // CHECK: @_ZTIi = constant 92 // CHECK-HIDDEN: @_ZTIi = hidden constant 93 // CHECK: @_ZTIPi = constant 94 // CHECK-HIDDEN: @_ZTIPi = hidden constant 95 // CHECK: @_ZTIPKi = constant 96 // CHECK-HIDDEN: @_ZTIPKi = hidden constant 97 98 // unsigned int 99 // CHECK: @_ZTIj = constant 100 // CHECK-HIDDEN: @_ZTIj = hidden constant 101 // CHECK: @_ZTIPj = constant 102 // CHECK-HIDDEN: @_ZTIPj = hidden constant 103 // CHECK: @_ZTIPKj = constant 104 // CHECK-HIDDEN: @_ZTIPKj = hidden constant 105 106 // long 107 // CHECK: @_ZTIl = constant 108 // CHECK-HIDDEN: @_ZTIl = hidden constant 109 // CHECK: @_ZTIPl = constant 110 // CHECK-HIDDEN: @_ZTIPl = hidden constant 111 // CHECK: @_ZTIPKl = constant 112 // CHECK-HIDDEN: @_ZTIPKl = hidden constant 113 114 // unsigned long 115 // CHECK: @_ZTIm = constant 116 // CHECK-HIDDEN: @_ZTIm = hidden constant 117 // CHECK: @_ZTIPm = constant 118 // CHECK-HIDDEN: @_ZTIPm = hidden constant 119 // CHECK: @_ZTIPKm = constant 120 // CHECK-HIDDEN: @_ZTIPKm = hidden constant 121 122 // long long 123 // CHECK: @_ZTIx = constant 124 // CHECK-HIDDEN: @_ZTIx = hidden constant 125 // CHECK: @_ZTIPx = constant 126 // CHECK-HIDDEN: @_ZTIPx = hidden constant 127 // CHECK: @_ZTIPKx = constant 128 // CHECK-HIDDEN: @_ZTIPKx = hidden constant 129 130 // unsigned long long 131 // CHECK: @_ZTIy = constant 132 // CHECK-HIDDEN: @_ZTIy = hidden constant 133 // CHECK: @_ZTIPy = constant 134 // CHECK-HIDDEN: @_ZTIPy = hidden constant 135 // CHECK: @_ZTIPKy = constant 136 // CHECK-HIDDEN: @_ZTIPKy = hidden constant 137 138 // __int128 139 // CHECK: @_ZTIn = constant 140 // CHECK-HIDDEN: @_ZTIn = hidden constant 141 // CHECK: @_ZTIPn = constant 142 // CHECK-HIDDEN: @_ZTIPn = hidden constant 143 // CHECK: @_ZTIPKn = constant 144 // CHECK-HIDDEN: @_ZTIPKn = hidden constant 145 146 // unsigned __int128 147 // CHECK: @_ZTIo = constant 148 // CHECK-HIDDEN: @_ZTIo = hidden constant 149 // CHECK: @_ZTIPo = constant 150 // CHECK-HIDDEN: @_ZTIPo = hidden constant 151 // CHECK: @_ZTIPKo = constant 152 // CHECK-HIDDEN: @_ZTIPKo = hidden constant 153 154 // half 155 // CHECK: @_ZTIDh = constant 156 // CHECK-HIDDEN: @_ZTIDh = hidden constant 157 // CHECK: @_ZTIPDh = constant 158 // CHECK-HIDDEN: @_ZTIPDh = hidden constant 159 // CHECK: @_ZTIPKDh = constant 160 // CHECK-HIDDEN: @_ZTIPKDh = hidden constant 161 162 // float 163 // CHECK: @_ZTIf = constant 164 // CHECK-HIDDEN: @_ZTIf = hidden constant 165 // CHECK: @_ZTIPf = constant 166 // CHECK-HIDDEN: @_ZTIPf = hidden constant 167 // CHECK: @_ZTIPKf = constant 168 // CHECK-HIDDEN: @_ZTIPKf = hidden constant 169 170 // double 171 // CHECK: @_ZTId = constant 172 // CHECK-HIDDEN: @_ZTId = hidden constant 173 // CHECK: @_ZTIPd = constant 174 // CHECK-HIDDEN: @_ZTIPd = hidden constant 175 // CHECK: @_ZTIPKd = constant 176 // CHECK-HIDDEN: @_ZTIPKd = hidden constant 177 178 // long double 179 // CHECK: @_ZTIe = constant 180 // CHECK-HIDDEN: @_ZTIe = hidden constant 181 // CHECK: @_ZTIPe = constant 182 // CHECK-HIDDEN: @_ZTIPe = hidden constant 183 // CHECK: @_ZTIPKe = constant 184 // CHECK-HIDDEN: @_ZTIPKe = hidden constant 185 186 // char16_t 187 // CHECK: @_ZTIDs = constant 188 // CHECK-HIDDEN: @_ZTIDs = hidden constant 189 // CHECK: @_ZTIPDs = constant 190 // CHECK-HIDDEN: @_ZTIPDs = hidden constant 191 // CHECK: @_ZTIPKDs = constant 192 // CHECK-HIDDEN: @_ZTIPKDs = hidden constant 193 194 // char32_t 195 // CHECK: @_ZTIDi = constant 196 // CHECK-HIDDEN: @_ZTIDi = hidden constant 197 // CHECK: @_ZTIPDi = constant 198 // CHECK-HIDDEN: @_ZTIPDi = hidden constant 199 // CHECK: @_ZTIPKDi = constant 200 // CHECK-HIDDEN: @_ZTIPKDi = hidden constant 201