Disallow Archive::child_iterator that don't point to an archive.
[oota-llvm.git] / lib / Object / Archive.cpp
index 54ed954a90d9157b58df61359565fe4b4b507194..d03c328ae3b17ba1797f12f0f6a7d6222627c223 100644 (file)
@@ -207,7 +207,8 @@ ErrorOr<std::unique_ptr<Archive>> Archive::create(MemoryBufferRef Source) {
 }
 
 Archive::Archive(MemoryBufferRef Source, std::error_code &ec)
-    : Binary(Binary::ID_Archive, Source), SymbolTable(child_end()) {
+    : Binary(Binary::ID_Archive, Source), SymbolTable(child_end()),
+      StringTable(child_end()), FirstRegular(child_end()) {
   StringRef Buffer = Data.getBuffer();
   // Check for sufficient magic.
   if (Buffer.startswith(ThinMagic)) {