blob: 13e31cd01ead49220adf4c8e76c3224878fafbd9 [file] [log] [blame]
Fariborz Jahanianca61bf32012-02-24 18:03:42 +00001// RUN: %clang_cc1 -E %s -o %t.m
2// RUN: %clang_cc1 -fblocks -rewrite-objc -fms-extensions %t.m -o %t-rw.cpp
3// RUN: FileCheck --input-file=%t-rw.cpp %s
4// RUN: %clang_cc1 -fsyntax-only -Wno-address-of-temporary -D"Class=void*" -D"id=void*" -D"SEL=void*" -D"__declspec(X)=" %t-rw.cpp
5
6@interface NSURLResponse {
7@public
8 NSURLResponse *InnerResponse;
9}
10@end
11
12@interface NSCachedURLResponseInternal
13{
14 @public
15 NSURLResponse *response;
16}
17@end
18
19@interface NSCachedURLResponse
20{
21 @private
22 NSCachedURLResponseInternal *_internal;
23}
24- (void) Meth;
25@end
26
27@implementation NSCachedURLResponse
28- (void) Meth {
29 _internal->response->InnerResponse = 0;
30 }
31@end
32
Fariborz Jahanian7cb2a1b2012-03-20 17:13:39 +000033// CHECK: (*(NSURLResponse **)((char *)(*(NSURLResponse **)((char *)(*(NSCachedURLResponseInternal **)((char *)self + OBJC_IVAR_$_NSCachedURLResponse$_internal)) + OBJC_IVAR_$_NSCachedURLResponseInternal$response)) + OBJC_IVAR_$_NSURLResponse$InnerResponse)) = 0;