diff options
author | Chris Lattner <sabre@nondot.org> | 2009-04-01 06:23:52 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-04-01 06:23:52 +0000 |
commit | 03d9f34a96ea28eaa698cc779462a1ce1dc79105 (patch) | |
tree | f708dde3aed9bc81c5158e475bf63954c0237ede | |
parent | 5fb5dfb6646464db3cd6d54a6332375c8fe36b75 (diff) |
remove ASTContext::buildObjCInterfaceType, which breaks canonical
types. It is no longer needed now that the code generator
re-lays-out interfaces if they are defines after being laid out
from a forward decl.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68194 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/AST/ASTContext.h | 1 | ||||
-rw-r--r-- | lib/AST/ASTContext.cpp | 12 | ||||
-rw-r--r-- | lib/CodeGen/CGDebugInfo.cpp | 2 | ||||
-rw-r--r-- | lib/CodeGen/CGObjCMac.cpp | 5 |
4 files changed, 2 insertions, 18 deletions
diff --git a/include/clang/AST/ASTContext.h b/include/clang/AST/ASTContext.h index 503c4639cc..4287494b3d 100644 --- a/include/clang/AST/ASTContext.h +++ b/include/clang/AST/ASTContext.h @@ -287,7 +287,6 @@ public: /// specified typename decl. QualType getTypedefType(TypedefDecl *Decl); QualType getObjCInterfaceType(ObjCInterfaceDecl *Decl); - QualType buildObjCInterfaceType(ObjCInterfaceDecl *Decl); QualType getTemplateTypeParmType(unsigned Depth, unsigned Index, IdentifierInfo *Name = 0); diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp index bdc7e4484c..fc1e0a2062 100644 --- a/lib/AST/ASTContext.cpp +++ b/lib/AST/ASTContext.cpp @@ -1344,18 +1344,6 @@ QualType ASTContext::getObjCInterfaceType(ObjCInterfaceDecl *Decl) { return QualType(Decl->TypeForDecl, 0); } -/// buildObjCInterfaceType - Returns a new type for the interface -/// declaration, regardless. It also removes any previously built -/// record declaration so caller can rebuild it. -QualType ASTContext::buildObjCInterfaceType(ObjCInterfaceDecl *Decl) { - RecordDecl *&RD = ASTRecordForInterface[Decl]; - if (RD) - RD = 0; - Decl->TypeForDecl = new(*this,8) ObjCInterfaceType(Type::ObjCInterface, Decl); - Types.push_back(Decl->TypeForDecl); - return QualType(Decl->TypeForDecl, 0); -} - /// \brief Retrieve the template type parameter type for a template /// parameter with the given depth, index, and (optionally) name. QualType ASTContext::getTemplateTypeParmType(unsigned Depth, unsigned Index, diff --git a/lib/CodeGen/CGDebugInfo.cpp b/lib/CodeGen/CGDebugInfo.cpp index bde6fba137..c0819369b1 100644 --- a/lib/CodeGen/CGDebugInfo.cpp +++ b/lib/CodeGen/CGDebugInfo.cpp @@ -749,7 +749,7 @@ void CGDebugInfo::EmitGlobalVariable(llvm::GlobalVariable *Var, std::string Name = Decl->getNameAsString(); - QualType T = M->getContext().buildObjCInterfaceType(Decl); + QualType T = M->getContext().getObjCInterfaceType(Decl); if (T->isIncompleteArrayType()) { // CodeGen turns int[] into int[1] so we'll do the same here. diff --git a/lib/CodeGen/CGObjCMac.cpp b/lib/CodeGen/CGObjCMac.cpp index 75cf4e76ab..351f8e2527 100644 --- a/lib/CodeGen/CGObjCMac.cpp +++ b/lib/CodeGen/CGObjCMac.cpp @@ -1459,7 +1459,7 @@ void CGObjCMac::GenerateClass(const ObjCImplementationDecl *ID) { Interface->protocol_begin(), Interface->protocol_end()); const llvm::Type *InterfaceTy = - CGM.getTypes().ConvertType(CGM.getContext().buildObjCInterfaceType(Interface)); + CGM.getTypes().ConvertType(CGM.getContext().getObjCInterfaceType(Interface)); unsigned Flags = eClassFlags_Factory; unsigned Size = CGM.getTargetData().getTypePaddedSize(InterfaceTy); @@ -4246,9 +4246,6 @@ void CGObjCNonFragileABIMac::GenerateClass(const ObjCImplementationDecl *ID) { SuperClassGV = GetClassGlobal(ObjCClassName + RootClassName); } // FIXME: Gross - ObjCInterfaceDecl *Interface = - const_cast<ObjCInterfaceDecl*>(ID->getClassInterface()); - CGM.getTypes().ConvertType(CGM.getContext().buildObjCInterfaceType(Interface)); InstanceStart = InstanceSize = 0; if (ObjCInterfaceDecl *OID = const_cast<ObjCInterfaceDecl*>(ID->getClassInterface())) { |