diff options
| author | Douglas Gregor <dgregor@apple.com> | 2011-01-14 21:20:45 +0000 |
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2011-01-14 21:20:45 +0000 |
| commit | b884000ba92e5ed86fd0921c3f16548541be8c5f (patch) | |
| tree | 6b9fa3f9af9b588e21fb9d2486fce180e91fad25 /clang/lib/Serialization | |
| parent | fa38041dac44dff6b86b39981b2b7f9abcde574c (diff) | |
| download | bcm5719-llvm-b884000ba92e5ed86fd0921c3f16548541be8c5f.tar.gz bcm5719-llvm-b884000ba92e5ed86fd0921c3f16548541be8c5f.zip | |
Teach PackExpansionExpr to keep track of the number of pack expansions
it will expand to, if known. Propagate this information throughout Sema.
llvm-svn: 123470
Diffstat (limited to 'clang/lib/Serialization')
| -rw-r--r-- | clang/lib/Serialization/ASTReaderStmt.cpp | 1 | ||||
| -rw-r--r-- | clang/lib/Serialization/ASTWriterStmt.cpp | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Serialization/ASTReaderStmt.cpp b/clang/lib/Serialization/ASTReaderStmt.cpp index b0a1e4e475a..022b6194120 100644 --- a/clang/lib/Serialization/ASTReaderStmt.cpp +++ b/clang/lib/Serialization/ASTReaderStmt.cpp @@ -1294,6 +1294,7 @@ void ASTStmtReader::VisitCXXNoexceptExpr(CXXNoexceptExpr *E) { void ASTStmtReader::VisitPackExpansionExpr(PackExpansionExpr *E) { VisitExpr(E); E->EllipsisLoc = ReadSourceLocation(Record, Idx); + E->NumExpansions = Record[Idx++]; E->Pattern = Reader.ReadSubExpr(); } diff --git a/clang/lib/Serialization/ASTWriterStmt.cpp b/clang/lib/Serialization/ASTWriterStmt.cpp index c41cc1a7517..205f4dc2a96 100644 --- a/clang/lib/Serialization/ASTWriterStmt.cpp +++ b/clang/lib/Serialization/ASTWriterStmt.cpp @@ -1301,6 +1301,7 @@ void ASTStmtWriter::VisitCXXNoexceptExpr(CXXNoexceptExpr *E) { void ASTStmtWriter::VisitPackExpansionExpr(PackExpansionExpr *E) { VisitExpr(E); Writer.AddSourceLocation(E->getEllipsisLoc(), Record); + Record.push_back(E->NumExpansions); Writer.AddStmt(E->getPattern()); Code = serialization::EXPR_PACK_EXPANSION; } |

