Author: Shafik Yaghmour Date: 2025-08-23T19:13:22-07:00 New Revision: eadf0ebc9026f4593db10502f26a15ac0cdedbb5
URL: https://github.com/llvm/llvm-project/commit/eadf0ebc9026f4593db10502f26a15ac0cdedbb5 DIFF: https://github.com/llvm/llvm-project/commit/eadf0ebc9026f4593db10502f26a15ac0cdedbb5.diff LOG: [Clang][Codegen][NFC] Add nullptr check in fillOutputFields (#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. Added: Modified: clang/lib/CodeGen/CGRecordLayoutBuilder.cpp Removed: ################################################################################ diff --git a/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp b/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp index e1310aed818ad..5f6136c917ac2 100644 --- a/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp +++ b/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp @@ -1027,8 +1027,11 @@ void CGRecordLowering::fillOutputFields() { if (Member.FD) Fields[Member.FD->getCanonicalDecl()] = FieldTypes.size() - 1; // A field without storage must be a bitfield. - if (!Member.Data) + if (!Member.Data) { + assert(Member.FD && + "Member.Data is a nullptr so Member.FD should not be"); setBitFieldInfo(Member.FD, Member.Offset, FieldTypes.back()); + } } else if (Member.Kind == MemberInfo::Base) NonVirtualBases[Member.RD] = FieldTypes.size() - 1; else if (Member.Kind == MemberInfo::VBase) _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits