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