diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-04-17 00:16:09 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-04-17 00:16:09 +0000 |
commit | e24cbc0f4b692d295a8cbfed2ff519749728e4e8 (patch) | |
tree | 2f3c46c80b00e1a1b152a37b4462e64293cff2d8 /clang/lib/Frontend/PCHWriter.cpp | |
parent | 5c3285b6fb9a0a70ed0e839eabfff267ab03326a (diff) | |
download | bcm5719-llvm-e24cbc0f4b692d295a8cbfed2ff519749728e4e8.tar.gz bcm5719-llvm-e24cbc0f4b692d295a8cbfed2ff519749728e4e8.zip |
PCH support for while and continue statements
llvm-svn: 69332
Diffstat (limited to 'clang/lib/Frontend/PCHWriter.cpp')
-rw-r--r-- | clang/lib/Frontend/PCHWriter.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/clang/lib/Frontend/PCHWriter.cpp b/clang/lib/Frontend/PCHWriter.cpp index 8f09030ac80..0d514016692 100644 --- a/clang/lib/Frontend/PCHWriter.cpp +++ b/clang/lib/Frontend/PCHWriter.cpp @@ -453,6 +453,8 @@ namespace { void VisitDefaultStmt(DefaultStmt *S); void VisitIfStmt(IfStmt *S); void VisitSwitchStmt(SwitchStmt *S); + void VisitWhileStmt(WhileStmt *S); + void VisitContinueStmt(ContinueStmt *S); void VisitBreakStmt(BreakStmt *S); void VisitExpr(Expr *E); void VisitPredefinedExpr(PredefinedExpr *E); @@ -550,6 +552,20 @@ void PCHStmtWriter::VisitSwitchStmt(SwitchStmt *S) { Code = pch::STMT_SWITCH; } +void PCHStmtWriter::VisitWhileStmt(WhileStmt *S) { + VisitStmt(S); + Writer.WriteSubStmt(S->getCond()); + Writer.WriteSubStmt(S->getBody()); + Writer.AddSourceLocation(S->getWhileLoc(), Record); + Code = pch::STMT_WHILE; +} + +void PCHStmtWriter::VisitContinueStmt(ContinueStmt *S) { + VisitStmt(S); + Writer.AddSourceLocation(S->getContinueLoc(), Record); + Code = pch::STMT_CONTINUE; +} + void PCHStmtWriter::VisitBreakStmt(BreakStmt *S) { VisitStmt(S); Writer.AddSourceLocation(S->getBreakLoc(), Record); |