Fix lots of PCH crashes caused by the new assertions in
llvm::SmallVector, using data() instead of &[0]. The PCH testsuite now
runs cleanly (again).
llvm-svn: 72292
diff --git a/clang/lib/Frontend/PCHReaderStmt.cpp b/clang/lib/Frontend/PCHReaderStmt.cpp
index 03c5d25..10059f6 100644
--- a/clang/lib/Frontend/PCHReaderStmt.cpp
+++ b/clang/lib/Frontend/PCHReaderStmt.cpp
@@ -274,7 +274,8 @@
for (unsigned N = Record.size(); Idx != N; ++Idx)
Decls.push_back(Reader.GetDecl(Record[Idx]));
S->setDeclGroup(DeclGroupRef(DeclGroup::Create(*Reader.getContext(),
- &Decls[0], Decls.size())));
+ Decls.data(),
+ Decls.size())));
}
return 0;
}
@@ -369,7 +370,7 @@
// Read string data
llvm::SmallVector<char, 16> Str(&Record[Idx], &Record[Idx] + Len);
- E->setStrData(*Reader.getContext(), &Str[0], Len);
+ E->setStrData(*Reader.getContext(), Str.data(), Len);
Idx += Len;
// Read source locations
@@ -585,7 +586,7 @@
}
}
}
- E->setDesignators(&Designators[0], Designators.size());
+ E->setDesignators(Designators.data(), Designators.size());
return NumSubExprs;
}