[all-commits] [llvm/llvm-project] 8016d6: [LLDB] CPlusPlusNameParser does not handles templa...
Shafik Yaghmour via All-commits
all-commits at lists.llvm.org
Fri Mar 27 14:47:07 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 8016d61e3cf4967dd28c8f6296cec685dadcaee6
https://github.com/llvm/llvm-project/commit/8016d61e3cf4967dd28c8f6296cec685dadcaee6
Author: shafik <syaghmour at apple.com>
Date: 2020-03-27 (Fri, 27 Mar 2020)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.cpp
M lldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp
Log Message:
-----------
[LLDB] CPlusPlusNameParser does not handles templated operator< properly
CPlusPlusNameParser is used in several places on of them is during IR execution and setting breakpoints to pull information C++ like the basename, the context and arguments.
Currently it does not handle templated operator< properly, because of idiosyncrasy is how clang generates debug info for these cases.
It uses clang::Lexer which will tokenize operator<<A::B> into:
tok::kw_operator
tok::lessless
tok::raw_identifier
Later on the parser in ConsumeOperator() does not handle this case properly and we end up failing to parse.
Differential Revision: https://reviews.llvm.org/D76168
More information about the All-commits
mailing list