• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// REQUIRES: x86-64-registered-target
2// RUN: %clang_cc1 -masm-verbose -S -fblocks -g  -triple x86_64-apple-darwin10 -fobjc-dispatch-method=mixed  %s -o - | FileCheck %s
3
4//Radar 9279956
5//CHECK:	## DW_OP_deref
6//CHECK-NEXT:	## DW_OP_plus_uconst
7
8typedef unsigned int NSUInteger;
9
10@protocol NSObject
11@end
12
13@interface NSObject <NSObject>
14- (id)init;
15+ (id)alloc;
16@end
17
18@interface NSDictionary : NSObject
19- (NSUInteger)count;
20@end
21
22@interface NSMutableDictionary : NSDictionary
23@end
24
25@interface A : NSObject {
26@public
27    int ivar;
28}
29@end
30
31static void run(void (^block)(void))
32{
33    block();
34}
35
36@implementation A
37
38- (id)init
39{
40    if ((self = [super init])) {
41      run(^{
42          NSMutableDictionary *d = [[NSMutableDictionary alloc] init];
43          ivar = 42 + (int)[d count];
44        });
45    }
46    return self;
47}
48
49@end
50
51int main()
52{
53	A *a = [[A alloc] init];
54	return 0;
55}
56