Michael137 wrote: So IIUC, the issue is that `SBModule::FindFirstType` falls back to `TypeSystemClang::GetBuiltinTypeByName`. Since `__int128` and `unsigned __int128` are the de-facto names for the builtin types, we expect LLDB to find them. But LLDB registers the 128-bit integer builtins as being called `__int128_t` and `__uint128_t`.
Seems like this dates back quite a while: ``` commit b43165b7a5d59d8178dc803ec0351d3a62a38946 Author: Greg Clayton <[email protected]> Date: Wed Dec 5 21:24:42 2012 +0000 <rdar://problem/12749733> Always allows getting builtin types by name even if there is no backing debug information. llvm-svn: 169424 ``` And there weren't associated tests for it, so hard to say why `__int128_t` was chosen. IIUC, `__int128_t` is a typedef to `__int128`. So using it for the name of the basic type seems wrong. > (lldb) script lldb.debugger.GetSelectedTarget().FindFirstType("__int128").size > 16 > (lldb) script lldb.debugger.GetSelectedTarget().FindFirstType("unsigned > __int128").size > 16 Could you add a test for this? E.g., you could add this to `lldb/test/API/functionalities/type_find_first/TestFindFirstType.py` or `lldb/test/API/python_api/sbtype_basic_type/TestSBTypeBasicType.py` 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? https://github.com/llvm/llvm-project/pull/162278 _______________________________________________ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
