John McCall 2ca705eb13 Support catching Objective C pointers in C++ under the non-fragile NeXT runtime.
Diagnose attempts to do this under the GNU or fragile NeXT runtimes.

llvm-svn: 109298
2010-07-24 00:37:23 +00:00

18 lines
458 B
Plaintext

// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -fobjc-nonfragile-abi -fexceptions -o - %s | FileCheck %s
@interface OCType @end
void opaque();
namespace test0 {
// CHECK: define void @_ZN5test03fooEv
void foo() {
try {
// CHECK: invoke void @_Z6opaquev
opaque();
} catch (OCType *T) {
// CHECK: call i32 (i8*, i8*, ...)* @llvm.eh.selector({{.*}} @__objc_personality_v0 {{.*}} @"OBJC_EHTYPE_$_OCType"
}
}
}