diff options
Diffstat (limited to 'test/CodeGenObjCXX/arc-marker-funclet.mm')
-rw-r--r-- | test/CodeGenObjCXX/arc-marker-funclet.mm | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/test/CodeGenObjCXX/arc-marker-funclet.mm b/test/CodeGenObjCXX/arc-marker-funclet.mm new file mode 100644 index 0000000000000..900c2788daedb --- /dev/null +++ b/test/CodeGenObjCXX/arc-marker-funclet.mm @@ -0,0 +1,17 @@ +// RUN: %clang_cc1 -triple i686-unknown-windows-msvc -fobjc-runtime=ios-6.0 -fobjc-arc \ +// RUN: -fexceptions -fcxx-exceptions -emit-llvm -o - %s | FileCheck %s + +id f(); +void g() { + try { + f(); + } catch (...) { + f(); + } +} + +// CHECK: call i8* @"?f@@YAPAUobjc_object@@XZ"() [ "funclet"(token %1) ] +// CHECK-NEXT: call void asm sideeffect "movl{{.*}}%ebp, %ebp{{.*}}", ""() [ "funclet"(token %1) ] + +// The corresponding f() call was invoked from the entry basic block. +// CHECK: call void asm sideeffect "movl{{.*}}%ebp, %ebp{{.*}}", ""(){{$}} |