[Lldb-commits] [lldb] [LLDB][NativePDB] Add non-overlapping fields in root struct (PR #166243)
Jonas Devlieghere via lldb-commits
lldb-commits at lists.llvm.org
Tue Nov 4 14:56:07 PST 2025
================
@@ -462,8 +466,23 @@ void UdtRecordCompleter::Record::ConstructRecord() {
}
if (iter->second.empty())
continue;
- parent = iter->second.back();
- iter->second.pop_back();
+
+ // If the new fields come after the already added ones
+ // without overlap, go back to the root.
+ if (iter->first <= offset && is_last_end_offset(iter)) {
+ if (record.kind == Member::Struct)
+ parent = &record;
+ else {
+ lldbassert(record.kind == Member::Union &&
+ "Current record must be a union");
+ lldbassert(!record.fields.empty());
----------------
JDevlieghere wrote:
Per https://lldb.llvm.org/resources/contributing.html#error-handling, we'd rather not add new uses of `lldbassert`. If these are proper preconditions, they can be converted to regular asserts.
https://github.com/llvm/llvm-project/pull/166243
More information about the lldb-commits
mailing list