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).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72292 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Frontend/PCHReaderStmt.cpp b/lib/Frontend/PCHReaderStmt.cpp
index 03c5d25..10059f6 100644
--- a/lib/Frontend/PCHReaderStmt.cpp
+++ b/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;
 }