mirror of
https://github.com/intel/llvm.git
synced 2026-01-25 10:55:58 +08:00
PR13619: Make sure we're not at EOF before looking at NextToken().
llvm-svn: 162212
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -89,3 +89,6 @@ void test3() {
|
||||
// expected-error {{expected expression}} \
|
||||
// expected-error {{expected unqualified-id}}
|
||||
}
|
||||
|
||||
// PR13619. Must be at end of file.
|
||||
int n = reinterpret_cast // expected-error {{expected '<'}} expected-error {{expected ';'}}
|
||||
|
||||
Reference in New Issue
Block a user