diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-11-15 06:20:27 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-11-15 06:20:27 +0000 |
commit | 5938650b134da627a808888b673c62b10eb797cb (patch) | |
tree | b0a9394bebb7ae7dcb4c45ddee9cde5ac845d0bd /clang/lib/Serialization/ASTWriterStmt.cpp | |
parent | 233f12d9e295169656d63e3e35efdd4cb70e7e17 (diff) | |
download | bcm5719-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.cpp | 4 |
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; } //===----------------------------------------------------------------------===// |