[cfe-commits] r108600 - /cfe/trunk/test/SemaObjC/default-synthesize-1.m

Fariborz Jahanian fjahanian at apple.com
Fri Jul 16 18:16:59 PDT 2010


Author: fjahanian
Date: Fri Jul 16 20:16:59 2010
New Revision: 108600

URL: http://llvm.org/viewvc/llvm-project?rev=108600&view=rev
Log:
Another test case for on demand synthesis of ivars.


Added:
    cfe/trunk/test/SemaObjC/default-synthesize-1.m

Added: cfe/trunk/test/SemaObjC/default-synthesize-1.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/default-synthesize-1.m?rev=108600&view=auto
==============================================================================
--- cfe/trunk/test/SemaObjC/default-synthesize-1.m (added)
+++ cfe/trunk/test/SemaObjC/default-synthesize-1.m Fri Jul 16 20:16:59 2010
@@ -0,0 +1,88 @@
+// RUN: %clang_cc1 -fsyntax-only -fobjc-nonfragile-abi2 -verify %s
+
+ at interface NSObject 
+- (void) release;
+- (id) retain;
+ at end
+ at class NSString;
+
+ at interface SynthItAll : NSObject
+ at property int howMany;
+ at property (retain) NSString* what;
+ at end
+
+ at implementation SynthItAll
+//@synthesize howMany, what;
+ at end
+
+
+ at interface SynthSetter : NSObject
+ at property (nonatomic) int howMany;  // REM: nonatomic to avoid warnings about only implementing one of the pair
+ at property (nonatomic, retain) NSString* what;
+ at end
+
+ at implementation SynthSetter
+//@synthesize howMany, what;
+
+- (int) howMany {
+    return howMany;
+}
+// - (void) setHowMany: (int) value
+
+- (NSString*) what {
+    return what;
+}
+// - (void) setWhat: (NSString*) value    
+ at end
+
+
+ at interface SynthGetter : NSObject
+ at property (nonatomic) int howMany;  // REM: nonatomic to avoid warnings about only implementing one of the pair
+ at property (nonatomic, retain) NSString* what;
+ at end
+
+ at implementation SynthGetter
+//@synthesize howMany, what;
+
+// - (int) howMany
+- (void) setHowMany: (int) value {
+    howMany = value;
+}
+
+// - (NSString*) what
+- (void) setWhat: (NSString*) value {
+    if (what != value) {
+        [what release];
+        what = [value retain];
+    }
+}
+ at end
+
+
+ at interface SynthNone : NSObject
+ at property int howMany;
+ at property (retain) NSString* what;
+ at end
+
+ at implementation SynthNone
+//@synthesize howMany, what;  // REM: Redundant anyway
+
+- (int) howMany {
+    return howMany;
+}
+- (void) setHowMany: (int) value {
+    howMany = value;
+}
+
+- (NSString*) what {
+    return what;
+}
+- (void) setWhat: (NSString*) value {
+    if (what != value) {
+        [what release];
+        what = [value retain];
+    }
+}
+ at end
+
+





More information about the cfe-commits mailing list