diff options
Diffstat (limited to 'clang/lib/Serialization/ASTWriterStmt.cpp')
| -rw-r--r-- | clang/lib/Serialization/ASTWriterStmt.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/clang/lib/Serialization/ASTWriterStmt.cpp b/clang/lib/Serialization/ASTWriterStmt.cpp index e66db435344..6f4abc44909 100644 --- a/clang/lib/Serialization/ASTWriterStmt.cpp +++ b/clang/lib/Serialization/ASTWriterStmt.cpp @@ -1835,11 +1835,9 @@ void ASTStmtWriter::VisitFunctionParmPackExpr(FunctionParmPackExpr *E) { void ASTStmtWriter::VisitMaterializeTemporaryExpr(MaterializeTemporaryExpr *E) { VisitExpr(E); - Record.push_back(static_cast<bool>(E->getLifetimeExtendedTemporaryDecl())); - if (E->getLifetimeExtendedTemporaryDecl()) - Record.AddDeclRef(E->getLifetimeExtendedTemporaryDecl()); - else - Record.AddStmt(E->getSubExpr()); + Record.AddStmt(E->getTemporary()); + Record.AddDeclRef(E->getExtendingDecl()); + Record.push_back(E->getManglingNumber()); Code = serialization::EXPR_MATERIALIZE_TEMPORARY; } |

