|
@@ -926,10 +926,11 @@ ExprResult Parser::ParseCXXCasts() {
|
|
|
|
|
|
// Check for "<::" which is parsed as "[:". If found, fix token stream,
|
|
|
// diagnose error, suggest fix, and recover parsing.
|
|
|
- Token Next = NextToken();
|
|
|
- if (Tok.is(tok::l_square) && Tok.getLength() == 2 && Next.is(tok::colon) &&
|
|
|
- areTokensAdjacent(Tok, Next))
|
|
|
- FixDigraph(*this, PP, Tok, Next, Kind, /*AtDigraph*/true);
|
|
|
+ if (Tok.is(tok::l_square) && Tok.getLength() == 2) {
|
|
|
+ Token Next = NextToken();
|
|
|
+ if (Next.is(tok::colon) && areTokensAdjacent(Tok, Next))
|
|
|
+ FixDigraph(*this, PP, Tok, Next, Kind, /*AtDigraph*/true);
|
|
|
+ }
|
|
|
|
|
|
if (ExpectAndConsume(tok::less, diag::err_expected_less_after, CastName))
|
|
|
return ExprError();
|