diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2010-06-25 09:03:34 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2010-06-25 09:03:34 +0000 |
commit | bd65bb511c26549c96b829c1282e4c877588564a (patch) | |
tree | 8acd4b857c5c85b85292386f22baa0235f48e2f8 /lib/Frontend/PCHReaderStmt.cpp | |
parent | a77eb0862507b900a10fa352af1568e639ed10b1 (diff) |
Support UnresolvedLookupExpr for PCH.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106832 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Frontend/PCHReaderStmt.cpp')
-rw-r--r-- | lib/Frontend/PCHReaderStmt.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/Frontend/PCHReaderStmt.cpp b/lib/Frontend/PCHReaderStmt.cpp index d12f3ea4e9..fa2a4513d1 100644 --- a/lib/Frontend/PCHReaderStmt.cpp +++ b/lib/Frontend/PCHReaderStmt.cpp @@ -143,6 +143,7 @@ namespace { unsigned VisitOverloadExpr(OverloadExpr *E); unsigned VisitUnresolvedMemberExpr(UnresolvedMemberExpr *E); + unsigned VisitUnresolvedLookupExpr(UnresolvedLookupExpr *E); }; } @@ -1205,6 +1206,14 @@ unsigned PCHStmtReader::VisitUnresolvedMemberExpr(UnresolvedMemberExpr *E) { return 1; } +unsigned PCHStmtReader::VisitUnresolvedLookupExpr(UnresolvedLookupExpr *E) { + VisitOverloadExpr(E); + E->setRequiresADL(Record[Idx++]); + E->setOverloaded(Record[Idx++]); + E->setNamingClass(cast_or_null<CXXRecordDecl>(Reader.GetDecl(Record[Idx++]))); + return 0; +} + // Within the bitstream, expressions are stored in Reverse Polish // Notation, with each of the subexpressions preceding the @@ -1602,6 +1611,11 @@ Stmt *PCHReader::ReadStmt(llvm::BitstreamCursor &Cursor) { S = UnresolvedMemberExpr::CreateEmpty(*Context, /*NumTemplateArgs=*/Record[PCHStmtReader::NumExprFields]); break; + + case pch::EXPR_CXX_UNRESOLVED_LOOKUP: + S = UnresolvedLookupExpr::CreateEmpty(*Context, + /*NumTemplateArgs=*/Record[PCHStmtReader::NumExprFields]); + break; } // We hit a STMT_STOP, so we're done with this expression. |