brintos

brintos / llvm-project-archived public Read only

0
0
Text · 905 B · 2c3b7f0 Raw
27 lines · plain
1// RUN: %clang_cc1 -triple arm-apple-ios -emit-llvm -debug-info-kind=limited -fblocks -fobjc-runtime=ios-7.0.0 -fobjc-arc %s -o - | FileCheck %s2@protocol NSObject3- (id)copy;4@end5@class W;6@interface View17@end8@implementation Controller {9    void (^Block)(void);10}11- (void)View:(View1 *)View foo:(W *)W12{13  // The debug type for these two will be identical, because we do not14  // actually emit the ownership qualifier.15  // CHECK: !DILocalVariable(name: "weakSelf",16  // CHECK-SAME:             line: [[@LINE+2]]17  // CHECK-SAME:             type: ![[SELFTY:[0-9]+]]18  __attribute__((objc_ownership(weak))) __typeof(self) weakSelf = self;19  Block = [^{20  // CHECK: !DILocalVariable(name: "strongSelf",21  // CHECK-SAME:             line: [[@LINE+2]]22  // CHECK-SAME:             type: ![[SELFTY]]23      __attribute__((objc_ownership(strong))) __typeof(self) strongSelf = weakSelf;24    } copy];25}26@end27