diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-04-15 22:19:53 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-04-15 22:19:53 +0000 |
commit | cb2ca73c1d7e76cc1358ce51457d2d5837d84f9b (patch) | |
tree | 2171f3f1ebd67f9ef9965ae508c935221b5f5887 /lib/Frontend/PCHWriter.cpp | |
parent | c2f4c34ed8f79b4136f2c03e41ce3ea0c781bc9a (diff) |
PCH support for ImaginaryLiteral and ArraySubscriptExpr
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69233 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Frontend/PCHWriter.cpp')
-rw-r--r-- | lib/Frontend/PCHWriter.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/Frontend/PCHWriter.cpp b/lib/Frontend/PCHWriter.cpp index 3fb7a1b3aa..a5eba4e67c 100644 --- a/lib/Frontend/PCHWriter.cpp +++ b/lib/Frontend/PCHWriter.cpp @@ -448,11 +448,13 @@ namespace { void VisitDeclRefExpr(DeclRefExpr *E); void VisitIntegerLiteral(IntegerLiteral *E); void VisitFloatingLiteral(FloatingLiteral *E); + void VisitImaginaryLiteral(ImaginaryLiteral *E); void VisitStringLiteral(StringLiteral *E); void VisitCharacterLiteral(CharacterLiteral *E); void VisitParenExpr(ParenExpr *E); void VisitUnaryOperator(UnaryOperator *E); void VisitSizeOfAlignOfExpr(SizeOfAlignOfExpr *E); + void VisitArraySubscriptExpr(ArraySubscriptExpr *E); void VisitCallExpr(CallExpr *E); void VisitMemberExpr(MemberExpr *E); void VisitCastExpr(CastExpr *E); @@ -498,6 +500,12 @@ void PCHStmtWriter::VisitFloatingLiteral(FloatingLiteral *E) { Code = pch::EXPR_FLOATING_LITERAL; } +void PCHStmtWriter::VisitImaginaryLiteral(ImaginaryLiteral *E) { + VisitExpr(E); + Writer.WriteSubExpr(E->getSubExpr()); + Code = pch::EXPR_IMAGINARY_LITERAL; +} + void PCHStmtWriter::VisitStringLiteral(StringLiteral *E) { VisitExpr(E); Record.push_back(E->getByteLength()); @@ -552,6 +560,14 @@ void PCHStmtWriter::VisitSizeOfAlignOfExpr(SizeOfAlignOfExpr *E) { Code = pch::EXPR_SIZEOF_ALIGN_OF; } +void PCHStmtWriter::VisitArraySubscriptExpr(ArraySubscriptExpr *E) { + VisitExpr(E); + Writer.WriteSubExpr(E->getLHS()); + Writer.WriteSubExpr(E->getRHS()); + Writer.AddSourceLocation(E->getRBracketLoc(), Record); + Code = pch::EXPR_ARRAY_SUBSCRIPT; +} + void PCHStmtWriter::VisitCallExpr(CallExpr *E) { VisitExpr(E); Record.push_back(E->getNumArgs()); |