diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2021-12-02 21:49:08 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2022-05-14 11:43:49 +0000 |
commit | 4824e7fd18a1223177218d4aec1b3c6c5c4a444e (patch) | |
tree | 5ca6493b1b0bf6a41f257794c0116d5e50fbf37c /contrib/llvm-project/clang/lib/Format/FormatTokenLexer.cpp | |
parent | 5e801ac66d24704442eba426ed13c3effb8a34e7 (diff) | |
parent | f65dcba83ce5035ab88a85fe17628b447eb56e1b (diff) |
Diffstat (limited to 'contrib/llvm-project/clang/lib/Format/FormatTokenLexer.cpp')
-rw-r--r-- | contrib/llvm-project/clang/lib/Format/FormatTokenLexer.cpp | 49 |
1 files changed, 32 insertions, 17 deletions
diff --git a/contrib/llvm-project/clang/lib/Format/FormatTokenLexer.cpp b/contrib/llvm-project/clang/lib/Format/FormatTokenLexer.cpp index 8075756cca03..64fbd2d5d45b 100644 --- a/contrib/llvm-project/clang/lib/Format/FormatTokenLexer.cpp +++ b/contrib/llvm-project/clang/lib/Format/FormatTokenLexer.cpp @@ -37,27 +37,40 @@ FormatTokenLexer::FormatTokenLexer( getFormattingLangOpts(Style))); Lex->SetKeepWhitespaceMode(true); - for (const std::string &ForEachMacro : Style.ForEachMacros) - Macros.insert({&IdentTable.get(ForEachMacro), TT_ForEachMacro}); - for (const std::string &IfMacro : Style.IfMacros) - Macros.insert({&IdentTable.get(IfMacro), TT_IfMacro}); - for (const std::string &AttributeMacro : Style.AttributeMacros) - Macros.insert({&IdentTable.get(AttributeMacro), TT_AttributeMacro}); - for (const std::string &StatementMacro : Style.StatementMacros) - Macros.insert({&IdentTable.get(StatementMacro), TT_StatementMacro}); - for (const std::string &TypenameMacro : Style.TypenameMacros) - Macros.insert({&IdentTable.get(TypenameMacro), TT_TypenameMacro}); - for (const std::string &NamespaceMacro : Style.NamespaceMacros) - Macros.insert({&IdentTable.get(NamespaceMacro), TT_NamespaceMacro}); + for (const std::string &ForEachMacro : Style.ForEachMacros) { + auto Identifier = &IdentTable.get(ForEachMacro); + Macros.insert({Identifier, TT_ForEachMacro}); + } + for (const std::string &IfMacro : Style.IfMacros) { + auto Identifier = &IdentTable.get(IfMacro); + Macros.insert({Identifier, TT_IfMacro}); + } + for (const std::string &AttributeMacro : Style.AttributeMacros) { + auto Identifier = &IdentTable.get(AttributeMacro); + Macros.insert({Identifier, TT_AttributeMacro}); + } + for (const std::string &StatementMacro : Style.StatementMacros) { + auto Identifier = &IdentTable.get(StatementMacro); + Macros.insert({Identifier, TT_StatementMacro}); + } + for (const std::string &TypenameMacro : Style.TypenameMacros) { + auto Identifier = &IdentTable.get(TypenameMacro); + Macros.insert({Identifier, TT_TypenameMacro}); + } + for (const std::string &NamespaceMacro : Style.NamespaceMacros) { + auto Identifier = &IdentTable.get(NamespaceMacro); + Macros.insert({Identifier, TT_NamespaceMacro}); + } for (const std::string &WhitespaceSensitiveMacro : Style.WhitespaceSensitiveMacros) { - Macros.insert( - {&IdentTable.get(WhitespaceSensitiveMacro), TT_UntouchableMacroFunc}); + auto Identifier = &IdentTable.get(WhitespaceSensitiveMacro); + Macros.insert({Identifier, TT_UntouchableMacroFunc}); } for (const std::string &StatementAttributeLikeMacro : - Style.StatementAttributeLikeMacros) - Macros.insert({&IdentTable.get(StatementAttributeLikeMacro), - TT_StatementAttributeLikeMacro}); + Style.StatementAttributeLikeMacros) { + auto Identifier = &IdentTable.get(StatementAttributeLikeMacro); + Macros.insert({Identifier, TT_StatementAttributeLikeMacro}); + } } ArrayRef<FormatToken *> FormatTokenLexer::lex() { @@ -739,6 +752,8 @@ bool FormatTokenLexer::tryMerge_TMacro() { Tokens.pop_back(); Tokens.pop_back(); Tokens.back() = String; + if (FirstInLineIndex >= Tokens.size()) + FirstInLineIndex = Tokens.size() - 1; return true; } |