diff options
author | Eugene Zemtsov <ezemtsov@google.com> | 2017-04-06 22:36:02 +0000 |
---|---|---|
committer | Eugene Zemtsov <ezemtsov@google.com> | 2017-04-06 22:36:02 +0000 |
commit | a633ee6e4a02e7326ebca396eb88024c009eab0d (patch) | |
tree | f10afcbf1a7abb487b2690a83013e15cd9b005cc /llvm/lib/CodeGen/CodeGenPrepare.cpp | |
parent | 6129887d21f068b7a965d394bc629ab374b31384 (diff) | |
download | bcm5719-llvm-a633ee6e4a02e7326ebca396eb88024c009eab0d.tar.gz bcm5719-llvm-a633ee6e4a02e7326ebca396eb88024c009eab0d.zip |
New C++ function name parsing logic (Resubmit)
Current implementation of CPlusPlusLanguage::MethodName::Parse() doesn't
get anywhere close to covering full extent of possible function declarations.
It causes incorrect behavior in avoid-stepping and sometimes messes
printing of thread backtrace.
This change implements more methodical parsing logic based on clang
lexer and simple recursive parser.
Examples:
void std::vector<Class, std::allocator<Class>>::_M_emplace_back_aux<Class const&>(Class const&)
void (*&std::_Any_data::_M_access<void (*)()>())()
Previous version of this change (D31451) was rolled back due to an issue
with Objective-C selectors being incorrectly recognized as a C++ identifier.
Differential Revision: https://reviews.llvm.org/D31451
llvm-svn: 299721
Diffstat (limited to 'llvm/lib/CodeGen/CodeGenPrepare.cpp')
0 files changed, 0 insertions, 0 deletions