diff options
Diffstat (limited to 'clang/lib/Parse/ParseStmt.cpp')
-rw-r--r-- | clang/lib/Parse/ParseStmt.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/lib/Parse/ParseStmt.cpp b/clang/lib/Parse/ParseStmt.cpp index 4fdcf2a077f..907ca802b4a 100644 --- a/clang/lib/Parse/ParseStmt.cpp +++ b/clang/lib/Parse/ParseStmt.cpp @@ -90,6 +90,11 @@ Parser::ParseStatementOrDeclaration(bool OnlyStatement) { return ParseObjCAtStatement(AtLoc); } + case tok::code_completion: + Actions.CodeCompleteOrdinaryName(CurScope); + ConsumeToken(); + return ParseStatementOrDeclaration(OnlyStatement); + case tok::identifier: if (NextToken().is(tok::colon)) { // C99 6.8.1: labeled-statement // identifier ':' statement @@ -918,6 +923,11 @@ Parser::OwningStmtResult Parser::ParseForStatement() { OwningStmtResult FirstPart(Actions); OwningExprResult SecondPart(Actions), ThirdPart(Actions); + if (Tok.is(tok::code_completion)) { + Actions.CodeCompleteOrdinaryName(CurScope); + ConsumeToken(); + } + // Parse the first part of the for specifier. if (Tok.is(tok::semi)) { // for (; // no first part, eat the ';'. |