1d0c89a471bd21a8c837662b852f39a72b8b3e391Rafael Espindola// RUN: %clang_cc1 %s -I%S -triple=x86_64-apple-darwin10 -emit-llvm -o - | FileCheck %s 2d0c89a471bd21a8c837662b852f39a72b8b3e391Rafael Espindola 3d0c89a471bd21a8c837662b852f39a72b8b3e391Rafael Espindola#include <typeinfo> 4d0c89a471bd21a8c837662b852f39a72b8b3e391Rafael Espindola 5d0c89a471bd21a8c837662b852f39a72b8b3e391Rafael Espindolastd::type_info foo() { 6d0c89a471bd21a8c837662b852f39a72b8b3e391Rafael Espindola return typeid(void); 7d0c89a471bd21a8c837662b852f39a72b8b3e391Rafael Espindola} 8d0c89a471bd21a8c837662b852f39a72b8b3e391Rafael Espindola 9d0c89a471bd21a8c837662b852f39a72b8b3e391Rafael Espindolanamespace __cxxabiv1 { 10d0c89a471bd21a8c837662b852f39a72b8b3e391Rafael Espindola struct __fundamental_type_info { 111e201b4a9d4880c3f90ab77e8a308140f003c7daDouglas Gregor virtual ~__fundamental_type_info(); 12d0c89a471bd21a8c837662b852f39a72b8b3e391Rafael Espindola }; 131e201b4a9d4880c3f90ab77e8a308140f003c7daDouglas Gregor 141e201b4a9d4880c3f90ab77e8a308140f003c7daDouglas Gregor __fundamental_type_info::~__fundamental_type_info() { } 15d0c89a471bd21a8c837662b852f39a72b8b3e391Rafael Espindola} 16d0c89a471bd21a8c837662b852f39a72b8b3e391Rafael Espindola 172bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson// void 1857244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIv = unnamed_addr constant 1957244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPv = unnamed_addr constant 2057244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPKv = unnamed_addr constant 212bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson 222bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson// std::nullptr_t 2357244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIDn = unnamed_addr constant 2457244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPDn = unnamed_addr constant 2557244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPKDn = unnamed_addr constant 262bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson 272bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson// bool 2857244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIb = unnamed_addr constant 2957244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPb = unnamed_addr constant 3057244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPKb = unnamed_addr constant 312bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson 322bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson// wchar_t 3357244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIw = unnamed_addr constant 3457244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPw = unnamed_addr constant 3557244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPKw = unnamed_addr constant 362bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson 372bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson// char 3857244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIc = unnamed_addr constant 3957244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPc = unnamed_addr constant 4057244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPKc = unnamed_addr constant 412bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson 422bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson// unsigned char 4357244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIh = unnamed_addr constant 4457244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPh = unnamed_addr constant 4557244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPKh = unnamed_addr constant 462bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson 472bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson// signed char 4857244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIa = unnamed_addr constant 4957244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPa = unnamed_addr constant 5057244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPKa = unnamed_addr constant 512bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson 522bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson// short 5357244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIs = unnamed_addr constant 5457244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPs = unnamed_addr constant 5557244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPKs = unnamed_addr constant 562bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson 572bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson// unsigned short 5857244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIt = unnamed_addr constant 5957244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPt = unnamed_addr constant 6057244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPKt = unnamed_addr constant 612bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson 622bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson// int 6357244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIi = unnamed_addr constant 6457244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPi = unnamed_addr constant 6557244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPKi = unnamed_addr constant 662bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson 672bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson// unsigned int 6857244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIj = unnamed_addr constant 6957244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPj = unnamed_addr constant 7057244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPKj = unnamed_addr constant 712bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson 722bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson// long 7357244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIl = unnamed_addr constant 7457244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPl = unnamed_addr constant 7557244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPKl = unnamed_addr constant 762bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson 772bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson// unsigned long 7857244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIm = unnamed_addr constant 7957244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPm = unnamed_addr constant 8057244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPKm = unnamed_addr constant 812bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson 822bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson// long long 8357244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIx = unnamed_addr constant 8457244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPx = unnamed_addr constant 8557244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPKx = unnamed_addr constant 862bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson 872bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson// unsigned long long 8857244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIy = unnamed_addr constant 8957244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPy = unnamed_addr constant 9057244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPKy = unnamed_addr constant 912bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson 922bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson// float 9357244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIf = unnamed_addr constant 9457244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPf = unnamed_addr constant 9557244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPKf = unnamed_addr constant 962bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson 972bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson// double 9857244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTId = unnamed_addr constant 9957244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPd = unnamed_addr constant 10057244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPKd = unnamed_addr constant 1012bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson 1022bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson// long double 10357244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIe = unnamed_addr constant 10457244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPe = unnamed_addr constant 10557244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPKe = unnamed_addr constant 1062bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson 1072bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson// char16_t 10857244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIDs = unnamed_addr constant 10957244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPDs = unnamed_addr constant 11057244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPKDs = unnamed_addr constant 1112bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson 1122bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson// char32_t 11357244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIDi = unnamed_addr constant 11457244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPDi = unnamed_addr constant 11557244f69e2e780bb5584a37a12e31be83b1eaadbRafael Espindola// CHECK: @_ZTIPKDi = unnamed_addr constant 1162bd6250f8e14750033362664ee298c2cc0e64853Anders Carlsson 117