// RUN: rm -rf %t // RUN: %clang_cc1 -objcmt-migrate-property -mt-migrate-directory %t %s -x objective-c -fobjc-runtime-has-weak -fobjc-arc -fobjc-default-synthesize-properties -triple x86_64-apple-darwin11 // RUN: c-arcmt-test -mt-migrate-directory %t | arcmt-test -verify-transformed-files %s.result // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only -x objective-c -fobjc-runtime-has-weak -fobjc-arc -fobjc-default-synthesize-properties %s.result @class NSString; @protocol NSCopying @end @interface NSObject <NSCopying> @end @interface NSDictionary : NSObject @end @interface I : NSObject { int ivarVal; } @property(weak) NSString * WeakProp; @property(retain) NSString * StrongProp; - (NSString *) UnavailProp __attribute__((unavailable)); - (void) setUnavailProp : (NSString *)Val; - (NSString *) UnavailProp1 __attribute__((unavailable)); - (void) setUnavailProp1 : (NSString *)Val __attribute__((unavailable)); - (NSString *) UnavailProp2; - (void) setUnavailProp2 : (NSString *)Val __attribute__((unavailable)); @property(copy) NSDictionary * undoAction; @end @implementation I @end @class NSArray; @interface MyClass2 { @private NSArray *_names1; NSArray *_names2; NSArray *_names3; NSArray *_names4; } @property(retain) NSArray * names2; @property(retain) NSArray * names3; @property(retain) NSArray * names4; @property(retain) NSArray * names1; @end // Properties that contain the name "delegate" or "dataSource", // or have exact name "target" have unsafe_unretained attribute. @interface NSInvocation @property(unsafe_unretained) id target; @property(unsafe_unretained) id dataSource; @property(unsafe_unretained) id xxxdelegateYYY; @property(retain) id MYtarget; @property(retain) id targetX; @property int value; @end