| [Clang][LLDB] Refactor trap reason demangling out of LLDB and into Clang (#165996) This patch refactors the trap reason demangling logic in lldb_private::VerboseTrapFrameRecognizer::RecognizeFrame into a new public function clang::CodeGen::DemangleTrapReasonInDebugInfo. There are two reasons for doing this: 1. In a future patch the logic for demangling needs to be used somewhere else in LLDB and thus the logic needs refactoring to avoid duplicating code. 2. The logic for demangling shouldn't really be in LLDB anyway because it's a Clang implementation detail and thus the logic really belongs inside Clang, not LLDB. Unit tests have been added for the new function that demonstrate how to use the new API. The function names recognized by VerboseTrapFrameRecognizer are identical to before. However, this patch isn't NFC because: * The lldbTarget library now links against clangCodeGen which it didn't previously. * The LLDB logging output is a little different now. The previous code tried to log failures for an invalid regex pattern and for the Regex::match API not returning the correct number of matches. These failure conditions are unreachable via unit testing so they have been made assertions failures inside the DemangleTrapReasonInDebugInfo implementation instead of trying to log them in LLDB. rdar://163230807 | 8 个月前 |
| [lldb] Split up shared cache objc metadata extractor body (#167761) After my previous change (#167579), the string exceeded 16380 single-byte characters. MSVC did not like this, so I'm splitting it up into two strings. | 8 个月前 |
| Reapply "[lldb/cmake] Plugin layering enforcement mechanism (#144543)" (#145305) The only difference from the original PR are the added BRIEF and FULL_DOCS arguments to define_property, which are required for cmake<3.23. | 1 年前 |