[clang] 007e32d - [clang][Interp][NFC] Simplify record creation
Timm Bäder via cfe-commits
cfe-commits at lists.llvm.org
Fri Jul 12 07:45:49 PDT 2024
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());
}
}
More information about the cfe-commits
mailing list