From 3fc3dcd80f34cc6750be06fa546c08df0d03652c Mon Sep 17 00:00:00 2001 From: Argyrios Kyrtzidis Date: Mon, 28 Nov 2011 00:23:12 +0000 Subject: [arcmt] Don't add __weak if there is already a GC __weak and make sure to clear __weak from a readonly property. llvm-svn: 145210 --- clang/test/ARCMT/GC.m | 6 +++++- clang/test/ARCMT/GC.m.result | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'clang/test/ARCMT') diff --git a/clang/test/ARCMT/GC.m b/clang/test/ARCMT/GC.m index 35e9bcf9ce1..86e8b9b9630 100644 --- a/clang/test/ARCMT/GC.m +++ b/clang/test/ARCMT/GC.m @@ -58,6 +58,8 @@ __attribute__((objc_arc_weak_reference_unavailable)) @interface I4Impl { I4Impl *pds2; I4Impl *pds3; + __weak I4Impl *pw3; + __weak I4Impl *pw4; } @property (assign) I4Impl *__weak pw1, *__weak pw2; @property (assign) I4Impl *__strong ps; @@ -65,10 +67,12 @@ __attribute__((objc_arc_weak_reference_unavailable)) @property (assign) I4Impl * pds2; @property (readwrite) I4Impl * pds3; @property (readonly) I4Impl * pds4; +@property (readonly) __weak I4Impl *pw3; +@property (assign) __weak I4Impl *pw4; @end @implementation I4Impl -@synthesize pw1, pw2, ps, pds, pds2, pds3, pds4; +@synthesize pw1, pw2, pw3, pw4, ps, pds, pds2, pds3, pds4; -(void)test1:(CFTypeRef *)cft { id x = NSMakeCollectable(cft); diff --git a/clang/test/ARCMT/GC.m.result b/clang/test/ARCMT/GC.m.result index 540c2a2932f..b5222dd27a6 100644 --- a/clang/test/ARCMT/GC.m.result +++ b/clang/test/ARCMT/GC.m.result @@ -53,6 +53,8 @@ __attribute__((objc_arc_weak_reference_unavailable)) @interface I4Impl { I4Impl *pds2; I4Impl *pds3; + __weak I4Impl *pw3; + __weak I4Impl *pw4; } @property (weak) I4Impl * pw1, * pw2; @property I4Impl * ps; @@ -60,10 +62,12 @@ __attribute__((objc_arc_weak_reference_unavailable)) @property I4Impl * pds2; @property (readwrite) I4Impl * pds3; @property (readonly) I4Impl * pds4; +@property (weak, readonly) I4Impl *pw3; +@property (weak) I4Impl *pw4; @end @implementation I4Impl -@synthesize pw1, pw2, ps, pds, pds2, pds3, pds4; +@synthesize pw1, pw2, pw3, pw4, ps, pds, pds2, pds3, pds4; -(void)test1:(CFTypeRef *)cft { id x = CFBridgingRelease(cft); -- cgit v1.2.1