summaryrefslogtreecommitdiff
path: root/lldb/test/Shell/Settings/TestFrameFormatFunctionFormattedArguments.test
AgeCommit message (Collapse)Author
2025-10-30[NFCI][lldb][test] Fix mismatched C/C++ substitutions (#165773)Raul Tambre
Most of the cases were where a C++ file was being compiled with the C substitution. There were a few cases of the opposite though. LLDB seems to be the only real culprit in the LLVM codebase for these mismatches. Rest of the LLVM presumably sticks at least language-specific options in the common substitutions making the mistakes immediately apparent. I found these by using Clang frontend configuration files containing language-specific options for both C and C++ (e.g. `-std=c2y` and `-std=c++26`).
2025-04-29Reland "[lldb][Format] Make function name frame-format variables work ↵Michael Buch
without debug-info" (#137757) This reverts commit da7099290cea7d11b83da01adda8afeb3bcd5362. Same as the original PR. The failing test-case was resolved in https://github.com/llvm/llvm-project/pull/137763
2025-04-29Revert "[lldb][Format] Make function name frame-format variables work ↵Michael Buch
without debug-info" (#137757) Reverts llvm/llvm-project#137408 This change broke `lldb/test/Shell/Unwind/split-machine-functions.test`. The test binary has a symbol named `_Z3foov.cold` and the test expects the backtrace to print the name of the cold part of the function like this: ``` # SPLIT: frame #1: {{.*}}`foo() (.cold) + ``` but now it gets ``` frame #1: 0x000055555555514f split-machine-functions.test.tmp`foo() + 12 ```
2025-04-28[lldb][Format] Make function name frame-format variables work without ↵Michael Buch
debug-info (#137408) This patch makes the frame-format variables introduced in https://github.com/llvm/llvm-project/pull/131836 also work when no debug-info is available. Previously, we assumed `sc.function` was available, but without debug-info we might only have `sc.symbol`. We don't really need the `sc.function` apart from when formatting arguments. For the function arguments case I added a fallback that will just print the arguments we get from the demangler (which is what LLDB does for stacktraces with no debug-info anyway). Ideally we'd have a separate `FormatEntity::Entry::Type::FunctionArguments` that will just print the arguments from the demangler and have something like the following in the `plugin.cplusplus.display.function-name-format`: ``` { ${function.formatted-arguments} || ${function.arguments} } ``` I.e., when we can't format the arguments, print the ones from the demangler. But we currently don't have the `||` operator in the frame-format language yet.
2025-04-26[lldb][test] XFAIL FrameFormat tests on Windows againMichael Buch
These are failing for various reasons on CI, most likely due to us requiring the Microsoft mangler. So XFAIL these.
2025-04-26[lldb][test] Make sure we compile FrameFormat tests with DWARFMichael Buch
These don't make sense for PDB on Windows
2025-04-26[lldb][test] Fix/XFAIL FrameFormat tests on WindowsMichael Buch
All of these were failing on Windows CI. Some are failing because breakpoints on template functions can't be set by name. Others are failing because of slight textual differences. Most are failing because we can't track components of a mangled name from PDB, so XFAIL those.
2025-04-25[lldb][Format] Introduce new frame-format variables for function parts (#131836)Michael Buch
Adds new frame-format variables and implements them in the CPlusPlusLanguage plugin. We use the `DemangledNameInfo` type to retrieve the necessary part of the demangled name. https://github.com/llvm/llvm-project/pull/131836