201 lines · cpp
1// RUN: %clang_cc1 %s -I%S -triple=x86_64-apple-darwin10 -emit-llvm -o - | FileCheck %s2// RUN: %clang_cc1 %s -I%S -triple=x86_64-apple-darwin10 -emit-llvm -fvisibility=hidden -o - | FileCheck %s -check-prefix=CHECK-HIDDEN3 4#include <typeinfo>5 6std::type_info foo() {7 return typeid(void);8}9 10namespace __cxxabiv1 {11 struct __fundamental_type_info {12 virtual ~__fundamental_type_info();13 };14 15 __fundamental_type_info::~__fundamental_type_info() { }16}17 18// void19// CHECK: @_ZTIv ={{.*}} constant20// CHECK-HIDDEN: @_ZTIv = hidden constant21// CHECK: @_ZTIPv ={{.*}} constant22// CHECK-HIDDEN: @_ZTIPv = hidden constant23// CHECK: @_ZTIPKv ={{.*}} constant24// CHECK-HIDDEN: @_ZTIPKv = hidden constant25 26// std::nullptr_t27// CHECK: @_ZTIDn ={{.*}} constant28// CHECK-HIDDEN: @_ZTIDn = hidden constant29// CHECK: @_ZTIPDn ={{.*}} constant30// CHECK-HIDDEN: @_ZTIPDn = hidden constant31// CHECK: @_ZTIPKDn ={{.*}} constant32// CHECK-HIDDEN: @_ZTIPKDn = hidden constant33 34// bool35// CHECK: @_ZTIb ={{.*}} constant36// CHECK-HIDDEN: @_ZTIb = hidden constant37// CHECK: @_ZTIPb ={{.*}} constant38// CHECK-HIDDEN: @_ZTIPb = hidden constant39// CHECK: @_ZTIPKb ={{.*}} constant40// CHECK-HIDDEN: @_ZTIPKb = hidden constant41 42// wchar_t43// CHECK: @_ZTIw ={{.*}} constant44// CHECK-HIDDEN: @_ZTIw = hidden constant45// CHECK: @_ZTIPw ={{.*}} constant46// CHECK-HIDDEN: @_ZTIPw = hidden constant47// CHECK: @_ZTIPKw ={{.*}} constant48// CHECK-HIDDEN: @_ZTIPKw = hidden constant49 50// char51// CHECK: @_ZTIc ={{.*}} constant52// CHECK-HIDDEN: @_ZTIc = hidden constant53// CHECK: @_ZTIPc ={{.*}} constant54// CHECK-HIDDEN: @_ZTIPc = hidden constant55// CHECK: @_ZTIPKc ={{.*}} constant56// CHECK-HIDDEN: @_ZTIPKc = hidden constant57 58// unsigned char59// CHECK: @_ZTIh ={{.*}} constant60// CHECK-HIDDEN: @_ZTIh = hidden constant61// CHECK: @_ZTIPh ={{.*}} constant62// CHECK-HIDDEN: @_ZTIPh = hidden constant63// CHECK: @_ZTIPKh ={{.*}} constant64// CHECK-HIDDEN: @_ZTIPKh = hidden constant65 66// signed char67// CHECK: @_ZTIa ={{.*}} constant68// CHECK-HIDDEN: @_ZTIa = hidden constant69// CHECK: @_ZTIPa ={{.*}} constant70// CHECK-HIDDEN: @_ZTIPa = hidden constant71// CHECK: @_ZTIPKa ={{.*}} constant72// CHECK-HIDDEN: @_ZTIPKa = hidden constant73 74// short75// CHECK: @_ZTIs ={{.*}} constant76// CHECK-HIDDEN: @_ZTIs = hidden constant77// CHECK: @_ZTIPs ={{.*}} constant78// CHECK-HIDDEN: @_ZTIPs = hidden constant79// CHECK: @_ZTIPKs ={{.*}} constant80// CHECK-HIDDEN: @_ZTIPKs = hidden constant81 82// unsigned short83// CHECK: @_ZTIt ={{.*}} constant84// CHECK-HIDDEN: @_ZTIt = hidden constant85// CHECK: @_ZTIPt ={{.*}} constant86// CHECK-HIDDEN: @_ZTIPt = hidden constant87// CHECK: @_ZTIPKt ={{.*}} constant88// CHECK-HIDDEN: @_ZTIPKt = hidden constant89 90// int91// CHECK: @_ZTIi ={{.*}} constant92// CHECK-HIDDEN: @_ZTIi = hidden constant93// CHECK: @_ZTIPi ={{.*}} constant94// CHECK-HIDDEN: @_ZTIPi = hidden constant95// CHECK: @_ZTIPKi ={{.*}} constant96// CHECK-HIDDEN: @_ZTIPKi = hidden constant97 98// unsigned int99// CHECK: @_ZTIj ={{.*}} constant100// CHECK-HIDDEN: @_ZTIj = hidden constant101// CHECK: @_ZTIPj ={{.*}} constant102// CHECK-HIDDEN: @_ZTIPj = hidden constant103// CHECK: @_ZTIPKj ={{.*}} constant104// CHECK-HIDDEN: @_ZTIPKj = hidden constant105 106// long107// CHECK: @_ZTIl ={{.*}} constant108// CHECK-HIDDEN: @_ZTIl = hidden constant109// CHECK: @_ZTIPl ={{.*}} constant110// CHECK-HIDDEN: @_ZTIPl = hidden constant111// CHECK: @_ZTIPKl ={{.*}} constant112// CHECK-HIDDEN: @_ZTIPKl = hidden constant113 114// unsigned long115// CHECK: @_ZTIm ={{.*}} constant116// CHECK-HIDDEN: @_ZTIm = hidden constant117// CHECK: @_ZTIPm ={{.*}} constant118// CHECK-HIDDEN: @_ZTIPm = hidden constant119// CHECK: @_ZTIPKm ={{.*}} constant120// CHECK-HIDDEN: @_ZTIPKm = hidden constant121 122// long long123// CHECK: @_ZTIx ={{.*}} constant124// CHECK-HIDDEN: @_ZTIx = hidden constant125// CHECK: @_ZTIPx ={{.*}} constant126// CHECK-HIDDEN: @_ZTIPx = hidden constant127// CHECK: @_ZTIPKx ={{.*}} constant128// CHECK-HIDDEN: @_ZTIPKx = hidden constant129 130// unsigned long long131// CHECK: @_ZTIy ={{.*}} constant132// CHECK-HIDDEN: @_ZTIy = hidden constant133// CHECK: @_ZTIPy ={{.*}} constant134// CHECK-HIDDEN: @_ZTIPy = hidden constant135// CHECK: @_ZTIPKy ={{.*}} constant136// CHECK-HIDDEN: @_ZTIPKy = hidden constant137 138// __int128139// CHECK: @_ZTIn ={{.*}} constant140// CHECK-HIDDEN: @_ZTIn = hidden constant141// CHECK: @_ZTIPn ={{.*}} constant142// CHECK-HIDDEN: @_ZTIPn = hidden constant143// CHECK: @_ZTIPKn ={{.*}} constant144// CHECK-HIDDEN: @_ZTIPKn = hidden constant145 146// unsigned __int128147// CHECK: @_ZTIo ={{.*}} constant148// CHECK-HIDDEN: @_ZTIo = hidden constant149// CHECK: @_ZTIPo ={{.*}} constant150// CHECK-HIDDEN: @_ZTIPo = hidden constant151// CHECK: @_ZTIPKo ={{.*}} constant152// CHECK-HIDDEN: @_ZTIPKo = hidden constant153 154// half155// CHECK: @_ZTIDh ={{.*}} constant156// CHECK-HIDDEN: @_ZTIDh = hidden constant157// CHECK: @_ZTIPDh ={{.*}} constant158// CHECK-HIDDEN: @_ZTIPDh = hidden constant159// CHECK: @_ZTIPKDh ={{.*}} constant160// CHECK-HIDDEN: @_ZTIPKDh = hidden constant161 162// float163// CHECK: @_ZTIf ={{.*}} constant164// CHECK-HIDDEN: @_ZTIf = hidden constant165// CHECK: @_ZTIPf ={{.*}} constant166// CHECK-HIDDEN: @_ZTIPf = hidden constant167// CHECK: @_ZTIPKf ={{.*}} constant168// CHECK-HIDDEN: @_ZTIPKf = hidden constant169 170// double171// CHECK: @_ZTId ={{.*}} constant172// CHECK-HIDDEN: @_ZTId = hidden constant173// CHECK: @_ZTIPd ={{.*}} constant174// CHECK-HIDDEN: @_ZTIPd = hidden constant175// CHECK: @_ZTIPKd ={{.*}} constant176// CHECK-HIDDEN: @_ZTIPKd = hidden constant177 178// long double179// CHECK: @_ZTIe ={{.*}} constant180// CHECK-HIDDEN: @_ZTIe = hidden constant181// CHECK: @_ZTIPe ={{.*}} constant182// CHECK-HIDDEN: @_ZTIPe = hidden constant183// CHECK: @_ZTIPKe ={{.*}} constant184// CHECK-HIDDEN: @_ZTIPKe = hidden constant185 186// char16_t187// CHECK: @_ZTIDs ={{.*}} constant188// CHECK-HIDDEN: @_ZTIDs = hidden constant189// CHECK: @_ZTIPDs ={{.*}} constant190// CHECK-HIDDEN: @_ZTIPDs = hidden constant191// CHECK: @_ZTIPKDs ={{.*}} constant192// CHECK-HIDDEN: @_ZTIPKDs = hidden constant193 194// char32_t195// CHECK: @_ZTIDi ={{.*}} constant196// CHECK-HIDDEN: @_ZTIDi = hidden constant197// CHECK: @_ZTIPDi ={{.*}} constant198// CHECK-HIDDEN: @_ZTIPDi = hidden constant199// CHECK: @_ZTIPKDi ={{.*}} constant200// CHECK-HIDDEN: @_ZTIPKDi = hidden constant201