llvm-project/lldb
Eugene Zemtsov a633ee6e4a 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
2017-04-06 22:36:02 +00:00
..
cmake CMake requires normalized paths when appending. 2017-03-17 16:33:37 +00:00
docs Fix a race condition in FuncUnwinders where the mutex was being 2017-02-24 03:35:46 +00:00
examples Print the error if dsymForUUID sometimes produces bad plists. 2017-03-28 23:25:34 +00:00
include/lldb iwyu fixes for lldbCore. 2017-04-06 21:28:29 +00:00
lit [test] Fix finding LLDB tools when building stand-alone 2017-02-19 22:11:38 +00:00
lldb.xcodeproj New C++ function name parsing logic (Resubmit) 2017-04-06 22:36:02 +00:00
lldb.xcworkspace Revert r275223, which committed the wrong thing. 2016-07-12 23:31:42 +00:00
packages/Python/lldbsuite XFAIL TestDataFormatterLibcxxVBool on Linux & Android 2017-04-06 18:15:43 +00:00
resources Bump the lldb version # in the xcode project files from 2016-03-15 04:36:11 +00:00
scripts [analyze deps] Show incoming and outgoing counts on island members. 2017-03-22 18:23:14 +00:00
source New C++ function name parsing logic (Resubmit) 2017-04-06 22:36:02 +00:00
test [CMake] Override debugserver to use the build tree on Darwin 2017-03-14 20:04:46 +00:00
third_party/Python/module *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
tools iwyu fixes on lldbUtility. 2017-04-06 18:12:24 +00:00
unittests New C++ function name parsing logic (Resubmit) 2017-04-06 22:36:02 +00:00
utils *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
www Add support for sythetic operator dereference 2017-03-31 20:23:22 +00:00
.arcconfig Upgrade all the .arcconfigs to https. 2016-07-14 13:15:37 +00:00
.clang-format Updated .clang-format rules so bring LLDB in line with LLVM standards. 2016-09-06 17:19:00 +00:00
.gitignore test infra: clear file-charged issues on rerun of file 2016-10-01 00:17:08 +00:00
CMakeLists.txt Install six.py conditionally 2017-02-04 00:20:24 +00:00
CODE_OWNERS.txt Greg Clayton is no longer working at Apple, he will continue to 2017-03-01 00:00:45 +00:00
INSTALL.txt Changed builld-llvm.py to use .json files 2017-02-23 02:21:34 +00:00
LICENSE.TXT
use_lldb_suite_root.py *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00