aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorDave Lee <davelee.com@gmail.com>2025-08-05 21:23:46 -0700
committerGitHub <noreply@github.com>2025-08-05 21:23:46 -0700
commit2959051e655a5c77401285a68bab2027aa958b88 (patch)
tree66a5341ddaf4673324b27c35a98242a0e23221d8 /clang/lib/Frontend/CompilerInvocation.cpp
parent3339a0045d66c0e56081b699b8535aecfb95ef85 (diff)
downloadllvm-2959051e655a5c77401285a68bab2027aa958b88.zip
llvm-2959051e655a5c77401285a68bab2027aa958b88.tar.gz
llvm-2959051e655a5c77401285a68bab2027aa958b88.tar.bz2
[lldb] Preserve original symbol of Mangled function names (#152201)
Fixes a bug that surfaces in frame recognizers. Details about the bug: A new frame recognizer is configured to match a specific symbol (`swift_willThrow`). This is an `extern "C"` symbol defined in a C++ source file. When Swift is built with debug info, the function `ParseFunctionFromDWARF` will use the debug info to construct a function name that looks like a C++ declaration (`::swift_willThrow(void *, SwiftError**)`). The `Mangled` instance will have this string as its `m_demangled` field, and have _no_ string for its `m_mangled` field. The result is the frame recognizer would not match the symbol to the name (`swift_willThrow` != `::swift_willThrow(void *, SwiftError**)`. By changing `ParseFunctionFromDWARF` to assign both a demangled name and a mangled, frame recognizers can successfully match symbols in this configuration.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions