1 // RUN: %clang_cc1 -fcxx-exceptions -fexceptions -triple x86_64-apple-darwin10 -emit-llvm %s -o - > %t
2 // RUN: FileCheck %s -check-prefix=1 < %t
3 // RUN: FileCheck %s -check-prefix=2 < %t
8 // CHECK-1: @_ZN12_GLOBAL__N_11bE = internal global i32 0
9 // CHECK-1: @_ZN12_GLOBAL__N_1L1cE = internal global i32 0
10 // CHECK-1: @_ZN12_GLOBAL__N_11D1dE = internal global i32 0
11 // CHECK-1: @_ZN12_GLOBAL__N_11aE = internal global i32 0
24 // Check for generation of a VTT with internal linkage
25 // CHECK-1: @_ZTSN12_GLOBAL__N_11X1EE = internal constant
28 struct E : public virtual EBase { virtual ~E() {} };
31 // CHECK-1: define internal i32 @_ZN12_GLOBAL__N_13fooEv()
36 // CHECK-1: define internal i32 @_ZN12_GLOBAL__N_11A3fooEv()
45 return a + foo() + A::foo();
48 void test_XE() { throw X::E(); }
50 // Miscompile on llvmc plugins.
53 template <class T> struct B {
61 // CHECK-2: define void @_ZN5test24testEv()
62 // CHECK-2: call void @_ZN5test21A1BINS_12_GLOBAL__N_11CEE3fooEv()
67 // CHECK-2: define internal void @_ZN5test21A1BINS_12_GLOBAL__N_11CEE3fooEv()