Skip to content

Commit eadf0eb

Browse files
authored
[Clang][Codegen][NFC] Add nullptr check in fillOutputFields (llvm#154623)
Static analysis flagged that we were checking for nullptr in Member.FD but soon after unconditionally accessing it. It looks like we should be checking, so I added a check.
1 parent 36cadb6 commit eadf0eb

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

clang/lib/CodeGen/CGRecordLayoutBuilder.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1027,8 +1027,11 @@ void CGRecordLowering::fillOutputFields() {
10271027
if (Member.FD)
10281028
Fields[Member.FD->getCanonicalDecl()] = FieldTypes.size() - 1;
10291029
// A field without storage must be a bitfield.
1030-
if (!Member.Data)
1030+
if (!Member.Data) {
1031+
assert(Member.FD &&
1032+
"Member.Data is a nullptr so Member.FD should not be");
10311033
setBitFieldInfo(Member.FD, Member.Offset, FieldTypes.back());
1034+
}
10321035
} else if (Member.Kind == MemberInfo::Base)
10331036
NonVirtualBases[Member.RD] = FieldTypes.size() - 1;
10341037
else if (Member.Kind == MemberInfo::VBase)

0 commit comments

Comments
 (0)