================ @@ -0,0 +1,128 @@ +// REQUIRES: lld + +// Test that simple types can be found +// RUN: %build --std=c++20 --nodefaultlib --arch=64 -o %t.exe -- %s +// RUN: lldb-test symbols %t.exe | FileCheck %s + +bool *PB; +bool &RB = *PB; +bool *&RPB = PB; +const bool &CRB = RB; +bool *const BC = 0; +const bool *const CBC = 0; + +long AL[2]; + +const volatile short CVS = 0; +const short CS = 0; +volatile short VS; + +struct ReturnedStruct1 {}; +struct ReturnedStruct2 {}; + +struct MyStruct { + static ReturnedStruct1 static_fn(char *) { return {}; } + ReturnedStruct2 const_member_fn(char *) const { return {}; } + void volatile_member_fn() volatile {}; + void member_fn() {}; +}; + +void (*PF)(int, bool *, const float, ...); ---------------- Nerixyz wrote:
Missing: Return types and parameters that are "simple" (i.e. `TypeIndex::isSimple()) aren't created as types, because they don't have a type record in the TPI stream. So here, we're missing a `Type` for `void`. Non-simple types are created, because they will have a type record. In the DIA `typedefs.test` ([source](https://github.com/llvm/llvm-project/blob/d63dd5eed0ea2f34bcf8b178211f8771ea75dec7/lldb/test/Shell/SymbolFile/PDB/Inputs/SimpleTypesTest.cpp)), many simple types are only used in parameters. So the output of the native plugin is missing these. https://github.com/llvm/llvm-project/pull/156250 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits