[llvm] a46c5ee - [NFC][Support] Refactor bracket parsing in GlobPattern (#202848)

via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 9 22:53:06 PDT 2026


Author: Vitaly Buka
Date: 2026-06-10T05:53:01Z
New Revision: a46c5ee4eb7f5dadc38dabb9481564a9b74687c2

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

LOG: [NFC][Support] Refactor bracket parsing in GlobPattern (#202848)

Extract BitVector from Expected before flipping to
prepare for future modifications.

Assisted-by: Gemini

Added: 
    

Modified: 
    llvm/lib/Support/GlobPattern.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Support/GlobPattern.cpp b/llvm/lib/Support/GlobPattern.cpp
index 2715229c65be1..39552060ac406 100644
--- a/llvm/lib/Support/GlobPattern.cpp
+++ b/llvm/lib/Support/GlobPattern.cpp
@@ -228,13 +228,15 @@ GlobPattern::SubGlobPattern::create(StringRef S) {
                                        errc::invalid_argument);
       StringRef Chars = S.substr(I, J - I);
       bool Invert = S[I] == '^' || S[I] == '!';
-      Expected<BitVector> BV =
-          Invert ? expand(Chars.substr(1), S) : expand(Chars, S);
-      if (!BV)
-        return BV.takeError();
       if (Invert)
-        BV->flip();
-      Pat.Brackets.push_back(Bracket{J + 1, std::move(*BV)});
+        Chars = Chars.drop_front();
+      Expected<BitVector> BVOrErr = expand(Chars, S);
+      if (!BVOrErr)
+        return BVOrErr.takeError();
+      BitVector &BV = *BVOrErr;
+      if (Invert)
+        BV.flip();
+      Pat.Brackets.push_back(Bracket{J + 1, std::move(BV)});
       I = J;
     } else if (S[I] == '\\') {
       if (++I == E)


        


More information about the llvm-commits mailing list