summaryrefslogtreecommitdiff
path: root/lldb/test/Shell/SymbolFile/PDB/Inputs
AgeCommit message (Collapse)Author
2025-07-18[lldb][test] Fix PDB UdtLayoutTestDavid Spickett
https://github.com/llvm/llvm-project/pull/149282 changed the max children depth and that caused one part of the output to become `{...}`. The original PR set a higher limit for a different test, so I'm doing the same here.
2023-03-17[lldb][test] Replace use of p with expression in Shell tests (NFC)Dave Lee
In Shell tests, replace use of the `p` alias with the `expression` command. To avoid conflating tests of the alias with tests of the expression command, this patch canonicalizes to the use `expression`. See also D141539 which made the same change to API tests. Differential Revision: https://reviews.llvm.org/D146230
2021-07-26[DebugInfo] Switch to using constructor homing ↵Amy Huang
(-debug-info-kind=constructor) by default when debug info is enabled Constructor homing reduces the amount of class type info that is emitted by emitting conmplete type info for a class only when a constructor for that class is emitted. This will mainly reduce the amount of duplicate debug info in object files. In Chrome enabling ctor homing decreased total build directory sizes by about 30%. It's also expected that some class types (such as unused classes) will no longer be emitted in the debug info. This is fine, since we wouldn't expect to need these types when debugging. In some cases (e.g. libc++, https://reviews.llvm.org/D98750), classes are used without calling the constructor. Since this is technically undefined behavior, enabling constructor homing should be fine. However Clang now has an attribute `__attribute__((standalone_debug))` that can be used on classes to ignore ctor homing. Bug: https://bugs.llvm.org/show_bug.cgi?id=46537 Differential Revision: https://reviews.llvm.org/D106084
2020-07-28Revert "Switch to using -debug-info-kind=constructor as default (from =limited)"Amy Huang
This reverts commit 227db86a1b7dd6f96f7df14890fcd071bc4fe1f5. Causing debug info errors in google3 LTO builds; also causes a debuginfo-test failure.
2020-07-09Switch to using -debug-info-kind=constructor as default (from =limited)Amy Huang
Summary: -debug-info-kind=constructor reduces the amount of class debug info that is emitted; this patch switches to using this as the default. Constructor homing emits the complete type info for a class only when the constructor is emitted, so it is expected that there will be some classes that are not defined in the debug info anymore because they are never constructed, and we shouldn't need debug info for these classes. I compared the PDB files for clang, and there are 273 class types that are defined with `=limited` but not with `=constructor` (out of ~60,000 total class types). We've looked at a number of the types that are no longer defined with =constructor. The vast majority of cases are something like class A is used as a parameter in a member function of some other class B, which is emitted. But the function that uses class A is never called, and class A is never constructed, and therefore isn't emitted in the debug info. Bug: https://bugs.llvm.org/show_bug.cgi?id=46537 Subscribers: aprantl, cfe-commits, lldb-commits Tags: #clang, #lldb Differential Revision: https://reviews.llvm.org/D79147
2020-06-25[lldb][PDB] Constexpr static member values as AST literalsAleksandr Urakov
Summary: When evaluating an expression referencing a constexpr static member variable, an error is issued because the PDB does not specify a symbol with an address that can be relocated against. Rather than attempt to resolve the variable's value within the IR execution, the values of all constants can be looked up and incorporated into the AST of the record type as a literal, mirroring the original compiler AST. This change applies to DIA and native PDB loaders. Patch By: jackoalan Reviewers: aleksandr.urakov, jasonmolenda, zturner, jdoerfert, teemperor Reviewed By: aleksandr.urakov Subscribers: sstefan1, lldb-commits, llvm-commits, #lldb Tags: #lldb, #llvm Differential Revision: https://reviews.llvm.org/D82160
2019-10-09Re-land "[test] Split LLDB tests into API, Shell & Unit"Jonas Devlieghere
The original patch got reverted because it broke `check-lldb` on a clean build. This fixes that. llvm-svn: 374201
2019-10-09Revert [test] Split LLDB tests into API, Shell & UnitAdrian Prantl
as it appears to have broken check-lldb. This reverts r374184 (git commit 22314179f0660c172514b397060fd8f34b586e82) llvm-svn: 374187
2019-10-09[test] Split LLDB tests into API, Shell & UnitJonas Devlieghere
LLDB has three major testing strategies: unit tests, tests that exercise the SB API though dotest.py and what we currently call lit tests. The later is rather confusing as we're now using lit as the driver for all three types of tests. As most of this grew organically, the directory structure in the LLDB repository doesn't really make this clear. The 'lit' tests are part of the root and among these tests there's a Unit and Suite folder for the unit and dotest-tests. This layout makes it impossible to run just the lit tests. This patch changes the directory layout to match the 3 testing strategies, each with their own directory and their own configuration file. This means there are now 3 directories under lit with 3 corresponding targets: - API (check-lldb-api): Test exercising the SB API. - Shell (check-lldb-shell): Test exercising command line utilities. - Unit (check-lldb-unit): Unit tests. Finally, there's still the `check-lldb` target that runs all three test suites. Finally, this also renames the lit folder to `test` to match the LLVM repository layout. Differential revision: https://reviews.llvm.org/D68606 llvm-svn: 374184