[Lldb-commits] [lldb] [lldb] Fix TypeSystemClang::GetBasicTypeEnumeration for 128-bit int types (PR #162278)

Matej Košík via lldb-commits lldb-commits at lists.llvm.org
Thu Oct 9 09:58:27 PDT 2025


sedymrak wrote:

Concerning this (particular) question:

> On the flip-side it looks like the following commands do currently work today:
> 
> ```
> (lldb) script lldb.debugger.GetSelectedTarget().FindFirstType("__int128_t").size
> 16
> (lldb) script lldb.debugger.GetSelectedTarget().FindFirstType("__uint128_t").size
> 16
> ```
> 
> Do they still work after your patch?

Since neither `__int128_t` nor `__uint128_t` are basic types, LLDB will return `0` by default.
However, if the program contains the definition of the `__int128_t` or `__uint128_t` type, then it will return `16` for that type.
According to what I can see, in my branch:
- whenever I use `__int128_t` or `__uint128_t` in my program, LLDB returns `16` for that type.
- if I don't use `__int128_t` or `__uint128_t` in my program, LLDB returns `0` for these type (as it would return for any other random type-name that does not correspond to any of the defined types).

The behavior of LLDB will thus change in this respect, but the new behavior is the one that we expect
(as far as I understand it).

https://github.com/llvm/llvm-project/pull/162278


More information about the lldb-commits mailing list