Author: Timm Bäder Date: 2024-07-12T16:45:18+02:00 New Revision: 007e32d024f31ef157e3e16117a6c000bfaa2754
URL: https://github.com/llvm/llvm-project/commit/007e32d024f31ef157e3e16117a6c000bfaa2754 DIFF: https://github.com/llvm/llvm-project/commit/007e32d024f31ef157e3e16117a6c000bfaa2754.diff LOG: [clang][Interp][NFC] Simplify record creation Try to keep the indentation width lower here. Added: Modified: clang/lib/AST/Interp/Program.cpp Removed: ################################################################################ diff --git a/clang/lib/AST/Interp/Program.cpp b/clang/lib/AST/Interp/Program.cpp index d3864d23925c0..5dd59d969853c 100644 --- a/clang/lib/AST/Interp/Program.cpp +++ b/clang/lib/AST/Interp/Program.cpp @@ -288,40 +288,41 @@ Record *Program::getOrCreateRecord(const RecordDecl *RD) { Record::BaseList Bases; Record::VirtualBaseList VirtBases; if (const auto *CD = dyn_cast<CXXRecordDecl>(RD)) { - for (const CXXBaseSpecifier &Spec : CD->bases()) { if (Spec.isVirtual()) continue; // In error cases, the base might not be a RecordType. - if (const auto *RT = Spec.getType()->getAs<RecordType>()) { - const RecordDecl *BD = RT->getDecl(); - const Record *BR = getOrCreateRecord(BD); - - if (const Descriptor *Desc = GetBaseDesc(BD, BR)) { - BaseSize += align(sizeof(InlineDescriptor)); - Bases.push_back({BD, BaseSize, Desc, BR}); - BaseSize += align(BR->getSize()); - continue; - } - } - return nullptr; + const auto *RT = Spec.getType()->getAs<RecordType>(); + if (!RT) + return nullptr; + const RecordDecl *BD = RT->getDecl(); + const Record *BR = getOrCreateRecord(BD); + + const Descriptor *Desc = GetBaseDesc(BD, BR); + if (!Desc) + return nullptr; + + BaseSize += align(sizeof(InlineDescriptor)); + Bases.push_back({BD, BaseSize, Desc, BR}); + BaseSize += align(BR->getSize()); } for (const CXXBaseSpecifier &Spec : CD->vbases()) { + const auto *RT = Spec.getType()->getAs<RecordType>(); + if (!RT) + return nullptr; - if (const auto *RT = Spec.getType()->getAs<RecordType>()) { - const RecordDecl *BD = RT->getDecl(); - const Record *BR = getOrCreateRecord(BD); + const RecordDecl *BD = RT->getDecl(); + const Record *BR = getOrCreateRecord(BD); - if (const Descriptor *Desc = GetBaseDesc(BD, BR)) { - VirtSize += align(sizeof(InlineDescriptor)); - VirtBases.push_back({BD, VirtSize, Desc, BR}); - VirtSize += align(BR->getSize()); - continue; - } - } - return nullptr; + const Descriptor *Desc = GetBaseDesc(BD, BR); + if (!Desc) + return nullptr; + + VirtSize += align(sizeof(InlineDescriptor)); + VirtBases.push_back({BD, VirtSize, Desc, BR}); + VirtSize += align(BR->getSize()); } } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits