Eliminate Sema::ObjCInterfaceDecls


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69942 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaDeclObjC.cpp b/lib/Sema/SemaDeclObjC.cpp
index e0cbdce..029770d 100644
--- a/lib/Sema/SemaDeclObjC.cpp
+++ b/lib/Sema/SemaDeclObjC.cpp
@@ -98,10 +98,7 @@
     if (AttrList)
       ProcessDeclAttributeList(IDecl, AttrList);
   
-    ObjCInterfaceDecls[ClassName] = IDecl;
     PushOnScopeChains(IDecl, TUScope);
-    // Remember that this needs to be removed when the scope is popped.
-    TUScope->AddDecl(DeclPtrTy::make(IDecl));
   }
   
   if (SuperName) {
@@ -658,11 +655,10 @@
     // we should copy them over.
     IDecl = ObjCInterfaceDecl::Create(Context, CurContext, AtClassImplLoc, 
                                       ClassName, ClassLoc, false, true);
-    ObjCInterfaceDecls[ClassName] = IDecl;
     IDecl->setSuperClass(SDecl);
     IDecl->setLocEnd(ClassLoc);
-    
-    // FIXME: PushOnScopeChains?
+
+    PushOnScopeChains(IDecl, TUScope);
     CurContext->addDecl(Context, IDecl);
     // Remember that this needs to be removed when the scope is popped.
     TUScope->AddDecl(DeclPtrTy::make(IDecl));
@@ -1042,11 +1038,7 @@
     if (!IDecl) {  // Not already seen?  Make a forward decl.
       IDecl = ObjCInterfaceDecl::Create(Context, CurContext, AtClassLoc, 
                                         IdentList[i], SourceLocation(), true);
-      ObjCInterfaceDecls[IdentList[i]] = IDecl;
-
       PushOnScopeChains(IDecl, TUScope);
-      // Remember that this needs to be removed when the scope is popped.
-      TUScope->AddDecl(DeclPtrTy::make(IDecl));
     }
 
     Interfaces.push_back(IDecl);