[clang-tools-extra] 65c8e24 - [pseudo] Fix an invalid assertion on recoveryBrackets.

Haojian Wu via cfe-commits cfe-commits at lists.llvm.org
Thu Jul 21 05:02:22 PDT 2022


Author: Haojian Wu
Date: 2022-07-21T14:02:11+02:00
New Revision: 65c8e246222940b458b72dddf7158303ca33c2ba

URL: https://github.com/llvm/llvm-project/commit/65c8e246222940b458b72dddf7158303ca33c2ba
DIFF: https://github.com/llvm/llvm-project/commit/65c8e246222940b458b72dddf7158303ca33c2ba.diff

LOG: [pseudo] Fix an invalid assertion on recoveryBrackets.

The `Begin` is not the index of the left bracket, `Begin-1` is,
otherwise the assertion will be triggered on case `Foo().call();`.

Added: 
    

Modified: 
    clang-tools-extra/pseudo/lib/cxx/CXX.cpp

Removed: 
    


################################################################################
diff  --git a/clang-tools-extra/pseudo/lib/cxx/CXX.cpp b/clang-tools-extra/pseudo/lib/cxx/CXX.cpp
index d6c056a25e365..4b78a67e0be0f 100644
--- a/clang-tools-extra/pseudo/lib/cxx/CXX.cpp
+++ b/clang-tools-extra/pseudo/lib/cxx/CXX.cpp
@@ -124,7 +124,7 @@ Token::Index recoverBrackets(Token::Index Begin, const TokenStream &Tokens) {
   assert(Left.Kind == tok::l_brace || Left.Kind == tok::l_paren ||
          Left.Kind == tok::l_square);
   if (const Token *Right = Left.pair()) {
-    assert(Tokens.index(*Right) > Begin);
+    assert(Tokens.index(*Right) > Begin - 1);
     return Tokens.index(*Right);
   }
   return Token::Invalid;


        


More information about the cfe-commits mailing list