More tweaking and  test cases for call to super
annotations. // rdar://6386358


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163525 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaDeclObjC.cpp b/lib/Sema/SemaDeclObjC.cpp
index 709a868..e81429c 100644
--- a/lib/Sema/SemaDeclObjC.cpp
+++ b/lib/Sema/SemaDeclObjC.cpp
@@ -388,9 +388,12 @@
         !(Context.getLangOpts().ObjCAutoRefCount ||
           Context.getLangOpts().getGC() == LangOptions::GCOnly) &&
           MDecl->getMethodFamily() == OMF_dealloc;
-      if (!getCurFunction()->ObjCShouldCallSuperDealloc)
+      if (!getCurFunction()->ObjCShouldCallSuperDealloc) {
+        IMD = IC->getSuperClass()->lookupMethod(MDecl->getSelector(), 
+                                                MDecl->isInstanceMethod());
         getCurFunction()->ObjCShouldCallSuperDealloc = 
           (IMD && IMD->hasAttr<ObjCRequiresSuperAttr>());
+      }
       getCurFunction()->ObjCShouldCallSuperFinalize =
         Context.getLangOpts().getGC() != LangOptions::NonGC &&
         MDecl->getMethodFamily() == OMF_finalize;