[cfe-commits] r78826 - in /cfe/trunk: lib/Sema/SemaDeclObjC.cpp test/SemaObjC/invalid-objc-decls-1.m

Fariborz Jahanian fjahanian at apple.com
Wed Aug 12 11:17:53 PDT 2009


Author: fjahanian
Date: Wed Aug 12 13:17:53 2009
New Revision: 78826

URL: http://llvm.org/viewvc/llvm-project?rev=78826&view=rev
Log:
error on property of objc interface type instead of crashing

Modified:
    cfe/trunk/lib/Sema/SemaDeclObjC.cpp
    cfe/trunk/test/SemaObjC/invalid-objc-decls-1.m

Modified: cfe/trunk/lib/Sema/SemaDeclObjC.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDeclObjC.cpp?rev=78826&r1=78825&r2=78826&view=diff

==============================================================================
--- cfe/trunk/lib/Sema/SemaDeclObjC.cpp (original)
+++ cfe/trunk/lib/Sema/SemaDeclObjC.cpp Wed Aug 12 13:17:53 2009
@@ -1940,6 +1940,8 @@
               Diag(AtLoc, diag::warn_implements_nscopying)  
                 << FD.D.getIdentifier();
       }
+  if (T->isObjCInterfaceType())
+    Diag(FD.D.getIdentifierLoc(), diag::err_statically_allocated_object);
   
   DeclContext *DC = dyn_cast<DeclContext>(ClassDecl);
   assert(DC && "ClassDecl is not a DeclContext");

Modified: cfe/trunk/test/SemaObjC/invalid-objc-decls-1.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/invalid-objc-decls-1.m?rev=78826&r1=78825&r2=78826&view=diff

==============================================================================
--- cfe/trunk/test/SemaObjC/invalid-objc-decls-1.m (original)
+++ cfe/trunk/test/SemaObjC/invalid-objc-decls-1.m Wed Aug 12 13:17:53 2009
@@ -32,3 +32,11 @@
 	Super p1; // expected-error{{interface type cannot be statically allocated}}
 	return p1;
 }
+
+ at interface NSMutableSet @end
+
+ at interface DVTDummyAnnotationProvider  
+  @property(readonly) NSMutableSet annotations;	// expected-error{{interface type cannot be statically allocated}}
+
+ at end
+





More information about the cfe-commits mailing list