Lines Matching full:archive
1 //===-- ArchiveReader.cpp - Read LLVM archive files -------------*- C++ -*-===//
10 // Builds up standard unix archive files (.a) containing LLVM bitcode.
36 // Completely parse the Archive's symbol table and populate symTab member var.
38 Archive::parseSymbolTable(const void* data, unsigned size, std::string* error) {
71 Archive::parseMemberHeader(const char*& At, const char* End, std::string* error)
79 // Cast archive member header
95 *error = "invalid member length in archive file";
239 Archive::checkSignature(std::string* error) {
243 *error = "invalid signature for an archive file";
249 // This function loads the entire archive and fully populates its ilist with
250 // the members of the archive file. This is typically used in preparation for
251 // editing the contents of the archive.
253 Archive::loadArchive(std::string* error) {
299 // This is the LLVM symbol table for the archive. If we've seen it
303 *error = "invalid archive: multiple symbol tables";
329 // Open and completely load the archive file.
330 Archive*
331 Archive::OpenAndLoad(const sys::Path& file, LLVMContext& C,
333 std::auto_ptr<Archive> result ( new Archive(file, C));
341 // Get all the bitcode modules from the archive
343 Archive::getAllModules(std::vector<Module*>& Modules,
365 // Load just the symbol table from the archive file
367 Archive::loadSymbolTable(std::string* ErrorMsg) {
375 // Make sure we're dealing with an archive
444 // Open the archive and load just the symbol tables
445 Archive* Archive::OpenAndLoadSymbols(const sys::Path& file,
448 std::auto_ptr<Archive> result ( new Archive(file, C) );
459 Archive::findModuleDefiningSymbol(const std::string& symbol,
473 firstFileOffset; // add offset to first "real" file in archive
506 Archive::findModulesDefiningSymbols(std::set<std::string>& symbols,
511 *error = "Empty archive invalid for finding modules defining symbols";
591 bool Archive::isBitcodeArchive() {
593 // done when the archive was constructed, but still, this is just in case.
602 // We still can't be sure it isn't a bitcode archive
609 // Scan the archive, trying to load a bitcode member. We only load one to
624 return false; // Couldn't parse bitcode, not a bitcode archive.