// RUN: %clang_cc1 -triple x86_64-apple-darwin11 -fobjc-arc -fobjc-runtime-has-weak %s -emit-llvm -o - | FileCheck %s

// CHECK: bitcast {{.*}} %self_weak_s_w_s
// CHECK-NEXT: llvm.objc.destroyWeak
// CHECK-NEXT: bitcast {{.*}} %self_strong_w_s
// CHECK-NEXT: llvm.objc.storeStrong
// CHECK-NEXT: bitcast {{.*}} %self_weak_s
// CHECK-NEXT: llvm.objc.destroyWeak
// CHECK-NEXT: bitcast {{.*}} %self_weak_s3
// CHECK-NEXT: llvm.objc.destroyWeak
// CHECK-NEXT: bitcast {{.*}} %self_strong3
// CHECK-NEXT: llvm.objc.storeStrong
// CHECK-NEXT: bitcast {{.*}} %self_strong2
// CHECK-NEXT: llvm.objc.storeStrong
// CHECK-NEXT: bitcast {{.*}} %self_strong
// CHECK-NEXT: llvm.objc.storeStrong
@interface NSObject
@end
@interface A : NSObject
@end
@implementation A
- (void)test {
  __attribute__((objc_ownership(strong))) __typeof__(self) self_strong;
  __attribute__((objc_ownership(strong))) __typeof__(self_strong) self_strong2;
  __attribute__((objc_ownership(strong))) __typeof__(self_strong2) self_strong3;
  __attribute__((objc_ownership(weak))) __typeof__(self_strong3) self_weak_s3;
 
  __attribute__((objc_ownership(weak))) __typeof__(self_strong) self_weak_s;
  __attribute__((objc_ownership(strong))) __typeof__(self_weak_s) self_strong_w_s;
  __attribute__((objc_ownership(weak))) __typeof__(self_strong_w_s) self_weak_s_w_s;
}
@end
