4 Commits

Author SHA1 Message Date
Nerixyz
80d6e0b8ea
[LLDB][NativePDB] Add support for S_REGREL32_INDIR (#186124)
In #183172, I added support for reading `S_REGREL32_INDIR` records. This
adds support in LLDB. The record is emitted by MSVC for structured
bindings and in the compiler generated coroutine stubs.

It describes a location at `*(Register + Offset) + OffsetInUdt`.
Equivalent to
```
DW_OP_breg{reg} {Offset}
DW_OP_deref
DW_OP_plus_uconst {OffsetInUdt}
```

LLVM doesn't create this record - it only creates `S_LOCAL`s for local
variables. We'll probably need `S_DEFRANGE_REGISTER_REL_INDIR` for this
- should be simple to figure out the structure, but I haven't seen that
record emitted yet.
2026-03-13 20:22:29 +01:00
Michael Buch
3bd7dc3d65
[lldb][TypeSystem][NFC] Remove unused AccessType parameters to TypeSystemClang APIs (#183023)
In https://github.com/llvm/llvm-project/pull/182956 we stopped using the
access specifiers and unconditionally set all access to `AS_public`.
This patch is a follow-up cleanup to remove all the `AccessType`
parameters of the `TypeSystemClang` APIs (which since
https://github.com/llvm/llvm-project/pull/182956 are never used)
2026-02-25 08:05:12 +00:00
Vladimir Gorsunov
c3d4375729
[lldb][NativePDB] Fix crash in debugger when PDB has bad type index value (#166455)
Fix crash when an inline site record in the PDB file contains type index
which is out of bounds
2026-01-28 17:18:09 +01:00
Leonard Grey
21b36423c5
[LLDB][NativePDB] Introduce PdbAstBuilderClang (#175840)
This changes `PdbAstBuilder` to a language-neutral abstract interface
and moves all of its functionality to the `PdbAstBuilderClang` derived
class.

All Clang-specific methods with external callers are now public methods
on `PdbAstBuilderClang`. `TypeSystemClang` and `UdtRecordCompleter` use
`PdbAstBuilderClang` directly.

Did my best to clean up includes and unused methods.

RFC for context:

https://discourse.llvm.org/t/rfc-lldb-make-pdbastbuilder-language-agnostic/89117
2026-01-14 18:28:09 -05:00