diff options
Diffstat (limited to 'contrib/llvm/lib/Archive/ArchiveInternals.h')
-rw-r--r-- | contrib/llvm/lib/Archive/ArchiveInternals.h | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/contrib/llvm/lib/Archive/ArchiveInternals.h b/contrib/llvm/lib/Archive/ArchiveInternals.h deleted file mode 100644 index f6c87e8..0000000 --- a/contrib/llvm/lib/Archive/ArchiveInternals.h +++ /dev/null @@ -1,88 +0,0 @@ -//===-- lib/Archive/ArchiveInternals.h -------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// Internal implementation header for LLVM Archive files. -// -//===----------------------------------------------------------------------===// - -#ifndef LIB_ARCHIVE_ARCHIVEINTERNALS_H -#define LIB_ARCHIVE_ARCHIVEINTERNALS_H - -#include "llvm/ADT/StringExtras.h" -#include "llvm/Bitcode/Archive.h" -#include "llvm/Support/TimeValue.h" -#include <cstring> - -#define ARFILE_MAGIC "!<arch>\n" ///< magic string -#define ARFILE_MAGIC_LEN (sizeof(ARFILE_MAGIC)-1) ///< length of magic string -#define ARFILE_SVR4_SYMTAB_NAME "/ " ///< SVR4 symtab entry name -#define ARFILE_LLVM_SYMTAB_NAME "#_LLVM_SYM_TAB_#" ///< LLVM symtab entry name -#define ARFILE_BSD4_SYMTAB_NAME "__.SYMDEF SORTED" ///< BSD4 symtab entry name -#define ARFILE_STRTAB_NAME "// " ///< Name of string table -#define ARFILE_PAD "\n" ///< inter-file align padding -#define ARFILE_MEMBER_MAGIC "`\n" ///< fmag field magic # - -namespace llvm { - - class LLVMContext; - - /// The ArchiveMemberHeader structure is used internally for bitcode - /// archives. - /// The header precedes each file member in the archive. This structure is - /// defined using character arrays for direct and correct interpretation - /// regardless of the endianess of the machine that produced it. - /// @brief Archive File Member Header - class ArchiveMemberHeader { - /// @name Data - /// @{ - public: - char name[16]; ///< Name of the file member. - char date[12]; ///< File date, decimal seconds since Epoch - char uid[6]; ///< user id in ASCII decimal - char gid[6]; ///< group id in ASCII decimal - char mode[8]; ///< file mode in ASCII octal - char size[10]; ///< file size in ASCII decimal - char fmag[2]; ///< Always contains ARFILE_MAGIC_TERMINATOR - - /// @} - /// @name Methods - /// @{ - public: - void init() { - memset(name,' ',16); - memset(date,' ',12); - memset(uid,' ',6); - memset(gid,' ',6); - memset(mode,' ',8); - memset(size,' ',10); - fmag[0] = '`'; - fmag[1] = '\n'; - } - - bool checkSignature() const { - return 0 == memcmp(fmag, ARFILE_MEMBER_MAGIC,2); - } - }; - - // Get just the externally visible defined symbols from the bitcode - bool GetBitcodeSymbols(const sys::Path& fName, - LLVMContext& Context, - std::vector<std::string>& symbols, - std::string* ErrMsg); - - Module* GetBitcodeSymbols(const char *Buffer, unsigned Length, - const std::string& ModuleID, - LLVMContext& Context, - std::vector<std::string>& symbols, - std::string* ErrMsg); -} - -#endif - -// vim: sw=2 ai |