diff options
| author | Michael Buch <michaelbuch12@gmail.com> | 2025-10-31 13:27:09 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-31 13:27:09 +0000 |
| commit | deb54ba0cbab1e9c8d2ab0ea8a6e77dbb22b82d9 (patch) | |
| tree | 5c459ab9b052326a34cb5230429bc41be0837494 /clang/lib/Frontend/CompilerInvocation.cpp | |
| parent | 7b29b49c3e47a1616127bd08ceee3459866430b4 (diff) | |
| download | llvm-deb54ba0cbab1e9c8d2ab0ea8a6e77dbb22b82d9.zip llvm-deb54ba0cbab1e9c8d2ab0ea8a6e77dbb22b82d9.tar.gz llvm-deb54ba0cbab1e9c8d2ab0ea8a6e77dbb22b82d9.tar.bz2 | |
[lldb][TypeSystem] Better support for _BitInt types (#165689)
Depends on:
* https://github.com/llvm/llvm-project/pull/165686
This patch ensures we make use of the `DW_AT_bit_size` on
`DW_TAG_base_type`s (which since
https://github.com/llvm/llvm-project/pull/164372 can exist on
`_BitInt`s) and adjusts `TypeSystemClang` to recognize `_BitInt`.
For DWARF from older versions of Clang that didn't emit a
`DW_AT_bit_size`, we would create `_BitInt`s using the byte-size. Not
sure we can do much better than that. But the situation beforehand
wasn't much better.
Before:
```
(lldb) v
(char) a = '\x01'
(unsigned char) b = '\x01'
(long) c = 2
(unsigned long) d = 2
```
After:
```
(lldb) v
(_BitInt(2)) a = 1
(unsigned _BitInt(2)) b = 1
(_BitInt(52)) c = 2
(unsigned _BitInt(52)) d = 2
```
Fixes https://github.com/llvm/llvm-project/issues/110273
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions
