aboutsummaryrefslogtreecommitdiff
path: root/lib/Frontend
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Frontend')
-rw-r--r--lib/Frontend/PCHReaderStmt.cpp3
-rw-r--r--lib/Frontend/PCHWriterStmt.cpp3
2 files changed, 6 insertions, 0 deletions
diff --git a/lib/Frontend/PCHReaderStmt.cpp b/lib/Frontend/PCHReaderStmt.cpp
index 2daedbf0c3..a729003a99 100644
--- a/lib/Frontend/PCHReaderStmt.cpp
+++ b/lib/Frontend/PCHReaderStmt.cpp
@@ -147,6 +147,8 @@ unsigned PCHStmtReader::VisitCaseStmt(CaseStmt *S) {
S->setRHS(cast_or_null<Expr>(StmtStack[StmtStack.size() - 2]));
S->setSubStmt(StmtStack.back());
S->setCaseLoc(SourceLocation::getFromRawEncoding(Record[Idx++]));
+ S->setEllipsisLoc(SourceLocation::getFromRawEncoding(Record[Idx++]));
+ S->setColonLoc(SourceLocation::getFromRawEncoding(Record[Idx++]));
return 3;
}
@@ -154,6 +156,7 @@ unsigned PCHStmtReader::VisitDefaultStmt(DefaultStmt *S) {
VisitSwitchCase(S);
S->setSubStmt(StmtStack.back());
S->setDefaultLoc(SourceLocation::getFromRawEncoding(Record[Idx++]));
+ S->setColonLoc(SourceLocation::getFromRawEncoding(Record[Idx++]));
return 1;
}
diff --git a/lib/Frontend/PCHWriterStmt.cpp b/lib/Frontend/PCHWriterStmt.cpp
index 783cd568b6..575e8430ce 100644
--- a/lib/Frontend/PCHWriterStmt.cpp
+++ b/lib/Frontend/PCHWriterStmt.cpp
@@ -140,6 +140,8 @@ void PCHStmtWriter::VisitCaseStmt(CaseStmt *S) {
Writer.WriteSubStmt(S->getRHS());
Writer.WriteSubStmt(S->getSubStmt());
Writer.AddSourceLocation(S->getCaseLoc(), Record);
+ Writer.AddSourceLocation(S->getEllipsisLoc(), Record);
+ Writer.AddSourceLocation(S->getColonLoc(), Record);
Code = pch::STMT_CASE;
}
@@ -147,6 +149,7 @@ void PCHStmtWriter::VisitDefaultStmt(DefaultStmt *S) {
VisitSwitchCase(S);
Writer.WriteSubStmt(S->getSubStmt());
Writer.AddSourceLocation(S->getDefaultLoc(), Record);
+ Writer.AddSourceLocation(S->getColonLoc(), Record);
Code = pch::STMT_DEFAULT;
}