// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -fobjc-arc -fobjc-runtime=macosx-10.7 -fexceptions -fobjc-exceptions -o - %s | FileCheck %s
// RUN: %clang_cc1 -triple x86_64-apple-darwin11 -emit-llvm -fobjc-runtime=macosx-10.7 -fexceptions -fobjc-exceptions -o - %s | FileCheck %s
// rdar://8881826
// rdar://9412038

@interface I
{
  id ivar;
}
- (id) Meth;
+ (id) MyAlloc;;
@end

@implementation I
- (id) Meth {
   @autoreleasepool {
      id p = [I MyAlloc];
      if (!p)
        return ivar;
   }
  return 0;
}
+ (id) MyAlloc {
    return 0;
}
@end

// CHECK: call ptr @llvm.objc.autoreleasePoolPush
// CHECK: [[T:%.*]] = load ptr, ptr [[A:%.*]]
// CHECK: call void @llvm.objc.autoreleasePoolPop

// rdar://13660038
int tryTo(int (*f)(void)) {
  @try {
    @autoreleasepool {
      return f();
    }
  } @catch (...) {
    return 0;
  }
}
// CHECK-LABEL:    define{{.*}} i32 @tryTo(ptr
// CHECK:      [[RET:%.*]] = alloca i32,
// CHECK:      [[T0:%.*]] = call ptr @llvm.objc.autoreleasePoolPush()
// CHECK-NEXT: [[T1:%.*]] = load ptr, ptr {{%.*}},
// CHECK-NEXT: [[T2:%.*]] = invoke i32 [[T1]]()
// CHECK:      store i32 [[T2]], ptr [[RET]]
// CHECK:      invoke void @objc_autoreleasePoolPop(ptr [[T0]])
// CHECK:      landingpad { ptr, i32 }
// CHECK-NEXT:   catch ptr null
// CHECK:      call ptr @objc_begin_catch
// CHECK-NEXT: store i32 0, ptr [[RET]]
// CHECK:      call void @objc_end_catch()
