summaryrefslogtreecommitdiffstats
path: root/clang/lib/Serialization/ASTWriterStmt.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-11-15 06:20:27 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-11-15 06:20:27 +0000
commit5938650b134da627a808888b673c62b10eb797cb (patch)
treeb0a9394bebb7ae7dcb4c45ddee9cde5ac845d0bd /clang/lib/Serialization/ASTWriterStmt.cpp
parent233f12d9e295169656d63e3e35efdd4cb70e7e17 (diff)
downloadbcm5719-llvm-5938650b134da627a808888b673c62b10eb797cb.tar.gz
bcm5719-llvm-5938650b134da627a808888b673c62b10eb797cb.zip
[PCH] When serializing an PseudoObjectExpr or AtomicExpr, the serialization code must be set
otherwise it will crash with asserts on or it will be written as null pointer. llvm-svn: 144626
Diffstat (limited to 'clang/lib/Serialization/ASTWriterStmt.cpp')
-rw-r--r--clang/lib/Serialization/ASTWriterStmt.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Serialization/ASTWriterStmt.cpp b/clang/lib/Serialization/ASTWriterStmt.cpp
index e25a20b3532..e3311e9d907 100644
--- a/clang/lib/Serialization/ASTWriterStmt.cpp
+++ b/clang/lib/Serialization/ASTWriterStmt.cpp
@@ -753,6 +753,8 @@ void ASTStmtWriter::VisitPseudoObjectExpr(PseudoObjectExpr *E) {
if (OpaqueValueExpr *OVE = dyn_cast<OpaqueValueExpr>(*i))
Writer.AddStmt(OVE->getSourceExpr());
}
+
+ Code = serialization::EXPR_PSEUDO_OBJECT;
}
void ASTStmtWriter::VisitAtomicExpr(AtomicExpr *E) {
@@ -768,6 +770,8 @@ void ASTStmtWriter::VisitAtomicExpr(AtomicExpr *E) {
}
Writer.AddSourceLocation(E->getBuiltinLoc(), Record);
Writer.AddSourceLocation(E->getRParenLoc(), Record);
+
+ Code = serialization::EXPR_ATOMIC;
}
//===----------------------------------------------------------------------===//
OpenPOWER on IntegriCloud