1f4a2713aSLionel Sambuc // RUN: %clang_cc1 %s -I%S -triple=x86_64-apple-darwin10 -emit-llvm -o - | FileCheck %s 2f4a2713aSLionel Sambuc 3f4a2713aSLionel Sambuc #include <typeinfo> 4f4a2713aSLionel Sambuc foo()5f4a2713aSLionel Sambucstd::type_info foo() { 6f4a2713aSLionel Sambuc return typeid(void); 7f4a2713aSLionel Sambuc } 8f4a2713aSLionel Sambuc 9f4a2713aSLionel Sambuc namespace __cxxabiv1 { 10f4a2713aSLionel Sambuc struct __fundamental_type_info { 11f4a2713aSLionel Sambuc virtual ~__fundamental_type_info(); 12f4a2713aSLionel Sambuc }; 13f4a2713aSLionel Sambuc ~__fundamental_type_info()14f4a2713aSLionel Sambuc __fundamental_type_info::~__fundamental_type_info() { } 15f4a2713aSLionel Sambuc } 16f4a2713aSLionel Sambuc 17f4a2713aSLionel Sambuc // void 18*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIv = constant 19*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPv = constant 20*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPKv = constant 21f4a2713aSLionel Sambuc 22f4a2713aSLionel Sambuc // std::nullptr_t 23*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIDn = constant 24*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPDn = constant 25*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPKDn = constant 26f4a2713aSLionel Sambuc 27f4a2713aSLionel Sambuc // bool 28*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIb = constant 29*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPb = constant 30*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPKb = constant 31f4a2713aSLionel Sambuc 32f4a2713aSLionel Sambuc // wchar_t 33*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIw = constant 34*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPw = constant 35*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPKw = constant 36f4a2713aSLionel Sambuc 37f4a2713aSLionel Sambuc // char 38*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIc = constant 39*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPc = constant 40*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPKc = constant 41f4a2713aSLionel Sambuc 42f4a2713aSLionel Sambuc // unsigned char 43*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIh = constant 44*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPh = constant 45*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPKh = constant 46f4a2713aSLionel Sambuc 47f4a2713aSLionel Sambuc // signed char 48*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIa = constant 49*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPa = constant 50*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPKa = constant 51f4a2713aSLionel Sambuc 52f4a2713aSLionel Sambuc // short 53*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIs = constant 54*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPs = constant 55*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPKs = constant 56f4a2713aSLionel Sambuc 57f4a2713aSLionel Sambuc // unsigned short 58*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIt = constant 59*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPt = constant 60*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPKt = constant 61f4a2713aSLionel Sambuc 62f4a2713aSLionel Sambuc // int 63*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIi = constant 64*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPi = constant 65*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPKi = constant 66f4a2713aSLionel Sambuc 67f4a2713aSLionel Sambuc // unsigned int 68*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIj = constant 69*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPj = constant 70*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPKj = constant 71f4a2713aSLionel Sambuc 72f4a2713aSLionel Sambuc // long 73*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIl = constant 74*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPl = constant 75*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPKl = constant 76f4a2713aSLionel Sambuc 77f4a2713aSLionel Sambuc // unsigned long 78*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIm = constant 79*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPm = constant 80*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPKm = constant 81f4a2713aSLionel Sambuc 82f4a2713aSLionel Sambuc // long long 83*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIx = constant 84*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPx = constant 85*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPKx = constant 86f4a2713aSLionel Sambuc 87f4a2713aSLionel Sambuc // unsigned long long 88*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIy = constant 89*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPy = constant 90*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPKy = constant 91*0a6a1f1dSLionel Sambuc 92*0a6a1f1dSLionel Sambuc // half 93*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIDh = constant 94*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPDh = constant 95*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPKDh = constant 96f4a2713aSLionel Sambuc 97f4a2713aSLionel Sambuc // float 98*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIf = constant 99*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPf = constant 100*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPKf = constant 101f4a2713aSLionel Sambuc 102f4a2713aSLionel Sambuc // double 103*0a6a1f1dSLionel Sambuc // CHECK: @_ZTId = constant 104*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPd = constant 105*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPKd = constant 106f4a2713aSLionel Sambuc 107f4a2713aSLionel Sambuc // long double 108*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIe = constant 109*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPe = constant 110*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPKe = constant 111f4a2713aSLionel Sambuc 112f4a2713aSLionel Sambuc // char16_t 113*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIDs = constant 114*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPDs = constant 115*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPKDs = constant 116f4a2713aSLionel Sambuc 117f4a2713aSLionel Sambuc // char32_t 118*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIDi = constant 119*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPDi = constant 120*0a6a1f1dSLionel Sambuc // CHECK: @_ZTIPKDi = constant 121f4a2713aSLionel Sambuc 122