[clang] Handle __declspec() attributes in using
[llvm-project.git] / clang / test / Rewriter / property-dot-syntax.mm
blob140ac4a7f3316d1da8012f592fd719d617fc3f5c
1 // RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc -fobjc-runtime=macosx-fragile-10.5 %s -o %t-rw.cpp
2 // RUN: %clang_cc1 -fsyntax-only -std=gnu++98 -fblocks -Wno-address-of-temporary -D"id=void*" -D"SEL=void*" -D"__declspec(X)=" %t-rw.cpp
3 // rdar:// 8520727
5 void *sel_registerName(const char *);
7 @class NSString;
9 @protocol CoreDAVAccountInfoProvider
10 - (NSString *)userAgentHeader;
11 @end
13 @interface CoreDAVTask
15   id<CoreDAVAccountInfoProvider> _accountInfoProvider;
17 - (void)METHOD;
18 @end
20 @implementation CoreDAVTask
21 - (void)METHOD {
22   if ([_accountInfoProvider userAgentHeader]) {
23   }
24   if (_accountInfoProvider.userAgentHeader) {
25   }
27 @end
29 //rdar: // 8541517
30 @interface A { }
31 @property (retain) NSString *scheme;
32 @end
34 @interface B : A {
35         NSString* _schemeName;
37 @end
40 @implementation B
41 -(void) test {
42  B *b;
43  b.scheme = _schemeName; // error because of this line
45 @end