llvm-project/lldb/unittests
Jonas Devlieghere b706f56133
[lldb] Automatically unwrap parameter packs in template argument accessors
When looking at template arguments in LLDB, we usually care about what
the user passed in his code, not whether some of those arguments where
passed as a variadic parameter pack.

This patch extends all the C++ APIs to look at template parameters to
take an additional 'expand_pack' boolean that automatically unwraps the
potential argument packs. The equivalent SBAPI calls have been changed
to pass true for this parameter.

A byproduct of the patch is to also fix the support for template type
that have only a parameter pack as argument (like the OnlyPack type in
the test). Those were not recognized as template instanciations before.

The added test verifies that the SBAPI is able to iterate over the
arguments of a variadic template.

The original patch was written by Fred Riss almost 4 years ago.

Differential revision: https://reviews.llvm.org/D51387
2022-08-16 18:10:14 -07:00
..
API [LLDB] Applying clang-tidy modernize-use-override over LLDB 2022-04-22 13:29:47 -07:00
Breakpoint
Core Implement better path matching in FileSpecList::FindCompatibleIndex(...). 2022-08-08 15:20:38 -07:00
DataFormatter [nfc] [lldb] Prevent needless copies of DataExtractor 2021-08-04 20:35:53 +02:00
Disassembler Move GetControlFlowKind's logic to DisassemblerLLVMC.cpp 2022-07-26 12:05:23 -07:00
Editline Re-land "[lldb] Synchronize output through the IOHandler" 2022-03-15 12:53:46 -07:00
Expression [lldb] LLVM_FALLTHROUGH => [[fallthrough]]. NFC 2022-08-08 11:31:49 -07:00
Host Use value instead of getValue (NFC) 2022-07-15 20:03:13 -07:00
Instruction [LLDB][RISCV] Make software single stepping work 2022-08-16 23:44:50 +08:00
Interpreter [LLDB] Applying clang-tidy modernize-use-override over LLDB 2022-04-22 13:29:47 -07:00
Language [lldb][unittests] Add more test cases to CPlusPlusNameParser unit-tests 2022-08-11 15:05:48 +01:00
ObjectFile [lldb] Test parsing the symtab with indirect symbols from the shared cache 2022-03-23 21:13:55 -07:00
Platform [lldb] Add a test to prefer exact triple matches in platform selection 2022-07-11 16:35:51 -07:00
Process [lldb] Make Process and subclass constructors protected 2022-08-08 17:34:27 +02:00
ScriptInterpreter Remove Python 2 support from the ScriptInterpreter plugin 2022-04-27 08:26:25 -07:00
Signals Store a by name list of signals with their actions in the Target 2022-05-26 14:50:33 -07:00
Symbol [lldb] Automatically unwrap parameter packs in template argument accessors 2022-08-16 18:10:14 -07:00
SymbolFile Reland "[lldb] Add support for using integral const static data members in the expression evaluator" 2022-07-15 10:52:35 +00:00
Target [lldb] Make Process and subclass constructors protected 2022-08-08 17:34:27 +02:00
TestingSupport Reapply "[cmake] Prefix gtest and gtest_main with "llvm_"." 2022-03-04 13:45:43 -08:00
Thread [lldb] Make Process and subclass constructors protected 2022-08-08 17:34:27 +02:00
UnwindAssembly Update the CFA to use $sp when $fp is restored on arm64 2022-05-04 14:54:17 -07:00
Utility Cache the value for absolute path in FileSpec. 2022-07-28 13:31:41 -07:00
debugserver [lldb] [unittests] Fix TcpListen() call in RNBSocketTest 2021-10-26 21:08:03 +02:00
tools [lld] Don't use Optional::hasValue (NFC) 2022-06-26 19:29:40 -07:00
CMakeLists.txt lldb: Disable unittests if llvm_gtest target does not exist 2022-08-10 16:56:08 -07:00
gtest_common.h