diff options
author | Chris Lattner <sabre@nondot.org> | 2010-05-09 06:40:08 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-05-09 06:40:08 +0000 |
commit | 030854b95f7bfd86aaa8afd9ae1aff9768a37e9a (patch) | |
tree | 691c8cd1a296c9461e34eabc9b6c882410a33022 /lib/Frontend/PCHWriterStmt.cpp | |
parent | 2fbdfcdf3bbf7b941853d38b123930755e837437 (diff) |
pch'ify default argument definitions and uses.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103376 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Frontend/PCHWriterStmt.cpp')
-rw-r--r-- | lib/Frontend/PCHWriterStmt.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/Frontend/PCHWriterStmt.cpp b/lib/Frontend/PCHWriterStmt.cpp index e042e77c6b..e64ebbe8a3 100644 --- a/lib/Frontend/PCHWriterStmt.cpp +++ b/lib/Frontend/PCHWriterStmt.cpp @@ -125,6 +125,7 @@ namespace { void VisitCXXTypeidExpr(CXXTypeidExpr *E); void VisitCXXThisExpr(CXXThisExpr *E); void VisitCXXThrowExpr(CXXThrowExpr *E); + void VisitCXXDefaultArgExpr(CXXDefaultArgExpr *E); }; } @@ -934,11 +935,25 @@ void PCHStmtWriter::VisitCXXThisExpr(CXXThisExpr *E) { } void PCHStmtWriter::VisitCXXThrowExpr(CXXThrowExpr *E) { + VisitExpr(E); Writer.AddSourceLocation(E->getThrowLoc(), Record); Writer.WriteSubStmt(E->getSubExpr()); Code = pch::EXPR_CXX_THROW; } +void PCHStmtWriter::VisitCXXDefaultArgExpr(CXXDefaultArgExpr *E) { + VisitExpr(E); + Writer.AddSourceLocation(E->getUsedLocation(), Record); + if (E->isExprStored()) { + Record.push_back(1); + Writer.WriteSubStmt(E->getExpr()); + } else { + Record.push_back(0); + } + + Code = pch::EXPR_CXX_DEFAULT_ARG; +} + //===----------------------------------------------------------------------===// // PCHWriter Implementation |