]> granicus.if.org Git - clang/commitdiff
Per PR 3187, disable the missing -dealloc check for classes that subclass SenTestCase.
authorTed Kremenek <kremenek@apple.com>
Wed, 11 Feb 2009 07:10:07 +0000 (07:10 +0000)
committerTed Kremenek <kremenek@apple.com>
Wed, 11 Feb 2009 07:10:07 +0000 (07:10 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64292 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/CheckObjCDealloc.cpp

index dda25017c34eceec14a1dbd74fb9e760cd10de3a..a14ae265128b9c048f589f10e9092aca710a493e 100644 (file)
@@ -121,11 +121,23 @@ void clang::CheckObjCDealloc(ObjCImplementationDecl* D,
   
   // Determine if the class subclasses NSObject.
   IdentifierInfo* NSObjectII = &Ctx.Idents.get("NSObject");
+  IdentifierInfo* SenTestCaseII = &Ctx.Idents.get("SenTestCase");
+
   
-  for ( ; ID ; ID = ID->getSuperClass())
-    if (ID->getIdentifier() == NSObjectII)
+  for ( ; ID ; ID = ID->getSuperClass()) {
+    IdentifierInfo *II = ID->getIdentifier();
+
+    if (II == NSObjectII)
       break;
-  
+
+    // FIXME: For now, ignore classes that subclass SenTestCase, as these don't
+    // need to implement -dealloc.  They implement tear down in another way,
+    // which we should try and catch later.
+    //  http://llvm.org/bugs/show_bug.cgi?id=3187
+    if (II == SenTestCaseII)
+      return;
+  }
+    
   if (!ID)
     return;