Daniel Dunbar | 9fde9c4 | 2010-06-29 16:52:24 +0000 | [diff] [blame] | 1 | // RUN: %clangxx -ccc-host-triple x86_64-apple-darwin10 %s -flto -S -o - |\ |
Daniel Dunbar | 0a80ba7 | 2010-03-20 04:52:14 +0000 | [diff] [blame] | 2 | // RUN: FileCheck --check-prefix=CHECK-NO-KEXT %s |
Daniel Dunbar | 9fde9c4 | 2010-06-29 16:52:24 +0000 | [diff] [blame] | 3 | // RUN: %clangxx -ccc-host-triple x86_64-apple-darwin10 %s -fapple-kext -flto -S -o - |\ |
Daniel Dunbar | 0a80ba7 | 2010-03-20 04:52:14 +0000 | [diff] [blame] | 4 | // RUN: FileCheck --check-prefix=CHECK-KEXT %s |
| 5 | |
Daniel Dunbar | 0a80ba7 | 2010-03-20 04:52:14 +0000 | [diff] [blame] | 6 | // CHECK-NO-KEXT-NOT: _GLOBAL__D_a |
| 7 | // CHECK-NO-KEXT: @is_hosted = global |
Douglas Gregor | 6fb745b | 2010-05-13 16:44:06 +0000 | [diff] [blame] | 8 | // CHECK-NO-KEXT: @_ZTI3foo = {{.*}} @_ZTVN10__cxxabiv117 |
Daniel Dunbar | 0a80ba7 | 2010-03-20 04:52:14 +0000 | [diff] [blame] | 9 | // CHECK-NO-KEXT: call i32 @__cxa_atexit({{.*}} @_ZN3fooD1Ev |
| 10 | // CHECK-NO-KEXT: declare i32 @__cxa_atexit |
| 11 | |
| 12 | // CHECK-KEXT: @_ZTV3foo = |
| 13 | // CHECK-KEXT-NOT: @_ZTVN10__cxxabiv117 |
| 14 | // CHECK-KEXT-NOT: call i32 @__cxa_atexit({{.*}} @_ZN3fooD1Ev |
| 15 | // CHECK-KEXT-NOT: declare i32 @__cxa_atexit |
| 16 | // CHECK-KEXT: @is_freestanding = global |
| 17 | // CHECK-KEXT: _GLOBAL__D_a |
| 18 | // CHECK-KEXT: call void @_ZN3fooD1Ev(%class.foo* @a) |
| 19 | |
| 20 | class foo { |
| 21 | public: |
| 22 | foo(); |
| 23 | virtual ~foo(); |
| 24 | }; |
| 25 | |
| 26 | foo a; |
| 27 | foo::~foo() {} |
| 28 | |
| 29 | #if !(__STDC_HOSTED__ == 1) |
| 30 | int is_freestanding = 1; |
| 31 | #else |
| 32 | int is_hosted = 1; |
| 33 | #endif |
| 34 | |
| 35 | extern "C" void f1() { |
| 36 | } |