]> granicus.if.org Git - clang/commitdiff
Serialize InitListExpr's initializesStdInitializerList bit, so it's not left uninitia...
authorBenjamin Kramer <benny.kra@googlemail.com>
Mon, 27 Feb 2012 13:20:39 +0000 (13:20 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Mon, 27 Feb 2012 13:20:39 +0000 (13:20 +0000)
Found by valgrind.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151527 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Serialization/ASTReaderStmt.cpp
lib/Serialization/ASTWriterStmt.cpp

index 2d308fb030a58b72075a4ef323aaba08c4d2b6ab..c586dbfe738d2606d854b41d29382179e8ec89c6 100644 (file)
@@ -618,6 +618,7 @@ void ASTStmtReader::VisitInitListExpr(InitListExpr *E) {
   } else
     E->ArrayFillerOrUnionFieldInit = ReadDeclAs<FieldDecl>(Record, Idx);
   E->sawArrayRangeDesignator(Record[Idx++]);
+  E->setInitializesStdInitializerList(Record[Idx++]);
   unsigned NumInits = Record[Idx++];
   E->reserveInits(Reader.getContext(), NumInits);
   if (isArrayFiller) {
index f9c3c5de43b87f14bccd55cf8acc70d99eed1ff5..4f766d9b924565e5092fdd8d462a476427097996 100644 (file)
@@ -598,6 +598,7 @@ void ASTStmtWriter::VisitInitListExpr(InitListExpr *E) {
   else
     Writer.AddDeclRef(E->getInitializedFieldInUnion(), Record);
   Record.push_back(E->hadArrayRangeDesignator());
+  Record.push_back(E->initializesStdInitializerList());
   Record.push_back(E->getNumInits());
   if (isArrayFiller) {
     // ArrayFiller may have filled "holes" due to designated initializer.