llvm-project/lldb/source/Plugins/Language/CPlusPlus
Michael Buch d4a55ad346 [lldb][Breakpoint] Fix setting breakpoints on templates by basename
This patch fixes a regression with setting breakpoints on template
functions by name. E.g.,:
```
$ cat main.cpp
template<typename T>
struct Foo {
  template<typename U>
  void func() {}
};

int main() {
  Foo<int> f;
  f.func<double>();
}

(lldb) br se -n func
```

This has regressed since `3339000e0bda696c2e29173d15958c0a4978a143`
where we started using the `CPlusPlusNameParser` for getting the
basename of the function symbol and match it exactly against
the name in the breakpoint command. The parser will include template
parameters in the basename, so the exact match will always fail

**Testing**

* Added API tests
* Added unit-tests

Differential Revision: https://reviews.llvm.org/D135921
2022-10-14 23:51:00 +01:00
..
BlockPointer.cpp [lldb] Rename Logging.h to LLDBLog.h and clean up includes 2022-02-03 14:47:01 +01:00
BlockPointer.h
CMakeLists.txt [LLDB] Add data formatter for std::coroutine_handle 2022-08-24 14:40:53 -07:00
CPlusPlusLanguage.cpp [lldb][Breakpoint] Fix setting breakpoints on templates by basename 2022-10-14 23:51:00 +01:00
CPlusPlusLanguage.h [lldb][Breakpoint] Fix setting breakpoints on templates by basename 2022-10-14 23:51:00 +01:00
CPlusPlusNameParser.cpp [lldb][CPlusPlusLanguage] Respect the step-avoid-regex for functions with auto return types 2022-10-10 12:50:15 +01:00
CPlusPlusNameParser.h [lldb] Replace default bodies of special member functions with = default; 2021-07-02 11:31:16 -07:00
Coroutines.cpp [LLDB] Add data formatter for std::coroutine_handle 2022-08-24 14:40:53 -07:00
Coroutines.h [LLDB] Add data formatter for std::coroutine_handle 2022-08-24 14:40:53 -07:00
CxxStringTypes.cpp [lldb] (Partially) enable formatting of utf strings before the program is started 2021-11-18 14:45:17 +01:00
CxxStringTypes.h
Generic.h Ensure newlines at the end of files (NFC) 2021-12-12 11:04:44 -08:00
GenericBitset.cpp Fix "not all control paths return a value" warning. NFC. 2022-01-23 15:14:10 +00:00
GenericOptional.cpp Unify libstdcpp and libcxx formatters for `std::optional` 2021-12-09 13:10:43 -08:00
LibCxx.cpp Adapt LLDB dataformatters for libcxx change D129386 2022-09-09 15:58:55 -07:00
LibCxx.h Adapt LLDB dataformatters for libcxx change D129386 2022-09-09 15:58:55 -07:00
LibCxxAtomic.cpp [LLDB] Applying clang-tidy modernize-use-default-member-init over LLDB 2022-03-14 13:32:03 -07:00
LibCxxAtomic.h
LibCxxInitializerList.cpp [LLDB] Applying clang-tidy modernize-use-default-member-init over LLDB 2022-03-14 13:32:03 -07:00
LibCxxList.cpp [LLDB][NFC][Reliability] Fix uninitialized variables from Coverity scan 2022-07-20 14:50:48 -07:00
LibCxxMap.cpp Adapt LLDB dataformatters for libcxx change D129386 2022-09-09 15:58:55 -07:00
LibCxxQueue.cpp
LibCxxSpan.cpp Adapt LLDB dataformatters for libcxx change D129386 2022-09-09 15:58:55 -07:00
LibCxxTuple.cpp
LibCxxUnorderedMap.cpp [lldb] From unordered_map synthetic provider, return std::pair children 2022-09-02 08:53:46 -07:00
LibCxxVariant.cpp Adapt LLDB dataformatters for libcxx change D129386 2022-09-09 15:58:55 -07:00
LibCxxVariant.h Adapt LLDB dataformatters for libcxx change D129386 2022-09-09 15:58:55 -07:00
LibCxxVector.cpp [lldb] Refactor DataBuffer so we can map files as read-only 2022-04-05 13:46:37 -07:00
LibStdcpp.cpp Adapt LLDB dataformatters for libcxx change D129386 2022-09-09 15:58:55 -07:00
LibStdcpp.h Unify libstdcpp and libcxx formatters for `std::optional` 2021-12-09 13:10:43 -08:00
LibStdcppTuple.cpp
LibStdcppUniquePointer.cpp [lldb] Fix libstdc++ 11's std::unique_ptr affecting LLDB testsuite TestDataFormatterStdUniquePtr.py 2021-06-15 11:19:20 +02:00
MSVCUndecoratedNameParser.cpp [LLDB][NativePDB] Global ctor and dtor should be global decls. 2022-09-15 22:35:58 -07:00
MSVCUndecoratedNameParser.h