diff --git a/include/clang/AST/RecordLayout.h b/include/clang/AST/RecordLayout.h index b3ed16e1c0..82880abfcf 100644 --- a/include/clang/AST/RecordLayout.h +++ b/include/clang/AST/RecordLayout.h @@ -33,8 +33,7 @@ class ASTRecordLayout { uint64_t *FieldOffsets; friend class ASTContext; - ASTRecordLayout(uint64_t S = 0, unsigned A = 8) - : Size(S), Alignment(A) {} + ASTRecordLayout() : Size(0), Alignment(8) {} ~ASTRecordLayout() { delete [] FieldOffsets; } diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp index 8733a6b989..4a1fb39bb6 100644 --- a/lib/AST/ASTContext.cpp +++ b/lib/AST/ASTContext.cpp @@ -405,15 +405,7 @@ ASTContext::getASTObjCInterfaceLayout(const ObjCInterfaceDecl *D) { // Allocate and assign into ASTRecordLayouts here. The "Entry" reference can // be invalidated (dangle) if the ASTRecordLayouts hashtable is inserted into. - unsigned Alignment = 8; - uint64_t Size = 0; - if (ObjCInterfaceDecl *SD = D->getSuperClass()) { - const ASTRecordLayout &SL = getASTObjCInterfaceLayout(SD); - Alignment = SL.getAlignment(); - Size = SL.getSize(); - } - ASTRecordLayout *NewEntry = new ASTRecordLayout(Size, Alignment); - + ASTRecordLayout *NewEntry = new ASTRecordLayout(); Entry = NewEntry; NewEntry->InitializeLayout(D->ivar_size());