================
@@ -3259,14 +3259,17 @@ class ExpressionParser {
void parse(int Precedence = 0) {
// Skip 'return' and ObjC selector colons as they are not part of a binary
// expression.
- while (Current && (Current->is(tok::kw_return) ||
- (Current->is(tok::colon) &&
- Current->isOneOf(TT_ObjCMethodExpr, TT_DictLiteral))))
{
+ while (Current && Current != RequiresClauseLimit &&
----------------
abdulm5 wrote:
Good point. I removed the two redundant checks at parse entry. Two boundary
checks remain: the loop condition prevents a new precedence walk from entering
the next declaration, while the check immediately after the recursive parse
stops the current precedence frame when a deeper call reaches the end. The
consecutive-requires regression exercises this path.
https://github.com/llvm/llvm-project/pull/220792
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits