]> granicus.if.org Git - clang/commitdiff
Removed a FIXME. Added a test case for anonymous category.
authorFariborz Jahanian <fjahanian@apple.com>
Wed, 26 Nov 2008 20:33:54 +0000 (20:33 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Wed, 26 Nov 2008 20:33:54 +0000 (20:33 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60115 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaDeclObjC.cpp
test/SemaObjC/continuation-class-err.m [new file with mode: 0644]

index 9f37e900cdfc755ffa0579816fe40e1d1ac47bb7..b9fc5b719a21fd2aa9b4cfacc6e4b26df17301d2 100644 (file)
@@ -1251,10 +1251,10 @@ Sema::DeclTy *Sema::ActOnProperty(Scope *S, SourceLocation AtLoc,
           *isOverridingProperty = true;
           return 0;
         }
-        // else
-        // FIXME:
-        // no matching property found in the main class. Must simply
-        // add this property to the main class's property list.
+        // No matching property found in the main class. Just fall thru
+        // and add property to the anonymous category. It looks like
+       // it works as is. This category becomes just like a category
+       // for its primary class.
       } else {
           Diag(CDecl->getLocation(), diag::err_continuation_class);
           *isOverridingProperty = true;
diff --git a/test/SemaObjC/continuation-class-err.m b/test/SemaObjC/continuation-class-err.m
new file mode 100644 (file)
index 0000000..1d4725f
--- /dev/null
@@ -0,0 +1,15 @@
+// RUN: clang -fsyntax-only -verify %s
+
+@interface ReadOnly 
+{
+  id _object;
+  id _object1;
+}
+@property(readonly, assign) id object;
+@property(readwrite, assign) id object1;
+@end
+
+@interface ReadOnly ()
+@property(readwrite, copy) id object;  // expected-warning {{property attribute in continuation class does not match the primary class}}
+@property(readonly) id object1; // expected-error {{use contination class to override 'readonly' property with 'readwrite'}}
+@end