Don't use 'using std::error_code' in include/llvm.

This should make sure that most new uses use the std prefix.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210835 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola 2014-06-12 21:46:39 +00:00
parent 7418e1f4bd
commit 5c792faa0e
107 changed files with 692 additions and 563 deletions

View File

@ -21,7 +21,6 @@
#include "llvm/Support/Memory.h"
namespace llvm {
/// This is a simple memory manager which implements the methods called by
/// the RuntimeDyld class to allocate memory for section-based loading of
/// objects, usually those generated by the MCJIT execution engine.
@ -93,8 +92,8 @@ private:
uint8_t *allocateSection(MemoryGroup &MemGroup, uintptr_t Size,
unsigned Alignment);
error_code applyMemoryGroupPermissions(MemoryGroup &MemGroup,
unsigned Permissions);
std::error_code applyMemoryGroupPermissions(MemoryGroup &MemGroup,
unsigned Permissions);
MemoryGroup CodeMem;
MemoryGroup RWDataMem;

View File

@ -21,7 +21,6 @@
#include <system_error>
namespace llvm {
using std::error_code;
class Function;
class GlobalValue;
class Module;
@ -43,7 +42,7 @@ public:
/// Make sure the given GlobalValue is fully read.
///
virtual error_code Materialize(GlobalValue *GV) = 0;
virtual std::error_code Materialize(GlobalValue *GV) = 0;
/// If the given GlobalValue is read in, and if the GVMaterializer supports
/// it, release the memory for the GV, and set it up to be materialized
@ -54,7 +53,7 @@ public:
/// Make sure the entire Module has been completely read.
///
virtual error_code MaterializeModule(Module *M) = 0;
virtual std::error_code MaterializeModule(Module *M) = 0;
};
} // End llvm namespace

View File

@ -26,7 +26,6 @@
#include <system_error>
namespace llvm {
class FunctionType;
class GVMaterializer;
class LLVMContext;
@ -454,12 +453,12 @@ public:
void Dematerialize(GlobalValue *GV);
/// Make sure all GlobalValues in this Module are fully read.
error_code materializeAll();
std::error_code materializeAll();
/// Make sure all GlobalValues in this Module are fully read and clear the
/// Materializer. If the module is corrupt, this DOES NOT clear the old
/// Materializer.
error_code materializeAllPermanently();
std::error_code materializeAllPermanently();
/// @}
/// @name Direct access to the globals list, functions list, and symbol table

View File

@ -72,7 +72,7 @@ public:
Child getNext() const;
error_code getName(StringRef &Result) const;
std::error_code getName(StringRef &Result) const;
StringRef getRawName() const { return getHeader()->getName(); }
sys::TimeValue getLastModified() const {
return getHeader()->getLastModified();
@ -89,11 +89,11 @@ public:
return StringRef(Data.data() + StartOfFile, getSize());
}
error_code getMemoryBuffer(std::unique_ptr<MemoryBuffer> &Result,
bool FullPath = false) const;
std::error_code getMemoryBuffer(std::unique_ptr<MemoryBuffer> &Result,
bool FullPath = false) const;
error_code getAsBinary(std::unique_ptr<Binary> &Result,
LLVMContext *Context = nullptr) const;
std::error_code getAsBinary(std::unique_ptr<Binary> &Result,
LLVMContext *Context = nullptr) const;
};
class child_iterator {
@ -137,8 +137,8 @@ public:
: Parent(p)
, SymbolIndex(symi)
, StringIndex(stri) {}
error_code getName(StringRef &Result) const;
error_code getMember(child_iterator &Result) const;
std::error_code getName(StringRef &Result) const;
std::error_code getMember(child_iterator &Result) const;
Symbol getNext() const;
};
@ -164,7 +164,7 @@ public:
}
};
Archive(MemoryBuffer *source, error_code &ec);
Archive(MemoryBuffer *source, std::error_code &ec);
static ErrorOr<Archive *> create(MemoryBuffer *Source);
enum Kind {

View File

@ -353,65 +353,75 @@ private:
uint32_t NumberOfImportDirectory;
const export_directory_table_entry *ExportDirectory;
error_code getString(uint32_t offset, StringRef &Res) const;
std::error_code getString(uint32_t offset, StringRef &Res) const;
const coff_symbol *toSymb(DataRefImpl Symb) const;
const coff_section *toSec(DataRefImpl Sec) const;
const coff_relocation *toRel(DataRefImpl Rel) const;
error_code initSymbolTablePtr();
error_code initImportTablePtr();
error_code initExportTablePtr();
std::error_code initSymbolTablePtr();
std::error_code initImportTablePtr();
std::error_code initExportTablePtr();
protected:
void moveSymbolNext(DataRefImpl &Symb) const override;
error_code getSymbolName(DataRefImpl Symb, StringRef &Res) const override;
error_code getSymbolAddress(DataRefImpl Symb, uint64_t &Res) const override;
error_code getSymbolSize(DataRefImpl Symb, uint64_t &Res) const override;
std::error_code getSymbolName(DataRefImpl Symb,
StringRef &Res) const override;
std::error_code getSymbolAddress(DataRefImpl Symb,
uint64_t &Res) const override;
std::error_code getSymbolSize(DataRefImpl Symb, uint64_t &Res) const override;
uint32_t getSymbolFlags(DataRefImpl Symb) const override;
error_code getSymbolType(DataRefImpl Symb,
SymbolRef::Type &Res) const override;
error_code getSymbolSection(DataRefImpl Symb,
section_iterator &Res) const override;
std::error_code getSymbolType(DataRefImpl Symb,
SymbolRef::Type &Res) const override;
std::error_code getSymbolSection(DataRefImpl Symb,
section_iterator &Res) const override;
void moveSectionNext(DataRefImpl &Sec) const override;
error_code getSectionName(DataRefImpl Sec, StringRef &Res) const override;
error_code getSectionAddress(DataRefImpl Sec, uint64_t &Res) const override;
error_code getSectionSize(DataRefImpl Sec, uint64_t &Res) const override;
error_code getSectionContents(DataRefImpl Sec, StringRef &Res) const override;
error_code getSectionAlignment(DataRefImpl Sec, uint64_t &Res) const override;
error_code isSectionText(DataRefImpl Sec, bool &Res) const override;
error_code isSectionData(DataRefImpl Sec, bool &Res) const override;
error_code isSectionBSS(DataRefImpl Sec, bool &Res) const override;
error_code isSectionVirtual(DataRefImpl Sec, bool &Res) const override;
error_code isSectionZeroInit(DataRefImpl Sec, bool &Res) const override;
error_code isSectionReadOnlyData(DataRefImpl Sec, bool &Res) const override;
error_code isSectionRequiredForExecution(DataRefImpl Sec,
bool &Res) const override;
error_code sectionContainsSymbol(DataRefImpl Sec, DataRefImpl Symb,
bool &Result) const override;
std::error_code getSectionName(DataRefImpl Sec,
StringRef &Res) const override;
std::error_code getSectionAddress(DataRefImpl Sec,
uint64_t &Res) const override;
std::error_code getSectionSize(DataRefImpl Sec, uint64_t &Res) const override;
std::error_code getSectionContents(DataRefImpl Sec,
StringRef &Res) const override;
std::error_code getSectionAlignment(DataRefImpl Sec,
uint64_t &Res) const override;
std::error_code isSectionText(DataRefImpl Sec, bool &Res) const override;
std::error_code isSectionData(DataRefImpl Sec, bool &Res) const override;
std::error_code isSectionBSS(DataRefImpl Sec, bool &Res) const override;
std::error_code isSectionVirtual(DataRefImpl Sec, bool &Res) const override;
std::error_code isSectionZeroInit(DataRefImpl Sec, bool &Res) const override;
std::error_code isSectionReadOnlyData(DataRefImpl Sec,
bool &Res) const override;
std::error_code isSectionRequiredForExecution(DataRefImpl Sec,
bool &Res) const override;
std::error_code sectionContainsSymbol(DataRefImpl Sec, DataRefImpl Symb,
bool &Result) const override;
relocation_iterator section_rel_begin(DataRefImpl Sec) const override;
relocation_iterator section_rel_end(DataRefImpl Sec) const override;
void moveRelocationNext(DataRefImpl &Rel) const override;
error_code getRelocationAddress(DataRefImpl Rel,
uint64_t &Res) const override;
error_code getRelocationOffset(DataRefImpl Rel, uint64_t &Res) const override;
std::error_code getRelocationAddress(DataRefImpl Rel,
uint64_t &Res) const override;
std::error_code getRelocationOffset(DataRefImpl Rel,
uint64_t &Res) const override;
symbol_iterator getRelocationSymbol(DataRefImpl Rel) const override;
error_code getRelocationType(DataRefImpl Rel, uint64_t &Res) const override;
error_code
std::error_code getRelocationType(DataRefImpl Rel,
uint64_t &Res) const override;
std::error_code
getRelocationTypeName(DataRefImpl Rel,
SmallVectorImpl<char> &Result) const override;
error_code
std::error_code
getRelocationValueString(DataRefImpl Rel,
SmallVectorImpl<char> &Result) const override;
error_code getLibraryNext(DataRefImpl LibData,
LibraryRef &Result) const override;
error_code getLibraryPath(DataRefImpl LibData,
StringRef &Result) const override;
std::error_code getLibraryNext(DataRefImpl LibData,
LibraryRef &Result) const override;
std::error_code getLibraryPath(DataRefImpl LibData,
StringRef &Result) const override;
public:
COFFObjectFile(MemoryBuffer *Object, error_code &EC, bool BufferOwned = true);
COFFObjectFile(MemoryBuffer *Object, std::error_code &EC,
bool BufferOwned = true);
basic_symbol_iterator symbol_begin_impl() const override;
basic_symbol_iterator symbol_end_impl() const override;
library_iterator needed_library_begin() const override;
@ -433,30 +443,33 @@ public:
export_directory_iterator export_directory_begin() const;
export_directory_iterator export_directory_end() const;
error_code getHeader(const coff_file_header *&Res) const;
error_code getCOFFHeader(const coff_file_header *&Res) const;
error_code getPE32Header(const pe32_header *&Res) const;
error_code getPE32PlusHeader(const pe32plus_header *&Res) const;
error_code getDataDirectory(uint32_t index, const data_directory *&Res) const;
error_code getSection(int32_t index, const coff_section *&Res) const;
error_code getSymbol(uint32_t index, const coff_symbol *&Res) const;
std::error_code getHeader(const coff_file_header *&Res) const;
std::error_code getCOFFHeader(const coff_file_header *&Res) const;
std::error_code getPE32Header(const pe32_header *&Res) const;
std::error_code getPE32PlusHeader(const pe32plus_header *&Res) const;
std::error_code getDataDirectory(uint32_t index,
const data_directory *&Res) const;
std::error_code getSection(int32_t index, const coff_section *&Res) const;
std::error_code getSymbol(uint32_t index, const coff_symbol *&Res) const;
template <typename T>
error_code getAuxSymbol(uint32_t index, const T *&Res) const {
std::error_code getAuxSymbol(uint32_t index, const T *&Res) const {
const coff_symbol *s;
error_code ec = getSymbol(index, s);
std::error_code ec = getSymbol(index, s);
Res = reinterpret_cast<const T *>(s);
return ec;
}
error_code getSymbolName(const coff_symbol *symbol, StringRef &Res) const;
std::error_code getSymbolName(const coff_symbol *symbol,
StringRef &Res) const;
ArrayRef<uint8_t> getSymbolAuxData(const coff_symbol *symbol) const;
error_code getSectionName(const coff_section *Sec, StringRef &Res) const;
error_code getSectionContents(const coff_section *Sec,
ArrayRef<uint8_t> &Res) const;
std::error_code getSectionName(const coff_section *Sec, StringRef &Res) const;
std::error_code getSectionContents(const coff_section *Sec,
ArrayRef<uint8_t> &Res) const;
error_code getVaPtr(uint64_t VA, uintptr_t &Res) const;
error_code getRvaPtr(uint32_t Rva, uintptr_t &Res) const;
error_code getHintName(uint32_t Rva, uint16_t &Hint, StringRef &Name) const;
std::error_code getVaPtr(uint64_t VA, uintptr_t &Res) const;
std::error_code getRvaPtr(uint32_t Rva, uintptr_t &Res) const;
std::error_code getHintName(uint32_t Rva, uint16_t &Hint,
StringRef &Name) const;
static inline bool classof(const Binary *v) { return v->isCOFF(); }
};
@ -471,12 +484,12 @@ public:
bool operator==(const ImportDirectoryEntryRef &Other) const;
void moveNext();
error_code getName(StringRef &Result) const;
std::error_code getName(StringRef &Result) const;
error_code
std::error_code
getImportTableEntry(const import_directory_table_entry *&Result) const;
error_code
std::error_code
getImportLookupEntry(const import_lookup_table_entry32 *&Result) const;
private:
@ -496,11 +509,11 @@ public:
bool operator==(const ExportDirectoryEntryRef &Other) const;
void moveNext();
error_code getDllName(StringRef &Result) const;
error_code getOrdinalBase(uint32_t &Result) const;
error_code getOrdinal(uint32_t &Result) const;
error_code getExportRVA(uint32_t &Result) const;
error_code getSymbolName(StringRef &Result) const;
std::error_code getDllName(StringRef &Result) const;
std::error_code getOrdinalBase(uint32_t &Result) const;
std::error_code getOrdinal(uint32_t &Result) const;
std::error_code getExportRVA(uint32_t &Result) const;
std::error_code getSymbolName(StringRef &Result) const;
private:
const export_directory_table_entry *ExportTable;

View File

@ -317,7 +317,7 @@ public:
std::pair<const Elf_Shdr *, const Elf_Sym *>
getRelocationSymbol(const Elf_Shdr *RelSec, const RelT *Rel) const;
ELFFile(MemoryBuffer *Object, error_code &ec);
ELFFile(MemoryBuffer *Object, std::error_code &ec);
bool isMipsELF64() const {
return Header->e_machine == ELF::EM_MIPS &&
@ -621,16 +621,11 @@ typename ELFFile<ELFT>::uintX_t ELFFile<ELFT>::getStringTableIndex() const {
}
template <class ELFT>
ELFFile<ELFT>::ELFFile(MemoryBuffer *Object, error_code &ec)
: Buf(Object),
SectionHeaderTable(nullptr),
dot_shstrtab_sec(nullptr),
dot_strtab_sec(nullptr),
dot_symtab_sec(nullptr),
SymbolTableSectionHeaderIndex(nullptr),
dot_gnu_version_sec(nullptr),
dot_gnu_version_r_sec(nullptr),
dot_gnu_version_d_sec(nullptr),
ELFFile<ELFT>::ELFFile(MemoryBuffer *Object, std::error_code &ec)
: Buf(Object), SectionHeaderTable(nullptr), dot_shstrtab_sec(nullptr),
dot_strtab_sec(nullptr), dot_symtab_sec(nullptr),
SymbolTableSectionHeaderIndex(nullptr), dot_gnu_version_sec(nullptr),
dot_gnu_version_r_sec(nullptr), dot_gnu_version_d_sec(nullptr),
dt_soname(nullptr) {
const uint64_t FileSize = Buf->getBufferSize();
@ -748,7 +743,7 @@ ELFFile<ELFT>::ELFFile(MemoryBuffer *Object, error_code &ec)
}
}
ec = error_code();
ec = std::error_code();
}
// Get the symbol table index in the symtab section given a symbol

View File

@ -57,50 +57,63 @@ protected:
ELFFile<ELFT> EF;
void moveSymbolNext(DataRefImpl &Symb) const override;
error_code getSymbolName(DataRefImpl Symb, StringRef &Res) const override;
error_code getSymbolAddress(DataRefImpl Symb, uint64_t &Res) const override;
error_code getSymbolAlignment(DataRefImpl Symb, uint32_t &Res) const override;
error_code getSymbolSize(DataRefImpl Symb, uint64_t &Res) const override;
std::error_code getSymbolName(DataRefImpl Symb,
StringRef &Res) const override;
std::error_code getSymbolAddress(DataRefImpl Symb,
uint64_t &Res) const override;
std::error_code getSymbolAlignment(DataRefImpl Symb,
uint32_t &Res) const override;
std::error_code getSymbolSize(DataRefImpl Symb, uint64_t &Res) const override;
uint32_t getSymbolFlags(DataRefImpl Symb) const override;
error_code getSymbolType(DataRefImpl Symb,
SymbolRef::Type &Res) const override;
error_code getSymbolSection(DataRefImpl Symb,
section_iterator &Res) const override;
std::error_code getSymbolType(DataRefImpl Symb,
SymbolRef::Type &Res) const override;
std::error_code getSymbolSection(DataRefImpl Symb,
section_iterator &Res) const override;
error_code getLibraryNext(DataRefImpl Data,
LibraryRef &Result) const override;
error_code getLibraryPath(DataRefImpl Data, StringRef &Res) const override;
std::error_code getLibraryNext(DataRefImpl Data,
LibraryRef &Result) const override;
std::error_code getLibraryPath(DataRefImpl Data,
StringRef &Res) const override;
void moveSectionNext(DataRefImpl &Sec) const override;
error_code getSectionName(DataRefImpl Sec, StringRef &Res) const override;
error_code getSectionAddress(DataRefImpl Sec, uint64_t &Res) const override;
error_code getSectionSize(DataRefImpl Sec, uint64_t &Res) const override;
error_code getSectionContents(DataRefImpl Sec, StringRef &Res) const override;
error_code getSectionAlignment(DataRefImpl Sec, uint64_t &Res) const override;
error_code isSectionText(DataRefImpl Sec, bool &Res) const override;
error_code isSectionData(DataRefImpl Sec, bool &Res) const override;
error_code isSectionBSS(DataRefImpl Sec, bool &Res) const override;
error_code isSectionRequiredForExecution(DataRefImpl Sec,
bool &Res) const override;
error_code isSectionVirtual(DataRefImpl Sec, bool &Res) const override;
error_code isSectionZeroInit(DataRefImpl Sec, bool &Res) const override;
error_code isSectionReadOnlyData(DataRefImpl Sec, bool &Res) const override;
error_code sectionContainsSymbol(DataRefImpl Sec, DataRefImpl Symb,
bool &Result) const override;
std::error_code getSectionName(DataRefImpl Sec,
StringRef &Res) const override;
std::error_code getSectionAddress(DataRefImpl Sec,
uint64_t &Res) const override;
std::error_code getSectionSize(DataRefImpl Sec, uint64_t &Res) const override;
std::error_code getSectionContents(DataRefImpl Sec,
StringRef &Res) const override;
std::error_code getSectionAlignment(DataRefImpl Sec,
uint64_t &Res) const override;
std::error_code isSectionText(DataRefImpl Sec, bool &Res) const override;
std::error_code isSectionData(DataRefImpl Sec, bool &Res) const override;
std::error_code isSectionBSS(DataRefImpl Sec, bool &Res) const override;
std::error_code isSectionRequiredForExecution(DataRefImpl Sec,
bool &Res) const override;
std::error_code isSectionVirtual(DataRefImpl Sec, bool &Res) const override;
std::error_code isSectionZeroInit(DataRefImpl Sec, bool &Res) const override;
std::error_code isSectionReadOnlyData(DataRefImpl Sec,
bool &Res) const override;
std::error_code sectionContainsSymbol(DataRefImpl Sec, DataRefImpl Symb,
bool &Result) const override;
relocation_iterator section_rel_begin(DataRefImpl Sec) const override;
relocation_iterator section_rel_end(DataRefImpl Sec) const override;
section_iterator getRelocatedSection(DataRefImpl Sec) const override;
void moveRelocationNext(DataRefImpl &Rel) const override;
error_code getRelocationAddress(DataRefImpl Rel,
uint64_t &Res) const override;
error_code getRelocationOffset(DataRefImpl Rel, uint64_t &Res) const override;
std::error_code getRelocationAddress(DataRefImpl Rel,
uint64_t &Res) const override;
std::error_code getRelocationOffset(DataRefImpl Rel,
uint64_t &Res) const override;
symbol_iterator getRelocationSymbol(DataRefImpl Rel) const override;
error_code getRelocationType(DataRefImpl Rel, uint64_t &Res) const override;
error_code getRelocationTypeName(DataRefImpl Rel,
SmallVectorImpl<char> &Result) const override;
error_code getRelocationValueString(DataRefImpl Rel,
SmallVectorImpl<char> &Result) const override;
std::error_code getRelocationType(DataRefImpl Rel,
uint64_t &Res) const override;
std::error_code
getRelocationTypeName(DataRefImpl Rel,
SmallVectorImpl<char> &Result) const override;
std::error_code
getRelocationValueString(DataRefImpl Rel,
SmallVectorImpl<char> &Result) const override;
uint64_t getROffset(DataRefImpl Rel) const;
StringRef getRelocationTypeName(uint32_t Type) const;
@ -164,7 +177,8 @@ protected:
bool isDyldELFObject;
public:
ELFObjectFile(MemoryBuffer *Object, error_code &EC, bool BufferOwned = true);
ELFObjectFile(MemoryBuffer *Object, std::error_code &EC,
bool BufferOwned = true);
const Elf_Sym *getSymbol(DataRefImpl Symb) const;
@ -180,10 +194,9 @@ public:
library_iterator needed_library_begin() const override;
library_iterator needed_library_end() const override;
error_code getRelocationAddend(DataRefImpl Rel, int64_t &Res) const;
error_code getSymbolVersion(SymbolRef Symb, StringRef &Version,
bool &IsDefault) const;
std::error_code getRelocationAddend(DataRefImpl Rel, int64_t &Res) const;
std::error_code getSymbolVersion(SymbolRef Symb, StringRef &Version,
bool &IsDefault) const;
uint8_t getBytesInAddress() const override;
StringRef getFileFormatName() const override;
@ -212,8 +225,8 @@ void ELFObjectFile<ELFT>::moveSymbolNext(DataRefImpl &Symb) const {
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::getSymbolName(DataRefImpl Symb,
StringRef &Result) const {
std::error_code ELFObjectFile<ELFT>::getSymbolName(DataRefImpl Symb,
StringRef &Result) const {
ErrorOr<StringRef> Name = EF.getSymbolName(toELFSymIter(Symb));
if (!Name)
return Name.getError();
@ -222,9 +235,9 @@ error_code ELFObjectFile<ELFT>::getSymbolName(DataRefImpl Symb,
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::getSymbolVersion(SymbolRef SymRef,
StringRef &Version,
bool &IsDefault) const {
std::error_code ELFObjectFile<ELFT>::getSymbolVersion(SymbolRef SymRef,
StringRef &Version,
bool &IsDefault) const {
DataRefImpl Symb = SymRef.getRawDataRefImpl();
const Elf_Sym *symb = getSymbol(Symb);
ErrorOr<StringRef> Ver =
@ -236,8 +249,8 @@ error_code ELFObjectFile<ELFT>::getSymbolVersion(SymbolRef SymRef,
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::getSymbolAddress(DataRefImpl Symb,
uint64_t &Result) const {
std::error_code ELFObjectFile<ELFT>::getSymbolAddress(DataRefImpl Symb,
uint64_t &Result) const {
const Elf_Sym *ESym = getSymbol(Symb);
switch (EF.getSymbolTableIndex(ESym)) {
case ELF::SHN_COMMON:
@ -265,8 +278,8 @@ error_code ELFObjectFile<ELFT>::getSymbolAddress(DataRefImpl Symb,
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::getSymbolAlignment(DataRefImpl Symb,
uint32_t &Res) const {
std::error_code ELFObjectFile<ELFT>::getSymbolAlignment(DataRefImpl Symb,
uint32_t &Res) const {
Elf_Sym_Iter Sym = toELFSymIter(Symb);
if (Sym->st_shndx == ELF::SHN_COMMON)
Res = Sym->st_value;
@ -276,15 +289,16 @@ error_code ELFObjectFile<ELFT>::getSymbolAlignment(DataRefImpl Symb,
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::getSymbolSize(DataRefImpl Symb,
uint64_t &Result) const {
std::error_code ELFObjectFile<ELFT>::getSymbolSize(DataRefImpl Symb,
uint64_t &Result) const {
Result = toELFSymIter(Symb)->st_size;
return object_error::success;
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::getSymbolType(DataRefImpl Symb,
SymbolRef::Type &Result) const {
std::error_code
ELFObjectFile<ELFT>::getSymbolType(DataRefImpl Symb,
SymbolRef::Type &Result) const {
const Elf_Sym *ESym = getSymbol(Symb);
switch (ESym->getType()) {
@ -343,8 +357,9 @@ uint32_t ELFObjectFile<ELFT>::getSymbolFlags(DataRefImpl Symb) const {
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::getSymbolSection(DataRefImpl Symb,
section_iterator &Res) const {
std::error_code
ELFObjectFile<ELFT>::getSymbolSection(DataRefImpl Symb,
section_iterator &Res) const {
const Elf_Sym *ESym = getSymbol(Symb);
const Elf_Shdr *ESec = EF.getSection(ESym);
if (!ESec)
@ -363,8 +378,8 @@ void ELFObjectFile<ELFT>::moveSectionNext(DataRefImpl &Sec) const {
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::getSectionName(DataRefImpl Sec,
StringRef &Result) const {
std::error_code ELFObjectFile<ELFT>::getSectionName(DataRefImpl Sec,
StringRef &Result) const {
ErrorOr<StringRef> Name = EF.getSectionName(&*toELFShdrIter(Sec));
if (!Name)
return Name.getError();
@ -373,44 +388,46 @@ error_code ELFObjectFile<ELFT>::getSectionName(DataRefImpl Sec,
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::getSectionAddress(DataRefImpl Sec,
uint64_t &Result) const {
std::error_code ELFObjectFile<ELFT>::getSectionAddress(DataRefImpl Sec,
uint64_t &Result) const {
Result = toELFShdrIter(Sec)->sh_addr;
return object_error::success;
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::getSectionSize(DataRefImpl Sec,
uint64_t &Result) const {
std::error_code ELFObjectFile<ELFT>::getSectionSize(DataRefImpl Sec,
uint64_t &Result) const {
Result = toELFShdrIter(Sec)->sh_size;
return object_error::success;
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::getSectionContents(DataRefImpl Sec,
StringRef &Result) const {
std::error_code
ELFObjectFile<ELFT>::getSectionContents(DataRefImpl Sec,
StringRef &Result) const {
Elf_Shdr_Iter EShdr = toELFShdrIter(Sec);
Result = StringRef((const char *)base() + EShdr->sh_offset, EShdr->sh_size);
return object_error::success;
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::getSectionAlignment(DataRefImpl Sec,
uint64_t &Result) const {
std::error_code
ELFObjectFile<ELFT>::getSectionAlignment(DataRefImpl Sec,
uint64_t &Result) const {
Result = toELFShdrIter(Sec)->sh_addralign;
return object_error::success;
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::isSectionText(DataRefImpl Sec,
bool &Result) const {
std::error_code ELFObjectFile<ELFT>::isSectionText(DataRefImpl Sec,
bool &Result) const {
Result = toELFShdrIter(Sec)->sh_flags & ELF::SHF_EXECINSTR;
return object_error::success;
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::isSectionData(DataRefImpl Sec,
bool &Result) const {
std::error_code ELFObjectFile<ELFT>::isSectionData(DataRefImpl Sec,
bool &Result) const {
Elf_Shdr_Iter EShdr = toELFShdrIter(Sec);
Result = EShdr->sh_flags & (ELF::SHF_ALLOC | ELF::SHF_WRITE) &&
EShdr->sh_type == ELF::SHT_PROGBITS;
@ -418,8 +435,8 @@ error_code ELFObjectFile<ELFT>::isSectionData(DataRefImpl Sec,
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::isSectionBSS(DataRefImpl Sec,
bool &Result) const {
std::error_code ELFObjectFile<ELFT>::isSectionBSS(DataRefImpl Sec,
bool &Result) const {
Elf_Shdr_Iter EShdr = toELFShdrIter(Sec);
Result = EShdr->sh_flags & (ELF::SHF_ALLOC | ELF::SHF_WRITE) &&
EShdr->sh_type == ELF::SHT_NOBITS;
@ -427,7 +444,7 @@ error_code ELFObjectFile<ELFT>::isSectionBSS(DataRefImpl Sec,
}
template <class ELFT>
error_code
std::error_code
ELFObjectFile<ELFT>::isSectionRequiredForExecution(DataRefImpl Sec,
bool &Result) const {
Result = toELFShdrIter(Sec)->sh_flags & ELF::SHF_ALLOC;
@ -435,31 +452,31 @@ ELFObjectFile<ELFT>::isSectionRequiredForExecution(DataRefImpl Sec,
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::isSectionVirtual(DataRefImpl Sec,
bool &Result) const {
Result = toELFShdrIter(Sec)->sh_type == ELF::SHT_NOBITS;
return object_error::success;
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::isSectionZeroInit(DataRefImpl Sec,
bool &Result) const {
Result = toELFShdrIter(Sec)->sh_type == ELF::SHT_NOBITS;
return object_error::success;
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::isSectionReadOnlyData(DataRefImpl Sec,
std::error_code ELFObjectFile<ELFT>::isSectionVirtual(DataRefImpl Sec,
bool &Result) const {
Result = toELFShdrIter(Sec)->sh_type == ELF::SHT_NOBITS;
return object_error::success;
}
template <class ELFT>
std::error_code ELFObjectFile<ELFT>::isSectionZeroInit(DataRefImpl Sec,
bool &Result) const {
Result = toELFShdrIter(Sec)->sh_type == ELF::SHT_NOBITS;
return object_error::success;
}
template <class ELFT>
std::error_code ELFObjectFile<ELFT>::isSectionReadOnlyData(DataRefImpl Sec,
bool &Result) const {
Elf_Shdr_Iter EShdr = toELFShdrIter(Sec);
Result = !(EShdr->sh_flags & (ELF::SHF_WRITE | ELF::SHF_EXECINSTR));
return object_error::success;
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::sectionContainsSymbol(DataRefImpl Sec,
DataRefImpl Symb,
bool &Result) const {
std::error_code ELFObjectFile<ELFT>::sectionContainsSymbol(DataRefImpl Sec,
DataRefImpl Symb,
bool &Result) const {
Elf_Sym_Iter ESym = toELFSymIter(Symb);
uintX_t Index = ESym->st_shndx;
@ -553,8 +570,9 @@ ELFObjectFile<ELFT>::getRelocationSymbol(DataRefImpl Rel) const {
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::getRelocationAddress(DataRefImpl Rel,
uint64_t &Result) const {
std::error_code
ELFObjectFile<ELFT>::getRelocationAddress(DataRefImpl Rel,
uint64_t &Result) const {
uint64_t ROffset = getROffset(Rel);
const Elf_Ehdr *Header = EF.getHeader();
@ -570,8 +588,9 @@ error_code ELFObjectFile<ELFT>::getRelocationAddress(DataRefImpl Rel,
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::getRelocationOffset(DataRefImpl Rel,
uint64_t &Result) const {
std::error_code
ELFObjectFile<ELFT>::getRelocationOffset(DataRefImpl Rel,
uint64_t &Result) const {
assert(EF.getHeader()->e_type == ELF::ET_REL &&
"Only relocatable object files have relocation offsets");
Result = getROffset(Rel);
@ -592,8 +611,8 @@ uint64_t ELFObjectFile<ELFT>::getROffset(DataRefImpl Rel) const {
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::getRelocationType(DataRefImpl Rel,
uint64_t &Result) const {
std::error_code ELFObjectFile<ELFT>::getRelocationType(DataRefImpl Rel,
uint64_t &Result) const {
const Elf_Shdr *sec = getRelSection(Rel);
switch (sec->sh_type) {
default:
@ -616,7 +635,7 @@ StringRef ELFObjectFile<ELFT>::getRelocationTypeName(uint32_t Type) const {
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::getRelocationTypeName(
std::error_code ELFObjectFile<ELFT>::getRelocationTypeName(
DataRefImpl Rel, SmallVectorImpl<char> &Result) const {
const Elf_Shdr *sec = getRelSection(Rel);
uint32_t type;
@ -638,8 +657,9 @@ error_code ELFObjectFile<ELFT>::getRelocationTypeName(
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::getRelocationAddend(DataRefImpl Rel,
int64_t &Result) const {
std::error_code
ELFObjectFile<ELFT>::getRelocationAddend(DataRefImpl Rel,
int64_t &Result) const {
const Elf_Shdr *sec = getRelSection(Rel);
switch (sec->sh_type) {
default:
@ -656,7 +676,7 @@ error_code ELFObjectFile<ELFT>::getRelocationAddend(DataRefImpl Rel,
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::getRelocationValueString(
std::error_code ELFObjectFile<ELFT>::getRelocationValueString(
DataRefImpl Rel, SmallVectorImpl<char> &Result) const {
const Elf_Shdr *sec = getRelSection(Rel);
uint8_t type;
@ -754,7 +774,7 @@ ELFObjectFile<ELFT>::getRela(DataRefImpl Rela) const {
}
template <class ELFT>
ELFObjectFile<ELFT>::ELFObjectFile(MemoryBuffer *Object, error_code &ec,
ELFObjectFile<ELFT>::ELFObjectFile(MemoryBuffer *Object, std::error_code &ec,
bool BufferOwned)
: ObjectFile(getELFType(static_cast<endianness>(ELFT::TargetEndianness) ==
support::little,
@ -817,8 +837,8 @@ library_iterator ELFObjectFile<ELFT>::needed_library_begin() const {
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::getLibraryNext(DataRefImpl Data,
LibraryRef &Result) const {
std::error_code ELFObjectFile<ELFT>::getLibraryNext(DataRefImpl Data,
LibraryRef &Result) const {
Elf_Dyn_Iter DI = toELFDynIter(Data);
Elf_Dyn_Iter DE = EF.end_dynamic_table();
@ -832,8 +852,8 @@ error_code ELFObjectFile<ELFT>::getLibraryNext(DataRefImpl Data,
}
template <class ELFT>
error_code ELFObjectFile<ELFT>::getLibraryPath(DataRefImpl Data,
StringRef &Res) const {
std::error_code ELFObjectFile<ELFT>::getLibraryPath(DataRefImpl Data,
StringRef &Res) const {
Res = EF.getDynamicString(toELFDynIter(Data)->getVal());
return object_error::success;
}
@ -931,8 +951,8 @@ unsigned ELFObjectFile<ELFT>::getArch() const {
/// FIXME: Maybe we should have a base ElfObjectFile that is not a template
/// and make these member functions?
inline error_code getELFRelocationAddend(const RelocationRef R,
int64_t &Addend) {
inline std::error_code getELFRelocationAddend(const RelocationRef R,
int64_t &Addend) {
const ObjectFile *Obj = R.getObjectFile();
DataRefImpl DRI = R.getRawDataRefImpl();
// Little-endian 32-bit
@ -975,9 +995,10 @@ getELFDynamicSymbolIterators(SymbolicFile *Obj) {
/// This is a generic interface for retrieving GNU symbol version
/// information from an ELFObjectFile.
inline error_code GetELFSymbolVersion(const ObjectFile *Obj,
const SymbolRef &Sym, StringRef &Version,
bool &IsDefault) {
inline std::error_code GetELFSymbolVersion(const ObjectFile *Obj,
const SymbolRef &Sym,
StringRef &Version,
bool &IsDefault) {
// Little-endian 32-bit
if (const ELF32LEObjectFile *ELFObj = dyn_cast<ELF32LEObjectFile>(Obj))
return ELFObj->getSymbolVersion(Sym, Version, IsDefault);

View File

@ -17,7 +17,6 @@
#include <system_error>
namespace llvm {
using std::error_code;
namespace object {
const std::error_category &object_category();
@ -30,8 +29,8 @@ enum class object_error {
unexpected_eof
};
inline error_code make_error_code(object_error e) {
return error_code(static_cast<int>(e), object_category());
inline std::error_code make_error_code(object_error e) {
return std::error_code(static_cast<int>(e), object_category());
}
} // end namespace object.

View File

@ -27,10 +27,11 @@ class IRObjectFile : public SymbolicFile {
std::unique_ptr<Mangler> Mang;
public:
IRObjectFile(MemoryBuffer *Object, error_code &EC, LLVMContext &Context,
IRObjectFile(MemoryBuffer *Object, std::error_code &EC, LLVMContext &Context,
bool BufferOwned);
void moveSymbolNext(DataRefImpl &Symb) const override;
error_code printSymbolName(raw_ostream &OS, DataRefImpl Symb) const override;
std::error_code printSymbolName(raw_ostream &OS,
DataRefImpl Symb) const override;
uint32_t getSymbolFlags(DataRefImpl Symb) const override;
const GlobalValue &getSymbolGV(DataRefImpl Symb) const;
basic_symbol_iterator symbol_begin_impl() const override;

View File

@ -40,9 +40,9 @@ public:
void moveNext();
error_code getOffset(uint32_t &Result) const;
error_code getLength(uint16_t &Result) const;
error_code getKind(uint16_t &Result) const;
std::error_code getOffset(uint32_t &Result) const;
std::error_code getLength(uint16_t &Result) const;
std::error_code getKind(uint16_t &Result) const;
DataRefImpl getRawDataRefImpl() const;
const ObjectFile *getObjectFile() const;
@ -57,60 +57,74 @@ public:
};
MachOObjectFile(MemoryBuffer *Object, bool IsLittleEndian, bool Is64Bits,
error_code &EC, bool BufferOwned = true);
std::error_code &EC, bool BufferOwned = true);
void moveSymbolNext(DataRefImpl &Symb) const override;
error_code getSymbolName(DataRefImpl Symb, StringRef &Res) const override;
std::error_code getSymbolName(DataRefImpl Symb,
StringRef &Res) const override;
// MachO specific.
error_code getIndirectName(DataRefImpl Symb, StringRef &Res) const;
std::error_code getIndirectName(DataRefImpl Symb, StringRef &Res) const;
error_code getSymbolAddress(DataRefImpl Symb, uint64_t &Res) const override;
error_code getSymbolAlignment(DataRefImpl Symb, uint32_t &Res) const override;
error_code getSymbolSize(DataRefImpl Symb, uint64_t &Res) const override;
error_code getSymbolType(DataRefImpl Symb,
SymbolRef::Type &Res) const override;
std::error_code getSymbolAddress(DataRefImpl Symb,
uint64_t &Res) const override;
std::error_code getSymbolAlignment(DataRefImpl Symb,
uint32_t &Res) const override;
std::error_code getSymbolSize(DataRefImpl Symb, uint64_t &Res) const override;
std::error_code getSymbolType(DataRefImpl Symb,
SymbolRef::Type &Res) const override;
uint32_t getSymbolFlags(DataRefImpl Symb) const override;
error_code getSymbolSection(DataRefImpl Symb,
section_iterator &Res) const override;
std::error_code getSymbolSection(DataRefImpl Symb,
section_iterator &Res) const override;
void moveSectionNext(DataRefImpl &Sec) const override;
error_code getSectionName(DataRefImpl Sec, StringRef &Res) const override;
error_code getSectionAddress(DataRefImpl Sec, uint64_t &Res) const override;
error_code getSectionSize(DataRefImpl Sec, uint64_t &Res) const override;
error_code getSectionContents(DataRefImpl Sec, StringRef &Res) const override;
error_code getSectionAlignment(DataRefImpl Sec, uint64_t &Res) const override;
error_code isSectionText(DataRefImpl Sec, bool &Res) const override;
error_code isSectionData(DataRefImpl Sec, bool &Res) const override;
error_code isSectionBSS(DataRefImpl Sec, bool &Res) const override;
error_code isSectionRequiredForExecution(DataRefImpl Sec,
bool &Res) const override;
error_code isSectionVirtual(DataRefImpl Sec, bool &Res) const override;
error_code isSectionZeroInit(DataRefImpl Sec, bool &Res) const override;
error_code isSectionReadOnlyData(DataRefImpl Sec, bool &Res) const override;
error_code sectionContainsSymbol(DataRefImpl Sec, DataRefImpl Symb,
bool &Result) const override;
std::error_code getSectionName(DataRefImpl Sec,
StringRef &Res) const override;
std::error_code getSectionAddress(DataRefImpl Sec,
uint64_t &Res) const override;
std::error_code getSectionSize(DataRefImpl Sec, uint64_t &Res) const override;
std::error_code getSectionContents(DataRefImpl Sec,
StringRef &Res) const override;
std::error_code getSectionAlignment(DataRefImpl Sec,
uint64_t &Res) const override;
std::error_code isSectionText(DataRefImpl Sec, bool &Res) const override;
std::error_code isSectionData(DataRefImpl Sec, bool &Res) const override;
std::error_code isSectionBSS(DataRefImpl Sec, bool &Res) const override;
std::error_code isSectionRequiredForExecution(DataRefImpl Sec,
bool &Res) const override;
std::error_code isSectionVirtual(DataRefImpl Sec, bool &Res) const override;
std::error_code isSectionZeroInit(DataRefImpl Sec, bool &Res) const override;
std::error_code isSectionReadOnlyData(DataRefImpl Sec,
bool &Res) const override;
std::error_code sectionContainsSymbol(DataRefImpl Sec, DataRefImpl Symb,
bool &Result) const override;
relocation_iterator section_rel_begin(DataRefImpl Sec) const override;
relocation_iterator section_rel_end(DataRefImpl Sec) const override;
void moveRelocationNext(DataRefImpl &Rel) const override;
error_code getRelocationAddress(DataRefImpl Rel,
uint64_t &Res) const override;
error_code getRelocationOffset(DataRefImpl Rel, uint64_t &Res) const override;
std::error_code getRelocationAddress(DataRefImpl Rel,
uint64_t &Res) const override;
std::error_code getRelocationOffset(DataRefImpl Rel,
uint64_t &Res) const override;
symbol_iterator getRelocationSymbol(DataRefImpl Rel) const override;
error_code getRelocationType(DataRefImpl Rel, uint64_t &Res) const override;
error_code getRelocationTypeName(DataRefImpl Rel,
SmallVectorImpl<char> &Result) const override;
error_code getRelocationValueString(DataRefImpl Rel,
SmallVectorImpl<char> &Result) const override;
error_code getRelocationHidden(DataRefImpl Rel, bool &Result) const override;
std::error_code getRelocationType(DataRefImpl Rel,
uint64_t &Res) const override;
std::error_code
getRelocationTypeName(DataRefImpl Rel,
SmallVectorImpl<char> &Result) const override;
std::error_code
getRelocationValueString(DataRefImpl Rel,
SmallVectorImpl<char> &Result) const override;
std::error_code getRelocationHidden(DataRefImpl Rel,
bool &Result) const override;
error_code getLibraryNext(DataRefImpl LibData,
LibraryRef &Res) const override;
error_code getLibraryPath(DataRefImpl LibData, StringRef &Res) const override;
std::error_code getLibraryNext(DataRefImpl LibData,
LibraryRef &Res) const override;
std::error_code getLibraryPath(DataRefImpl LibData,
StringRef &Res) const override;
// MachO specific.
error_code getLibraryShortNameByIndex(unsigned Index, StringRef &Res);
std::error_code getLibraryShortNameByIndex(unsigned Index, StringRef &Res);
// TODO: Would be useful to have an iterator based version
// of the load command interface too.
@ -248,7 +262,7 @@ inline void DiceRef::moveNext() {
// the OwningObject ObjectFile is a MachOObjectFile a static_cast<> is used for
// the methods that get the values of the fields of the reference.
inline error_code DiceRef::getOffset(uint32_t &Result) const {
inline std::error_code DiceRef::getOffset(uint32_t &Result) const {
const MachOObjectFile *MachOOF =
static_cast<const MachOObjectFile *>(OwningObject);
MachO::data_in_code_entry Dice = MachOOF->getDice(DicePimpl);
@ -256,7 +270,7 @@ inline error_code DiceRef::getOffset(uint32_t &Result) const {
return object_error::success;
}
inline error_code DiceRef::getLength(uint16_t &Result) const {
inline std::error_code DiceRef::getLength(uint16_t &Result) const {
const MachOObjectFile *MachOOF =
static_cast<const MachOObjectFile *>(OwningObject);
MachO::data_in_code_entry Dice = MachOOF->getDice(DicePimpl);
@ -264,7 +278,7 @@ inline error_code DiceRef::getLength(uint16_t &Result) const {
return object_error::success;
}
inline error_code DiceRef::getKind(uint16_t &Result) const {
inline std::error_code DiceRef::getKind(uint16_t &Result) const {
const MachOObjectFile *MachOOF =
static_cast<const MachOObjectFile *>(OwningObject);
MachO::data_in_code_entry Dice = MachOOF->getDice(DicePimpl);

View File

@ -53,9 +53,9 @@ public:
ObjectForArch getNext() const { return ObjectForArch(Parent, Index + 1); }
uint32_t getCPUType() const { return Header.cputype; }
error_code getAsObjectFile(std::unique_ptr<ObjectFile> &Result) const;
std::error_code getAsObjectFile(std::unique_ptr<ObjectFile> &Result) const;
error_code getAsArchive(std::unique_ptr<Archive> &Result) const;
std::error_code getAsArchive(std::unique_ptr<Archive> &Result) const;
};
class object_iterator {
@ -79,7 +79,7 @@ public:
}
};
MachOUniversalBinary(MemoryBuffer *Source, error_code &ec);
MachOUniversalBinary(MemoryBuffer *Source, std::error_code &ec);
static ErrorOr<MachOUniversalBinary*> create(MemoryBuffer *Source);
object_iterator begin_objects() const {
@ -96,8 +96,8 @@ public:
return V->isMachOUniversalBinary();
}
error_code getObjectForArch(Triple::ArchType Arch,
std::unique_ptr<ObjectFile> &Result) const;
std::error_code getObjectForArch(Triple::ArchType Arch,
std::unique_ptr<ObjectFile> &Result) const;
};
}

View File

@ -46,26 +46,26 @@ public:
void moveNext();
error_code getAddress(uint64_t &Result) const;
error_code getOffset(uint64_t &Result) const;
std::error_code getAddress(uint64_t &Result) const;
std::error_code getOffset(uint64_t &Result) const;
symbol_iterator getSymbol() const;
error_code getType(uint64_t &Result) const;
std::error_code getType(uint64_t &Result) const;
/// @brief Indicates whether this relocation should hidden when listing
/// relocations, usually because it is the trailing part of a multipart
/// relocation that will be printed as part of the leading relocation.
error_code getHidden(bool &Result) const;
std::error_code getHidden(bool &Result) const;
/// @brief Get a string that represents the type of this relocation.
///
/// This is for display purposes only.
error_code getTypeName(SmallVectorImpl<char> &Result) const;
std::error_code getTypeName(SmallVectorImpl<char> &Result) const;
/// @brief Get a string that represents the calculation of the value of this
/// relocation.
///
/// This is for display purposes only.
error_code getValueString(SmallVectorImpl<char> &Result) const;
std::error_code getValueString(SmallVectorImpl<char> &Result) const;
DataRefImpl getRawDataRefImpl() const;
const ObjectFile *getObjectFile() const;
@ -92,24 +92,24 @@ public:
void moveNext();
error_code getName(StringRef &Result) const;
error_code getAddress(uint64_t &Result) const;
error_code getSize(uint64_t &Result) const;
error_code getContents(StringRef &Result) const;
std::error_code getName(StringRef &Result) const;
std::error_code getAddress(uint64_t &Result) const;
std::error_code getSize(uint64_t &Result) const;
std::error_code getContents(StringRef &Result) const;
/// @brief Get the alignment of this section as the actual value (not log 2).
error_code getAlignment(uint64_t &Result) const;
std::error_code getAlignment(uint64_t &Result) const;
// FIXME: Move to the normalization layer when it's created.
error_code isText(bool &Result) const;
error_code isData(bool &Result) const;
error_code isBSS(bool &Result) const;
error_code isRequiredForExecution(bool &Result) const;
error_code isVirtual(bool &Result) const;
error_code isZeroInit(bool &Result) const;
error_code isReadOnlyData(bool &Result) const;
std::error_code isText(bool &Result) const;
std::error_code isData(bool &Result) const;
std::error_code isBSS(bool &Result) const;
std::error_code isRequiredForExecution(bool &Result) const;
std::error_code isVirtual(bool &Result) const;
std::error_code isZeroInit(bool &Result) const;
std::error_code isReadOnlyData(bool &Result) const;
error_code containsSymbol(SymbolRef S, bool &Result) const;
std::error_code containsSymbol(SymbolRef S, bool &Result) const;
relocation_iterator relocation_begin() const;
relocation_iterator relocation_end() const;
@ -141,18 +141,18 @@ public:
SymbolRef(DataRefImpl SymbolP, const ObjectFile *Owner);
error_code getName(StringRef &Result) const;
std::error_code getName(StringRef &Result) const;
/// Returns the symbol virtual address (i.e. address at which it will be
/// mapped).
error_code getAddress(uint64_t &Result) const;
std::error_code getAddress(uint64_t &Result) const;
/// @brief Get the alignment of this symbol as the actual value (not log 2).
error_code getAlignment(uint32_t &Result) const;
error_code getSize(uint64_t &Result) const;
error_code getType(SymbolRef::Type &Result) const;
std::error_code getAlignment(uint32_t &Result) const;
std::error_code getSize(uint64_t &Result) const;
std::error_code getType(SymbolRef::Type &Result) const;
/// @brief Get section this symbol is defined in reference to. Result is
/// end_sections() if it is undefined or is an absolute symbol.
error_code getSection(section_iterator &Result) const;
std::error_code getSection(section_iterator &Result) const;
const ObjectFile *getObject() const;
};
@ -190,10 +190,10 @@ public:
bool operator==(const LibraryRef &Other) const;
bool operator<(const LibraryRef &Other) const;
error_code getNext(LibraryRef &Result) const;
std::error_code getNext(LibraryRef &Result) const;
// Get the path to this library, as stored in the object file.
error_code getPath(StringRef &Result) const;
std::error_code getPath(StringRef &Result) const;
DataRefImpl getRawDataRefImpl() const;
};
@ -223,35 +223,49 @@ protected:
// Implementations assume that the DataRefImpl is valid and has not been
// modified externally. It's UB otherwise.
friend class SymbolRef;
virtual error_code getSymbolName(DataRefImpl Symb, StringRef &Res) const = 0;
error_code printSymbolName(raw_ostream &OS, DataRefImpl Symb) const override;
virtual error_code getSymbolAddress(DataRefImpl Symb, uint64_t &Res) const = 0;
virtual error_code getSymbolAlignment(DataRefImpl Symb, uint32_t &Res) const;
virtual error_code getSymbolSize(DataRefImpl Symb, uint64_t &Res) const = 0;
virtual error_code getSymbolType(DataRefImpl Symb,
SymbolRef::Type &Res) const = 0;
virtual error_code getSymbolSection(DataRefImpl Symb,
section_iterator &Res) const = 0;
virtual std::error_code getSymbolName(DataRefImpl Symb,
StringRef &Res) const = 0;
std::error_code printSymbolName(raw_ostream &OS,
DataRefImpl Symb) const override;
virtual std::error_code getSymbolAddress(DataRefImpl Symb,
uint64_t &Res) const = 0;
virtual std::error_code getSymbolAlignment(DataRefImpl Symb,
uint32_t &Res) const;
virtual std::error_code getSymbolSize(DataRefImpl Symb,
uint64_t &Res) const = 0;
virtual std::error_code getSymbolType(DataRefImpl Symb,
SymbolRef::Type &Res) const = 0;
virtual std::error_code getSymbolSection(DataRefImpl Symb,
section_iterator &Res) const = 0;
// Same as above for SectionRef.
friend class SectionRef;
virtual void moveSectionNext(DataRefImpl &Sec) const = 0;
virtual error_code getSectionName(DataRefImpl Sec, StringRef &Res) const = 0;
virtual error_code getSectionAddress(DataRefImpl Sec, uint64_t &Res) const =0;
virtual error_code getSectionSize(DataRefImpl Sec, uint64_t &Res) const = 0;
virtual error_code getSectionContents(DataRefImpl Sec, StringRef &Res)const=0;
virtual error_code getSectionAlignment(DataRefImpl Sec, uint64_t &Res)const=0;
virtual error_code isSectionText(DataRefImpl Sec, bool &Res) const = 0;
virtual error_code isSectionData(DataRefImpl Sec, bool &Res) const = 0;
virtual error_code isSectionBSS(DataRefImpl Sec, bool &Res) const = 0;
virtual error_code isSectionRequiredForExecution(DataRefImpl Sec,
bool &Res) const = 0;
virtual std::error_code getSectionName(DataRefImpl Sec,
StringRef &Res) const = 0;
virtual std::error_code getSectionAddress(DataRefImpl Sec,
uint64_t &Res) const = 0;
virtual std::error_code getSectionSize(DataRefImpl Sec,
uint64_t &Res) const = 0;
virtual std::error_code getSectionContents(DataRefImpl Sec,
StringRef &Res) const = 0;
virtual std::error_code getSectionAlignment(DataRefImpl Sec,
uint64_t &Res) const = 0;
virtual std::error_code isSectionText(DataRefImpl Sec, bool &Res) const = 0;
virtual std::error_code isSectionData(DataRefImpl Sec, bool &Res) const = 0;
virtual std::error_code isSectionBSS(DataRefImpl Sec, bool &Res) const = 0;
virtual std::error_code isSectionRequiredForExecution(DataRefImpl Sec,
bool &Res) const = 0;
// A section is 'virtual' if its contents aren't present in the object image.
virtual error_code isSectionVirtual(DataRefImpl Sec, bool &Res) const = 0;
virtual error_code isSectionZeroInit(DataRefImpl Sec, bool &Res) const = 0;
virtual error_code isSectionReadOnlyData(DataRefImpl Sec, bool &Res) const =0;
virtual error_code sectionContainsSymbol(DataRefImpl Sec, DataRefImpl Symb,
bool &Result) const = 0;
virtual std::error_code isSectionVirtual(DataRefImpl Sec,
bool &Res) const = 0;
virtual std::error_code isSectionZeroInit(DataRefImpl Sec,
bool &Res) const = 0;
virtual std::error_code isSectionReadOnlyData(DataRefImpl Sec,
bool &Res) const = 0;
virtual std::error_code sectionContainsSymbol(DataRefImpl Sec,
DataRefImpl Symb,
bool &Result) const = 0;
virtual relocation_iterator section_rel_begin(DataRefImpl Sec) const = 0;
virtual relocation_iterator section_rel_end(DataRefImpl Sec) const = 0;
virtual section_iterator getRelocatedSection(DataRefImpl Sec) const;
@ -259,26 +273,31 @@ protected:
// Same as above for RelocationRef.
friend class RelocationRef;
virtual void moveRelocationNext(DataRefImpl &Rel) const = 0;
virtual error_code getRelocationAddress(DataRefImpl Rel,
uint64_t &Res) const =0;
virtual error_code getRelocationOffset(DataRefImpl Rel,
uint64_t &Res) const =0;
virtual std::error_code getRelocationAddress(DataRefImpl Rel,
uint64_t &Res) const = 0;
virtual std::error_code getRelocationOffset(DataRefImpl Rel,
uint64_t &Res) const = 0;
virtual symbol_iterator getRelocationSymbol(DataRefImpl Rel) const = 0;
virtual error_code getRelocationType(DataRefImpl Rel,
uint64_t &Res) const = 0;
virtual error_code getRelocationTypeName(DataRefImpl Rel,
SmallVectorImpl<char> &Result) const = 0;
virtual error_code getRelocationValueString(DataRefImpl Rel,
SmallVectorImpl<char> &Result) const = 0;
virtual error_code getRelocationHidden(DataRefImpl Rel, bool &Result) const {
virtual std::error_code getRelocationType(DataRefImpl Rel,
uint64_t &Res) const = 0;
virtual std::error_code
getRelocationTypeName(DataRefImpl Rel,
SmallVectorImpl<char> &Result) const = 0;
virtual std::error_code
getRelocationValueString(DataRefImpl Rel,
SmallVectorImpl<char> &Result) const = 0;
virtual std::error_code getRelocationHidden(DataRefImpl Rel,
bool &Result) const {
Result = false;
return object_error::success;
}
// Same for LibraryRef
friend class LibraryRef;
virtual error_code getLibraryNext(DataRefImpl Lib, LibraryRef &Res) const = 0;
virtual error_code getLibraryPath(DataRefImpl Lib, StringRef &Res) const = 0;
virtual std::error_code getLibraryNext(DataRefImpl Lib,
LibraryRef &Res) const = 0;
virtual std::error_code getLibraryPath(DataRefImpl Lib,
StringRef &Res) const = 0;
public:
typedef iterator_range<symbol_iterator> symbol_iterator_range;
@ -339,27 +358,27 @@ public:
inline SymbolRef::SymbolRef(DataRefImpl SymbolP, const ObjectFile *Owner)
: BasicSymbolRef(SymbolP, Owner) {}
inline error_code SymbolRef::getName(StringRef &Result) const {
inline std::error_code SymbolRef::getName(StringRef &Result) const {
return getObject()->getSymbolName(getRawDataRefImpl(), Result);
}
inline error_code SymbolRef::getAddress(uint64_t &Result) const {
inline std::error_code SymbolRef::getAddress(uint64_t &Result) const {
return getObject()->getSymbolAddress(getRawDataRefImpl(), Result);
}
inline error_code SymbolRef::getAlignment(uint32_t &Result) const {
inline std::error_code SymbolRef::getAlignment(uint32_t &Result) const {
return getObject()->getSymbolAlignment(getRawDataRefImpl(), Result);
}
inline error_code SymbolRef::getSize(uint64_t &Result) const {
inline std::error_code SymbolRef::getSize(uint64_t &Result) const {
return getObject()->getSymbolSize(getRawDataRefImpl(), Result);
}
inline error_code SymbolRef::getSection(section_iterator &Result) const {
inline std::error_code SymbolRef::getSection(section_iterator &Result) const {
return getObject()->getSymbolSection(getRawDataRefImpl(), Result);
}
inline error_code SymbolRef::getType(SymbolRef::Type &Result) const {
inline std::error_code SymbolRef::getType(SymbolRef::Type &Result) const {
return getObject()->getSymbolType(getRawDataRefImpl(), Result);
}
@ -391,55 +410,56 @@ inline void SectionRef::moveNext() {
return OwningObject->moveSectionNext(SectionPimpl);
}
inline error_code SectionRef::getName(StringRef &Result) const {
inline std::error_code SectionRef::getName(StringRef &Result) const {
return OwningObject->getSectionName(SectionPimpl, Result);
}
inline error_code SectionRef::getAddress(uint64_t &Result) const {
inline std::error_code SectionRef::getAddress(uint64_t &Result) const {
return OwningObject->getSectionAddress(SectionPimpl, Result);
}
inline error_code SectionRef::getSize(uint64_t &Result) const {
inline std::error_code SectionRef::getSize(uint64_t &Result) const {
return OwningObject->getSectionSize(SectionPimpl, Result);
}
inline error_code SectionRef::getContents(StringRef &Result) const {
inline std::error_code SectionRef::getContents(StringRef &Result) const {
return OwningObject->getSectionContents(SectionPimpl, Result);
}
inline error_code SectionRef::getAlignment(uint64_t &Result) const {
inline std::error_code SectionRef::getAlignment(uint64_t &Result) const {
return OwningObject->getSectionAlignment(SectionPimpl, Result);
}
inline error_code SectionRef::isText(bool &Result) const {
inline std::error_code SectionRef::isText(bool &Result) const {
return OwningObject->isSectionText(SectionPimpl, Result);
}
inline error_code SectionRef::isData(bool &Result) const {
inline std::error_code SectionRef::isData(bool &Result) const {
return OwningObject->isSectionData(SectionPimpl, Result);
}
inline error_code SectionRef::isBSS(bool &Result) const {
inline std::error_code SectionRef::isBSS(bool &Result) const {
return OwningObject->isSectionBSS(SectionPimpl, Result);
}
inline error_code SectionRef::isRequiredForExecution(bool &Result) const {
inline std::error_code SectionRef::isRequiredForExecution(bool &Result) const {
return OwningObject->isSectionRequiredForExecution(SectionPimpl, Result);
}
inline error_code SectionRef::isVirtual(bool &Result) const {
inline std::error_code SectionRef::isVirtual(bool &Result) const {
return OwningObject->isSectionVirtual(SectionPimpl, Result);
}
inline error_code SectionRef::isZeroInit(bool &Result) const {
inline std::error_code SectionRef::isZeroInit(bool &Result) const {
return OwningObject->isSectionZeroInit(SectionPimpl, Result);
}
inline error_code SectionRef::isReadOnlyData(bool &Result) const {
inline std::error_code SectionRef::isReadOnlyData(bool &Result) const {
return OwningObject->isSectionReadOnlyData(SectionPimpl, Result);
}
inline error_code SectionRef::containsSymbol(SymbolRef S, bool &Result) const {
inline std::error_code SectionRef::containsSymbol(SymbolRef S,
bool &Result) const {
return OwningObject->sectionContainsSymbol(SectionPimpl,
S.getRawDataRefImpl(), Result);
}
@ -474,11 +494,11 @@ inline void RelocationRef::moveNext() {
return OwningObject->moveRelocationNext(RelocationPimpl);
}
inline error_code RelocationRef::getAddress(uint64_t &Result) const {
inline std::error_code RelocationRef::getAddress(uint64_t &Result) const {
return OwningObject->getRelocationAddress(RelocationPimpl, Result);
}
inline error_code RelocationRef::getOffset(uint64_t &Result) const {
inline std::error_code RelocationRef::getOffset(uint64_t &Result) const {
return OwningObject->getRelocationOffset(RelocationPimpl, Result);
}
@ -486,21 +506,21 @@ inline symbol_iterator RelocationRef::getSymbol() const {
return OwningObject->getRelocationSymbol(RelocationPimpl);
}
inline error_code RelocationRef::getType(uint64_t &Result) const {
inline std::error_code RelocationRef::getType(uint64_t &Result) const {
return OwningObject->getRelocationType(RelocationPimpl, Result);
}
inline error_code RelocationRef::getTypeName(SmallVectorImpl<char> &Result)
const {
inline std::error_code
RelocationRef::getTypeName(SmallVectorImpl<char> &Result) const {
return OwningObject->getRelocationTypeName(RelocationPimpl, Result);
}
inline error_code RelocationRef::getValueString(SmallVectorImpl<char> &Result)
const {
inline std::error_code
RelocationRef::getValueString(SmallVectorImpl<char> &Result) const {
return OwningObject->getRelocationValueString(RelocationPimpl, Result);
}
inline error_code RelocationRef::getHidden(bool &Result) const {
inline std::error_code RelocationRef::getHidden(bool &Result) const {
return OwningObject->getRelocationHidden(RelocationPimpl, Result);
}
@ -525,11 +545,11 @@ inline bool LibraryRef::operator<(const LibraryRef &Other) const {
return LibraryPimpl < Other.LibraryPimpl;
}
inline error_code LibraryRef::getNext(LibraryRef &Result) const {
inline std::error_code LibraryRef::getNext(LibraryRef &Result) const {
return OwningObject->getLibraryNext(LibraryPimpl, Result);
}
inline error_code LibraryRef::getPath(StringRef &Result) const {
inline std::error_code LibraryRef::getPath(StringRef &Result) const {
return OwningObject->getLibraryPath(LibraryPimpl, Result);
}

View File

@ -99,7 +99,7 @@ public:
void moveNext();
error_code printName(raw_ostream &OS) const;
std::error_code printName(raw_ostream &OS) const;
/// Get symbol flags (bitwise OR of SymbolRef::Flags)
uint32_t getFlags() const;
@ -120,8 +120,8 @@ public:
// virtual interface.
virtual void moveSymbolNext(DataRefImpl &Symb) const = 0;
virtual error_code printSymbolName(raw_ostream &OS,
DataRefImpl Symb) const = 0;
virtual std::error_code printSymbolName(raw_ostream &OS,
DataRefImpl Symb) const = 0;
virtual uint32_t getSymbolFlags(DataRefImpl Symb) const = 0;
@ -174,7 +174,7 @@ inline void BasicSymbolRef::moveNext() {
return OwningObject->moveSymbolNext(SymbolPimpl);
}
inline error_code BasicSymbolRef::printName(raw_ostream &OS) const {
inline std::error_code BasicSymbolRef::printName(raw_ostream &OS) const {
return OwningObject->printSymbolName(OS, SymbolPimpl);
}

View File

@ -19,7 +19,6 @@
#include <system_error>
namespace llvm {
using std::error_code;
const std::error_category &instrprof_category();
enum class instrprof_error {
@ -38,8 +37,8 @@ enum class instrprof_error {
counter_overflow
};
inline error_code make_error_code(instrprof_error E) {
return error_code(static_cast<int>(E), instrprof_category());
inline std::error_code make_error_code(instrprof_error E) {
return std::error_code(static_cast<int>(E), instrprof_category());
}
} // end namespace llvm

View File

@ -60,28 +60,29 @@ public:
/// Base class and interface for reading profiling data of any known instrprof
/// format. Provides an iterator over InstrProfRecords.
class InstrProfReader {
error_code LastError;
std::error_code LastError;
public:
InstrProfReader() : LastError(instrprof_error::success) {}
virtual ~InstrProfReader() {}
/// Read the header. Required before reading first record.
virtual error_code readHeader() = 0;
virtual std::error_code readHeader() = 0;
/// Read a single record.
virtual error_code readNextRecord(InstrProfRecord &Record) = 0;
virtual std::error_code readNextRecord(InstrProfRecord &Record) = 0;
/// Iterator over profile data.
InstrProfIterator begin() { return InstrProfIterator(this); }
InstrProfIterator end() { return InstrProfIterator(); }
protected:
/// Set the current error_code and return same.
error_code error(error_code EC) {
/// Set the current std::error_code and return same.
std::error_code error(std::error_code EC) {
LastError = EC;
return EC;
}
/// Clear the current error code and return a successful one.
error_code success() { return error(instrprof_error::success); }
std::error_code success() { return error(instrprof_error::success); }
public:
/// Return true if the reader has finished reading the profile data.
@ -89,12 +90,12 @@ public:
/// Return true if the reader encountered an error reading profiling data.
bool hasError() { return LastError && !isEOF(); }
/// Get the current error code.
error_code getError() { return LastError; }
std::error_code getError() { return LastError; }
/// Factory method to create an appropriately typed reader for the given
/// instrprof file.
static error_code create(std::string Path,
std::unique_ptr<InstrProfReader> &Result);
static std::error_code create(std::string Path,
std::unique_ptr<InstrProfReader> &Result);
};
/// Reader for the simple text based instrprof format.
@ -122,9 +123,9 @@ public:
: DataBuffer(std::move(DataBuffer_)), Line(*DataBuffer, '#') {}
/// Read the header.
error_code readHeader() override { return success(); }
std::error_code readHeader() override { return success(); }
/// Read a single record.
error_code readNextRecord(InstrProfRecord &Record) override;
std::error_code readNextRecord(InstrProfRecord &Record) override;
};
/// Reader for the raw instrprof binary format from runtime.
@ -175,12 +176,12 @@ public:
: DataBuffer(std::move(DataBuffer)) { }
static bool hasFormat(const MemoryBuffer &DataBuffer);
error_code readHeader() override;
error_code readNextRecord(InstrProfRecord &Record) override;
std::error_code readHeader() override;
std::error_code readNextRecord(InstrProfRecord &Record) override;
private:
error_code readNextHeader(const char *CurrentPos);
error_code readHeader(const RawHeader &Header);
std::error_code readNextHeader(const char *CurrentPos);
std::error_code readHeader(const RawHeader &Header);
template <class IntT>
IntT swap(IntT Int) const {
return ShouldSwapBytes ? sys::SwapByteOrder(Int) : Int;
@ -281,19 +282,19 @@ public:
static bool hasFormat(const MemoryBuffer &DataBuffer);
/// Read the file header.
error_code readHeader() override;
std::error_code readHeader() override;
/// Read a single record.
error_code readNextRecord(InstrProfRecord &Record) override;
std::error_code readNextRecord(InstrProfRecord &Record) override;
/// Fill Counts with the profile data for the given function name.
error_code getFunctionCounts(StringRef FuncName, uint64_t &FuncHash,
std::vector<uint64_t> &Counts);
std::error_code getFunctionCounts(StringRef FuncName, uint64_t &FuncHash,
std::vector<uint64_t> &Counts);
/// Return the maximum of all known function counts.
uint64_t getMaximumFunctionCount() { return MaxFunctionCount; }
/// Factory method to create an indexed reader.
static error_code create(std::string Path,
std::unique_ptr<IndexedInstrProfReader> &Result);
static std::error_code
create(std::string Path, std::unique_ptr<IndexedInstrProfReader> &Result);
};
} // end namespace llvm

View File

@ -38,8 +38,9 @@ public:
/// Add function counts for the given function. If there are already counts
/// for this function and the hash and number of counts match, each counter is
/// summed.
error_code addFunctionCounts(StringRef FunctionName, uint64_t FunctionHash,
ArrayRef<uint64_t> Counters);
std::error_code addFunctionCounts(StringRef FunctionName,
uint64_t FunctionHash,
ArrayRef<uint64_t> Counters);
/// Ensure that all data is written to disk.
void write(raw_fd_ostream &OS);
};

View File

@ -23,7 +23,6 @@
#include <type_traits>
namespace llvm {
using std::error_code;
template<class T, class V>
typename std::enable_if< std::is_constructible<T, V>::value
, typename std::remove_reference<V>::type>::type &&
@ -101,11 +100,11 @@ public:
void *>::type = 0)
: HasError(true) {
using std::make_error_code;
new (getErrorStorage()) error_code(make_error_code(ErrorCode));
new (getErrorStorage()) std::error_code(make_error_code(ErrorCode));
}
ErrorOr(std::error_code EC) : HasError(true) {
new (getErrorStorage()) error_code(EC);
new (getErrorStorage()) std::error_code(EC);
}
ErrorOr(T Val) : HasError(false) {
@ -165,8 +164,8 @@ public:
reference get() { return *getStorage(); }
const_reference get() const { return const_cast<ErrorOr<T> >(this)->get(); }
error_code getError() const {
return HasError ? *getErrorStorage() : error_code();
std::error_code getError() const {
return HasError ? *getErrorStorage() : std::error_code();
}
pointer operator ->() {
@ -187,7 +186,7 @@ private:
} else {
// Get other's error.
HasError = true;
new (getErrorStorage()) error_code(Other.getError());
new (getErrorStorage()) std::error_code(Other.getError());
}
}
@ -219,7 +218,7 @@ private:
} else {
// Get other's error.
HasError = true;
new (getErrorStorage()) error_code(Other.getError());
new (getErrorStorage()) std::error_code(Other.getError());
}
}
@ -250,19 +249,19 @@ private:
return reinterpret_cast<const storage_type*>(TStorage.buffer);
}
error_code *getErrorStorage() {
std::error_code *getErrorStorage() {
assert(HasError && "Cannot get error when a value exists!");
return reinterpret_cast<error_code*>(ErrorStorage.buffer);
return reinterpret_cast<std::error_code *>(ErrorStorage.buffer);
}
const error_code *getErrorStorage() const {
const std::error_code *getErrorStorage() const {
return const_cast<ErrorOr<T> *>(this)->getErrorStorage();
}
union {
AlignedCharArrayUnion<storage_type> TStorage;
AlignedCharArrayUnion<error_code> ErrorStorage;
AlignedCharArrayUnion<std::error_code> ErrorStorage;
};
bool HasError : 1;
};
@ -272,7 +271,7 @@ typename std::enable_if<std::is_error_code_enum<E>::value ||
std::is_error_condition_enum<E>::value,
bool>::type
operator==(ErrorOr<T> &Err, E Code) {
return error_code(Err) == Code;
return std::error_code(Err) == Code;
}
} // end namespace llvm

View File

@ -37,9 +37,9 @@ public:
/// Factory method to create an OutputBuffer object which manages a read/write
/// buffer of the specified size. When committed, the buffer will be written
/// to the file at the specified path.
static error_code create(StringRef FilePath, size_t Size,
std::unique_ptr<FileOutputBuffer> &Result,
unsigned Flags = 0);
static std::error_code create(StringRef FilePath, size_t Size,
std::unique_ptr<FileOutputBuffer> &Result,
unsigned Flags = 0);
/// Returns a pointer to the start of the buffer.
uint8_t *getBufferStart() {
@ -66,7 +66,7 @@ public:
/// is called, the file is deleted in the destructor. The optional parameter
/// is used if it turns out you want the file size to be smaller than
/// initially requested.
error_code commit(int64_t NewSmallerSize = -1);
std::error_code commit(int64_t NewSmallerSize = -1);
/// If this object was previously committed, the destructor just deletes
/// this object. If this object was not committed, the destructor

View File

@ -46,7 +46,6 @@
#endif
namespace llvm {
using std::error_code;
namespace sys {
namespace fs {
@ -275,7 +274,7 @@ private:
/// @param path A path that is modified to be an absolute path.
/// @returns errc::success if \a path has been made absolute, otherwise a
/// platform specific error_code.
error_code make_absolute(SmallVectorImpl<char> &path);
std::error_code make_absolute(SmallVectorImpl<char> &path);
/// @brief Normalize path separators in \a Path
///
@ -283,7 +282,7 @@ error_code make_absolute(SmallVectorImpl<char> &path);
/// This is particularly useful when cross-compiling Windows on Linux, but is
/// safe to invoke on Windows, which accepts both characters as a path
/// separator.
error_code normalize_separators(SmallVectorImpl<char> &Path);
std::error_code normalize_separators(SmallVectorImpl<char> &Path);
/// @brief Create all the non-existent directories in path.
///
@ -291,7 +290,8 @@ error_code normalize_separators(SmallVectorImpl<char> &Path);
/// @returns errc::success if is_directory(path), otherwise a platform
/// specific error_code. If IgnoreExisting is false, also returns
/// error if the directory already existed.
error_code create_directories(const Twine &path, bool IgnoreExisting = true);
std::error_code create_directories(const Twine &path,
bool IgnoreExisting = true);
/// @brief Create the directory in path.
///
@ -299,7 +299,7 @@ error_code create_directories(const Twine &path, bool IgnoreExisting = true);
/// @returns errc::success if is_directory(path), otherwise a platform
/// specific error_code. If IgnoreExisting is false, also returns
/// error if the directory already existed.
error_code create_directory(const Twine &path, bool IgnoreExisting = true);
std::error_code create_directory(const Twine &path, bool IgnoreExisting = true);
/// @brief Create a link from \a from to \a to.
///
@ -312,14 +312,14 @@ error_code create_directory(const Twine &path, bool IgnoreExisting = true);
/// @param from The path to hard link from. This is created.
/// @returns errc::success if the link was created, otherwise a platform
/// specific error_code.
error_code create_link(const Twine &to, const Twine &from);
std::error_code create_link(const Twine &to, const Twine &from);
/// @brief Get the current path.
///
/// @param result Holds the current path on return.
/// @returns errc::success if the current path has been stored in result,
/// otherwise a platform specific error_code.
error_code current_path(SmallVectorImpl<char> &result);
std::error_code current_path(SmallVectorImpl<char> &result);
/// @brief Remove path. Equivalent to POSIX remove().
///
@ -327,13 +327,13 @@ error_code current_path(SmallVectorImpl<char> &result);
/// @returns errc::success if path has been removed or didn't exist, otherwise a
/// platform specific error code. If IgnoreNonExisting is false, also
/// returns error if the file didn't exist.
error_code remove(const Twine &path, bool IgnoreNonExisting = true);
std::error_code remove(const Twine &path, bool IgnoreNonExisting = true);
/// @brief Rename \a from to \a to. Files are renamed as if by POSIX rename().
///
/// @param from The path to rename from.
/// @param to The path to rename to. This is created.
error_code rename(const Twine &from, const Twine &to);
std::error_code rename(const Twine &from, const Twine &to);
/// @brief Resize path to size. File is resized as if by POSIX truncate().
///
@ -341,7 +341,7 @@ error_code rename(const Twine &from, const Twine &to);
/// @param size Size to resize to.
/// @returns errc::success if \a path has been resized to \a size, otherwise a
/// platform specific error_code.
error_code resize_file(const Twine &path, uint64_t size);
std::error_code resize_file(const Twine &path, uint64_t size);
/// @}
/// @name Physical Observers
@ -361,7 +361,7 @@ bool exists(file_status status);
/// it does not. Undefined otherwise.
/// @returns errc::success if result has been successfully set, otherwise a
/// platform specific error_code.
error_code exists(const Twine &path, bool &result);
std::error_code exists(const Twine &path, bool &result);
/// @brief Simpler version of exists for clients that don't need to
/// differentiate between an error and false.
@ -403,7 +403,7 @@ bool equivalent(file_status A, file_status B);
/// inode (or equivalent).
/// @returns errc::success if result has been successfully set, otherwise a
/// platform specific error_code.
error_code equivalent(const Twine &A, const Twine &B, bool &result);
std::error_code equivalent(const Twine &A, const Twine &B, bool &result);
/// @brief Simpler version of equivalent for clients that don't need to
/// differentiate between an error and false.
@ -425,7 +425,7 @@ bool is_directory(file_status status);
/// Undefined otherwise.
/// @returns errc::success if result has been successfully set, otherwise a
/// platform specific error_code.
error_code is_directory(const Twine &path, bool &result);
std::error_code is_directory(const Twine &path, bool &result);
/// @brief Simpler version of is_directory for clients that don't need to
/// differentiate between an error and false.
@ -447,7 +447,7 @@ bool is_regular_file(file_status status);
/// Undefined otherwise.
/// @returns errc::success if result has been successfully set, otherwise a
/// platform specific error_code.
error_code is_regular_file(const Twine &path, bool &result);
std::error_code is_regular_file(const Twine &path, bool &result);
/// @brief Simpler version of is_regular_file for clients that don't need to
/// differentiate between an error and false.
@ -473,7 +473,7 @@ bool is_other(file_status status);
/// file, or a symlink, false if it does not. Undefined otherwise.
/// @returns errc::success if result has been successfully set, otherwise a
/// platform specific error_code.
error_code is_other(const Twine &path, bool &result);
std::error_code is_other(const Twine &path, bool &result);
/// @brief Get file status as if by POSIX stat().
///
@ -481,10 +481,10 @@ error_code is_other(const Twine &path, bool &result);
/// @param result Set to the file status.
/// @returns errc::success if result has been successfully set, otherwise a
/// platform specific error_code.
error_code status(const Twine &path, file_status &result);
std::error_code status(const Twine &path, file_status &result);
/// @brief A version for when a file descriptor is already available.
error_code status(int FD, file_status &Result);
std::error_code status(int FD, file_status &Result);
/// @brief Get file size.
///
@ -492,13 +492,13 @@ error_code status(int FD, file_status &Result);
/// @param Result Set to the size of the file in \a Path.
/// @returns errc::success if result has been successfully set, otherwise a
/// platform specific error_code.
inline error_code file_size(const Twine &Path, uint64_t &Result) {
inline std::error_code file_size(const Twine &Path, uint64_t &Result) {
file_status Status;
error_code EC = status(Path, Status);
std::error_code EC = status(Path, Status);
if (EC)
return EC;
Result = Status.getSize();
return error_code();
return std::error_code();
}
/// @brief Set the file modification and access time.
@ -506,7 +506,7 @@ inline error_code file_size(const Twine &Path, uint64_t &Result) {
/// @returns errc::success if the file times were successfully set, otherwise a
/// platform specific error_code or errc::not_supported on platforms
/// where the functionality isn't available.
error_code setLastModificationAndAccessTime(int FD, TimeValue Time);
std::error_code setLastModificationAndAccessTime(int FD, TimeValue Time);
/// @brief Is status available?
///
@ -520,7 +520,7 @@ bool status_known(file_status s);
/// @param result Set to true if status() != status_error.
/// @returns errc::success if result has been successfully set, otherwise a
/// platform specific error_code.
error_code status_known(const Twine &path, bool &result);
std::error_code status_known(const Twine &path, bool &result);
/// @brief Create a uniquely named file.
///
@ -543,13 +543,13 @@ error_code status_known(const Twine &path, bool &result);
/// @param ResultPath Set to the opened file's absolute path.
/// @returns errc::success if Result{FD,Path} have been successfully set,
/// otherwise a platform specific error_code.
error_code createUniqueFile(const Twine &Model, int &ResultFD,
SmallVectorImpl<char> &ResultPath,
unsigned Mode = all_read | all_write);
std::error_code createUniqueFile(const Twine &Model, int &ResultFD,
SmallVectorImpl<char> &ResultPath,
unsigned Mode = all_read | all_write);
/// @brief Simpler version for clients that don't want an open file.
error_code createUniqueFile(const Twine &Model,
SmallVectorImpl<char> &ResultPath);
std::error_code createUniqueFile(const Twine &Model,
SmallVectorImpl<char> &ResultPath);
/// @brief Create a file in the system temporary directory.
///
@ -559,16 +559,16 @@ error_code createUniqueFile(const Twine &Model,
///
/// This should be used for things like a temporary .s that is removed after
/// running the assembler.
error_code createTemporaryFile(const Twine &Prefix, StringRef Suffix,
int &ResultFD,
SmallVectorImpl<char> &ResultPath);
std::error_code createTemporaryFile(const Twine &Prefix, StringRef Suffix,
int &ResultFD,
SmallVectorImpl<char> &ResultPath);
/// @brief Simpler version for clients that don't want an open file.
error_code createTemporaryFile(const Twine &Prefix, StringRef Suffix,
SmallVectorImpl<char> &ResultPath);
std::error_code createTemporaryFile(const Twine &Prefix, StringRef Suffix,
SmallVectorImpl<char> &ResultPath);
error_code createUniqueDirectory(const Twine &Prefix,
SmallVectorImpl<char> &ResultPath);
std::error_code createUniqueDirectory(const Twine &Prefix,
SmallVectorImpl<char> &ResultPath);
enum OpenFlags : unsigned {
F_None = 0,
@ -599,10 +599,10 @@ inline OpenFlags &operator|=(OpenFlags &A, OpenFlags B) {
return A;
}
error_code openFileForWrite(const Twine &Name, int &ResultFD, OpenFlags Flags,
unsigned Mode = 0666);
std::error_code openFileForWrite(const Twine &Name, int &ResultFD,
OpenFlags Flags, unsigned Mode = 0666);
error_code openFileForRead(const Twine &Name, int &ResultFD);
std::error_code openFileForRead(const Twine &Name, int &ResultFD);
/// @brief Identify the type of a binary file based on how magical it is.
file_magic identify_magic(StringRef magic);
@ -613,9 +613,9 @@ file_magic identify_magic(StringRef magic);
/// @param result Set to the type of file, or file_magic::unknown.
/// @returns errc::success if result has been successfully set, otherwise a
/// platform specific error_code.
error_code identify_magic(const Twine &path, file_magic &result);
std::error_code identify_magic(const Twine &path, file_magic &result);
error_code getUniqueID(const Twine Path, UniqueID &Result);
std::error_code getUniqueID(const Twine Path, UniqueID &Result);
/// This class represents a memory mapped file. It is based on
/// boost::iostreams::mapped_file.
@ -642,7 +642,7 @@ private:
void *FileMappingHandle;
#endif
error_code init(int FD, bool CloseFD, uint64_t Offset);
std::error_code init(int FD, bool CloseFD, uint64_t Offset);
public:
typedef char char_type;
@ -664,21 +664,14 @@ public:
/// mapped_file_region::alignment().
/// \param ec This is set to errc::success if the map was constructed
/// successfully. Otherwise it is set to a platform dependent error.
mapped_file_region(const Twine &path,
mapmode mode,
uint64_t length,
uint64_t offset,
error_code &ec);
mapped_file_region(const Twine &path, mapmode mode, uint64_t length,
uint64_t offset, std::error_code &ec);
/// \param fd An open file descriptor to map. mapped_file_region takes
/// ownership if closefd is true. It must have been opended in the correct
/// mode.
mapped_file_region(int fd,
bool closefd,
mapmode mode,
uint64_t length,
uint64_t offset,
error_code &ec);
mapped_file_region(int fd, bool closefd, mapmode mode, uint64_t length,
uint64_t offset, std::error_code &ec);
~mapped_file_region();
@ -725,7 +718,7 @@ public:
void replace_filename(const Twine &filename, file_status st = file_status());
const std::string &path() const { return Path; }
error_code status(file_status &result) const;
std::error_code status(file_status &result) const;
bool operator==(const directory_entry& rhs) const { return Path == rhs.Path; }
bool operator!=(const directory_entry& rhs) const { return !(*this == rhs); }
@ -738,9 +731,9 @@ public:
namespace detail {
struct DirIterState;
error_code directory_iterator_construct(DirIterState&, StringRef);
error_code directory_iterator_increment(DirIterState&);
error_code directory_iterator_destruct(DirIterState&);
std::error_code directory_iterator_construct(DirIterState &, StringRef);
std::error_code directory_iterator_increment(DirIterState &);
std::error_code directory_iterator_destruct(DirIterState &);
/// DirIterState - Keeps state for the directory_iterator. It is reference
/// counted in order to preserve InputIterator semantics on copy.
@ -764,14 +757,14 @@ class directory_iterator {
IntrusiveRefCntPtr<detail::DirIterState> State;
public:
explicit directory_iterator(const Twine &path, error_code &ec) {
explicit directory_iterator(const Twine &path, std::error_code &ec) {
State = new detail::DirIterState;
SmallString<128> path_storage;
ec = detail::directory_iterator_construct(*State,
path.toStringRef(path_storage));
}
explicit directory_iterator(const directory_entry &de, error_code &ec) {
explicit directory_iterator(const directory_entry &de, std::error_code &ec) {
State = new detail::DirIterState;
ec = detail::directory_iterator_construct(*State, de.path());
}
@ -780,7 +773,7 @@ public:
directory_iterator() : State(nullptr) {}
// No operator++ because we need error_code.
directory_iterator &increment(error_code &ec) {
directory_iterator &increment(std::error_code &ec) {
ec = directory_iterator_increment(*State);
return *this;
}
@ -826,14 +819,14 @@ class recursive_directory_iterator {
public:
recursive_directory_iterator() {}
explicit recursive_directory_iterator(const Twine &path, error_code &ec)
: State(new detail::RecDirIterState) {
explicit recursive_directory_iterator(const Twine &path, std::error_code &ec)
: State(new detail::RecDirIterState) {
State->Stack.push(directory_iterator(path, ec));
if (State->Stack.top() == directory_iterator())
State.reset();
}
// No operator++ because we need error_code.
recursive_directory_iterator &increment(error_code &ec) {
recursive_directory_iterator &increment(std::error_code &ec) {
const directory_iterator end_itr;
if (State->HasNoPushRequest)
@ -882,7 +875,7 @@ public:
assert(State->Level > 0 && "Cannot pop an iterator with level < 1");
const directory_iterator end_itr;
error_code ec;
std::error_code ec;
do {
if (ec)
report_fatal_error("Error incrementing directory iterator.");

View File

@ -16,7 +16,6 @@
#include <utility> // for std::pair
namespace llvm {
using std::error_code;
/// \brief Class that manages the creation of a lock file to aid
/// implicit coordination between different processes.
///
@ -56,7 +55,7 @@ private:
SmallString<128> UniqueLockFileName;
Optional<std::pair<std::string, int> > Owner;
Optional<error_code> Error;
Optional<std::error_code> Error;
LockFileManager(const LockFileManager &) LLVM_DELETED_FUNCTION;
LockFileManager &operator=(const LockFileManager &) LLVM_DELETED_FUNCTION;

View File

@ -19,7 +19,6 @@
#include <system_error>
namespace llvm {
using std::error_code;
namespace sys {
/// This class encapsulates the notion of a memory block which has an address
@ -78,7 +77,7 @@ namespace sys {
static MemoryBlock allocateMappedMemory(size_t NumBytes,
const MemoryBlock *const NearBlock,
unsigned Flags,
error_code &EC);
std::error_code &EC);
/// This method releases a block of memory that was allocated with the
/// allocateMappedMemory method. It should not be used to release any
@ -89,7 +88,7 @@ namespace sys {
/// describing the failure if an error occurred.
///
/// @brief Release mapped memory.
static error_code releaseMappedMemory(MemoryBlock &Block);
static std::error_code releaseMappedMemory(MemoryBlock &Block);
/// This method sets the protection flags for a block of memory to the
/// state specified by /p Flags. The behavior is not specified if the
@ -106,8 +105,8 @@ namespace sys {
/// describing the failure if an error occurred.
///
/// @brief Set memory protection state.
static error_code protectMappedMemory(const MemoryBlock &Block,
unsigned Flags);
static std::error_code protectMappedMemory(const MemoryBlock &Block,
unsigned Flags);
/// This method allocates a block of Read/Write/Execute memory that is
/// suitable for executing dynamically generated code (e.g. JIT). An

View File

@ -23,7 +23,6 @@
#include <system_error>
namespace llvm {
using std::error_code;
/// MemoryBuffer - This interface provides simple read-only access to a block
/// of memory, and provides simple methods for reading files and standard input
/// into a memory buffer. In addition to basic access to the characters in the
@ -69,11 +68,11 @@ public:
/// \param IsVolatileSize Set to true to indicate that the file size may be
/// changing, e.g. when libclang tries to parse while the user is
/// editing/updating the file.
static error_code getFile(Twine Filename,
std::unique_ptr<MemoryBuffer> &Result,
int64_t FileSize = -1,
bool RequiresNullTerminator = true,
bool IsVolatileSize = false);
static std::error_code getFile(Twine Filename,
std::unique_ptr<MemoryBuffer> &Result,
int64_t FileSize = -1,
bool RequiresNullTerminator = true,
bool IsVolatileSize = false);
/// Given an already-open file descriptor, map some slice of it into a
/// MemoryBuffer. The slice is specified by an \p Offset and \p MapSize.
@ -82,10 +81,10 @@ public:
/// \param IsVolatileSize Set to true to indicate that the file size may be
/// changing, e.g. when libclang tries to parse while the user is
/// editing/updating the file.
static error_code getOpenFileSlice(int FD, const char *Filename,
std::unique_ptr<MemoryBuffer> &Result,
uint64_t MapSize, int64_t Offset,
bool IsVolatileSize = false);
static std::error_code getOpenFileSlice(int FD, const char *Filename,
std::unique_ptr<MemoryBuffer> &Result,
uint64_t MapSize, int64_t Offset,
bool IsVolatileSize = false);
/// Given an already-open file descriptor, read the file and return a
/// MemoryBuffer.
@ -93,11 +92,11 @@ public:
/// \param IsVolatileSize Set to true to indicate that the file size may be
/// changing, e.g. when libclang tries to parse while the user is
/// editing/updating the file.
static error_code getOpenFile(int FD, const char *Filename,
std::unique_ptr<MemoryBuffer> &Result,
uint64_t FileSize,
bool RequiresNullTerminator = true,
bool IsVolatileSize = false);
static std::error_code getOpenFile(int FD, const char *Filename,
std::unique_ptr<MemoryBuffer> &Result,
uint64_t FileSize,
bool RequiresNullTerminator = true,
bool IsVolatileSize = false);
/// getMemBuffer - Open the specified memory range as a MemoryBuffer. Note
/// that InputData must be null terminated if RequiresNullTerminator is true.
@ -126,15 +125,14 @@ public:
/// getSTDIN - Read all of stdin into a file buffer, and return it.
/// If an error occurs, this returns null and sets ec.
static error_code getSTDIN(std::unique_ptr<MemoryBuffer> &Result);
static std::error_code getSTDIN(std::unique_ptr<MemoryBuffer> &Result);
/// getFileOrSTDIN - Open the specified file as a MemoryBuffer, or open stdin
/// if the Filename is "-". If an error occurs, this returns null and sets
/// ec.
static error_code getFileOrSTDIN(StringRef Filename,
std::unique_ptr<MemoryBuffer> &Result,
int64_t FileSize = -1);
static std::error_code getFileOrSTDIN(StringRef Filename,
std::unique_ptr<MemoryBuffer> &Result,
int64_t FileSize = -1);
//===--------------------------------------------------------------------===//
// Provided for performance analysis.

View File

@ -174,7 +174,7 @@ public:
/// This function returns a SmallVector containing the arguments passed from
/// the operating system to the program. This function expects to be handed
/// the vector passed in from main.
static error_code
static std::error_code
GetArgumentVector(SmallVectorImpl<const char *> &Args,
ArrayRef<const char *> ArgsFromMain,
SpecificBumpPtrAllocator<char> &ArgAllocator);

View File

@ -19,7 +19,6 @@
#include <system_error>
namespace llvm {
using std::error_code;
namespace sys {
/// This is the OS-specific separator for PATH like environment variables:
@ -67,8 +66,8 @@ struct ProcessInfo {
// These functions change the specified standard stream (stdin or stdout) to
// binary mode. They return errc::success if the specified stream
// was changed. Otherwise a platform dependent error is returned.
error_code ChangeStdinToBinary();
error_code ChangeStdoutToBinary();
std::error_code ChangeStdinToBinary();
std::error_code ChangeStdoutToBinary();
/// This function executes the program using the arguments provided. The
/// invoked program will inherit the stdin, stdout, and stderr file

View File

@ -20,6 +20,7 @@
#include <cstring>
#include <system_error>
using namespace llvm;
using std::error_code;
Module *llvm::ParseAssembly(MemoryBuffer *F,
Module *M,

View File

@ -16,6 +16,7 @@
#include <string>
using namespace llvm;
using std::error_code;
/* Builds a module from the bitcode in the specified memory buffer, returning a
reference to the module via the OutModule parameter. Returns 0 on success.

View File

@ -26,6 +26,7 @@
#include <vector>
namespace llvm {
using std::error_code;
class MemoryBuffer;
class LLVMContext;

View File

@ -21,6 +21,7 @@
using namespace llvm;
using namespace dwarf;
using namespace object;
using std::error_code;
#define DEBUG_TYPE "dwarf"

View File

@ -19,6 +19,7 @@
#include "llvm/IR/Module.h"
#include <cstring>
using namespace llvm;
using std::error_code;
namespace {

View File

@ -71,7 +71,7 @@ uint8_t *SectionMemoryManager::allocateSection(MemoryGroup &MemGroup,
//
// FIXME: Initialize the Near member for each memory group to avoid
// interleaving.
error_code ec;
std::error_code ec;
sys::MemoryBlock MB = sys::Memory::allocateMappedMemory(RequiredSize,
&MemGroup.Near,
sys::Memory::MF_READ |
@ -105,7 +105,7 @@ uint8_t *SectionMemoryManager::allocateSection(MemoryGroup &MemGroup,
bool SectionMemoryManager::finalizeMemory(std::string *ErrMsg)
{
// FIXME: Should in-progress permissions be reverted if an error occurs?
error_code ec;
std::error_code ec;
// Don't allow free memory blocks to be used after setting protection flags.
CodeMem.FreeMem.clear();
@ -143,19 +143,20 @@ bool SectionMemoryManager::finalizeMemory(std::string *ErrMsg)
return false;
}
error_code SectionMemoryManager::applyMemoryGroupPermissions(MemoryGroup &MemGroup,
unsigned Permissions) {
std::error_code
SectionMemoryManager::applyMemoryGroupPermissions(MemoryGroup &MemGroup,
unsigned Permissions) {
for (int i = 0, e = MemGroup.AllocatedMem.size(); i != e; ++i) {
error_code ec;
ec = sys::Memory::protectMappedMemory(MemGroup.AllocatedMem[i],
Permissions);
if (ec) {
return ec;
}
std::error_code ec;
ec =
sys::Memory::protectMappedMemory(MemGroup.AllocatedMem[i], Permissions);
if (ec) {
return ec;
}
}
return error_code();
return std::error_code();
}
void SectionMemoryManager::invalidateInstructionCache() {

View File

@ -20,6 +20,7 @@
using namespace llvm;
namespace llvm {
using std::error_code;
namespace {
// Helper for extensive error checking in debug builds.

View File

@ -41,6 +41,7 @@
#include <system_error>
using namespace llvm;
using std::error_code;
#define DEBUG_TYPE "ir"

View File

@ -22,6 +22,7 @@
#include <algorithm>
#include <system_error>
using namespace llvm;
using std::error_code;
//===----------------------------------------------------------------------===//
// GCOVFile implementation.

View File

@ -28,6 +28,7 @@
#include <cstdarg>
#include <cstdlib>
using namespace llvm;
using std::error_code;
//===----------------------------------------------------------------------===//
// Methods to implement the globals and functions lists.

View File

@ -21,6 +21,7 @@
#include <system_error>
using namespace llvm;
using std::error_code;
namespace llvm {
extern bool TimePassesIsEnabled;

View File

@ -53,6 +53,7 @@
#include "llvm/Transforms/ObjCARC.h"
#include <system_error>
using namespace llvm;
using std::error_code;
const char* LTOCodeGenerator::getVersionString() {
#ifdef LLVM_VERSION_INFO

View File

@ -43,6 +43,7 @@
#include "llvm/Transforms/Utils/GlobalStatus.h"
#include <system_error>
using namespace llvm;
using std::error_code;
LTOModule::LTOModule(llvm::Module *m, llvm::TargetMachine *t)
: _module(m), _target(t),

View File

@ -28,6 +28,7 @@
#include <map>
using namespace llvm;
using std::error_code;
MCContext::MCContext(const MCAsmInfo *mai, const MCRegisterInfo *mri,
const MCObjectFileInfo *mofi, const SourceMgr *mgr,

View File

@ -25,6 +25,7 @@
#include <vector>
namespace llvm {
using std::error_code;
namespace {

View File

@ -20,6 +20,7 @@
using namespace llvm;
using namespace object;
using std::error_code;
static const char *const Magic = "!<arch>\n";

View File

@ -81,7 +81,7 @@ ErrorOr<Binary *> object::createBinary(MemoryBuffer *Source,
ErrorOr<Binary *> object::createBinary(StringRef Path) {
std::unique_ptr<MemoryBuffer> File;
if (error_code EC = MemoryBuffer::getFileOrSTDIN(Path, File))
if (std::error_code EC = MemoryBuffer::getFileOrSTDIN(Path, File))
return EC;
return createBinary(File.release());
}

View File

@ -24,6 +24,7 @@
using namespace llvm;
using namespace object;
using std::error_code;
using support::ulittle8_t;
using support::ulittle16_t;

View File

@ -15,6 +15,7 @@
#include "llvm/Support/MathExtras.h"
namespace llvm {
using std::error_code;
using namespace object;
ErrorOr<ObjectFile *> ObjectFile::createELFObjectFile(MemoryBuffer *Obj,

View File

@ -19,6 +19,7 @@
#include "llvm/Support/raw_ostream.h"
using namespace llvm;
using namespace object;
using std::error_code;
IRObjectFile::IRObjectFile(MemoryBuffer *Object, error_code &EC,
LLVMContext &Context, bool BufferOwned)

View File

@ -28,6 +28,8 @@ using namespace llvm;
using namespace object;
namespace llvm {
using std::error_code;
namespace object {
struct nlist_base {
@ -316,7 +318,7 @@ static void printRelocationTargetName(const MachOObjectFile *O,
uint32_t Val = O->getPlainRelocationSymbolNum(RE);
for (const SymbolRef &Symbol : O->symbols()) {
error_code ec;
std::error_code ec;
uint64_t Addr;
StringRef Name;
@ -333,7 +335,7 @@ static void printRelocationTargetName(const MachOObjectFile *O,
// If we couldn't find a symbol that this relocation refers to, try
// to find a section beginning instead.
for (const SectionRef &Section : O->sections()) {
error_code ec;
std::error_code ec;
uint64_t Addr;
StringRef Name;
@ -427,7 +429,7 @@ static uint32_t getSectionFlags(const MachOObjectFile *O,
}
MachOObjectFile::MachOObjectFile(MemoryBuffer *Object, bool IsLittleEndian,
bool Is64bits, error_code &EC,
bool Is64bits, std::error_code &EC,
bool BufferOwned)
: ObjectFile(getMachOType(IsLittleEndian, Is64bits), Object, BufferOwned),
SymtabLoadCmd(nullptr), DysymtabLoadCmd(nullptr),
@ -475,8 +477,8 @@ void MachOObjectFile::moveSymbolNext(DataRefImpl &Symb) const {
Symb.p += SymbolTableEntrySize;
}
error_code MachOObjectFile::getSymbolName(DataRefImpl Symb,
StringRef &Res) const {
std::error_code MachOObjectFile::getSymbolName(DataRefImpl Symb,
StringRef &Res) const {
StringRef StringTable = getStringTableData();
nlist_base Entry = getSymbolTableEntryBase(this, Symb);
const char *Start = &StringTable.data()[Entry.n_strx];
@ -486,8 +488,8 @@ error_code MachOObjectFile::getSymbolName(DataRefImpl Symb,
// getIndirectName() returns the name of the alias'ed symbol who's string table
// index is in the n_value field.
error_code MachOObjectFile::getIndirectName(DataRefImpl Symb,
StringRef &Res) const {
std::error_code MachOObjectFile::getIndirectName(DataRefImpl Symb,
StringRef &Res) const {
StringRef StringTable = getStringTableData();
uint64_t NValue;
if (is64Bit()) {
@ -508,8 +510,8 @@ error_code MachOObjectFile::getIndirectName(DataRefImpl Symb,
return object_error::success;
}
error_code MachOObjectFile::getSymbolAddress(DataRefImpl Symb,
uint64_t &Res) const {
std::error_code MachOObjectFile::getSymbolAddress(DataRefImpl Symb,
uint64_t &Res) const {
if (is64Bit()) {
MachO::nlist_64 Entry = getSymbol64TableEntry(Symb);
if ((Entry.n_type & MachO::N_TYPE) == MachO::N_UNDF &&
@ -528,8 +530,8 @@ error_code MachOObjectFile::getSymbolAddress(DataRefImpl Symb,
return object_error::success;
}
error_code MachOObjectFile::getSymbolAlignment(DataRefImpl DRI,
uint32_t &Result) const {
std::error_code MachOObjectFile::getSymbolAlignment(DataRefImpl DRI,
uint32_t &Result) const {
uint32_t flags = getSymbolFlags(DRI);
if (flags & SymbolRef::SF_Common) {
nlist_base Entry = getSymbolTableEntryBase(this, DRI);
@ -540,8 +542,8 @@ error_code MachOObjectFile::getSymbolAlignment(DataRefImpl DRI,
return object_error::success;
}
error_code MachOObjectFile::getSymbolSize(DataRefImpl DRI,
uint64_t &Result) const {
std::error_code MachOObjectFile::getSymbolSize(DataRefImpl DRI,
uint64_t &Result) const {
uint64_t BeginOffset;
uint64_t EndOffset = 0;
uint8_t SectionIndex;
@ -589,8 +591,8 @@ error_code MachOObjectFile::getSymbolSize(DataRefImpl DRI,
return object_error::success;
}
error_code MachOObjectFile::getSymbolType(DataRefImpl Symb,
SymbolRef::Type &Res) const {
std::error_code MachOObjectFile::getSymbolType(DataRefImpl Symb,
SymbolRef::Type &Res) const {
nlist_base Entry = getSymbolTableEntryBase(this, Symb);
uint8_t n_type = Entry.n_type;
@ -649,9 +651,8 @@ uint32_t MachOObjectFile::getSymbolFlags(DataRefImpl DRI) const {
return Result;
}
error_code
MachOObjectFile::getSymbolSection(DataRefImpl Symb,
section_iterator &Res) const {
std::error_code MachOObjectFile::getSymbolSection(DataRefImpl Symb,
section_iterator &Res) const {
nlist_base Entry = getSymbolTableEntryBase(this, Symb);
uint8_t index = Entry.n_sect;
@ -670,15 +671,15 @@ void MachOObjectFile::moveSectionNext(DataRefImpl &Sec) const {
Sec.d.a++;
}
error_code
MachOObjectFile::getSectionName(DataRefImpl Sec, StringRef &Result) const {
std::error_code MachOObjectFile::getSectionName(DataRefImpl Sec,
StringRef &Result) const {
ArrayRef<char> Raw = getSectionRawName(Sec);
Result = parseSegmentOrSectionName(Raw.data());
return object_error::success;
}
error_code
MachOObjectFile::getSectionAddress(DataRefImpl Sec, uint64_t &Res) const {
std::error_code MachOObjectFile::getSectionAddress(DataRefImpl Sec,
uint64_t &Res) const {
if (is64Bit()) {
MachO::section_64 Sect = getSection64(Sec);
Res = Sect.addr;
@ -689,8 +690,8 @@ MachOObjectFile::getSectionAddress(DataRefImpl Sec, uint64_t &Res) const {
return object_error::success;
}
error_code
MachOObjectFile::getSectionSize(DataRefImpl Sec, uint64_t &Res) const {
std::error_code MachOObjectFile::getSectionSize(DataRefImpl Sec,
uint64_t &Res) const {
if (is64Bit()) {
MachO::section_64 Sect = getSection64(Sec);
Res = Sect.size;
@ -702,8 +703,8 @@ MachOObjectFile::getSectionSize(DataRefImpl Sec, uint64_t &Res) const {
return object_error::success;
}
error_code
MachOObjectFile::getSectionContents(DataRefImpl Sec, StringRef &Res) const {
std::error_code MachOObjectFile::getSectionContents(DataRefImpl Sec,
StringRef &Res) const {
uint32_t Offset;
uint64_t Size;
@ -721,8 +722,8 @@ MachOObjectFile::getSectionContents(DataRefImpl Sec, StringRef &Res) const {
return object_error::success;
}
error_code
MachOObjectFile::getSectionAlignment(DataRefImpl Sec, uint64_t &Res) const {
std::error_code MachOObjectFile::getSectionAlignment(DataRefImpl Sec,
uint64_t &Res) const {
uint32_t Align;
if (is64Bit()) {
MachO::section_64 Sect = getSection64(Sec);
@ -736,14 +737,15 @@ MachOObjectFile::getSectionAlignment(DataRefImpl Sec, uint64_t &Res) const {
return object_error::success;
}
error_code
MachOObjectFile::isSectionText(DataRefImpl Sec, bool &Res) const {
std::error_code MachOObjectFile::isSectionText(DataRefImpl Sec,
bool &Res) const {
uint32_t Flags = getSectionFlags(this, Sec);
Res = Flags & MachO::S_ATTR_PURE_INSTRUCTIONS;
return object_error::success;
}
error_code MachOObjectFile::isSectionData(DataRefImpl Sec, bool &Result) const {
std::error_code MachOObjectFile::isSectionData(DataRefImpl Sec,
bool &Result) const {
uint32_t Flags = getSectionFlags(this, Sec);
unsigned SectionType = Flags & MachO::SECTION_TYPE;
Result = !(Flags & MachO::S_ATTR_PURE_INSTRUCTIONS) &&
@ -752,7 +754,8 @@ error_code MachOObjectFile::isSectionData(DataRefImpl Sec, bool &Result) const {
return object_error::success;
}
error_code MachOObjectFile::isSectionBSS(DataRefImpl Sec, bool &Result) const {
std::error_code MachOObjectFile::isSectionBSS(DataRefImpl Sec,
bool &Result) const {
uint32_t Flags = getSectionFlags(this, Sec);
unsigned SectionType = Flags & MachO::SECTION_TYPE;
Result = !(Flags & MachO::S_ATTR_PURE_INSTRUCTIONS) &&
@ -761,7 +764,7 @@ error_code MachOObjectFile::isSectionBSS(DataRefImpl Sec, bool &Result) const {
return object_error::success;
}
error_code
std::error_code
MachOObjectFile::isSectionRequiredForExecution(DataRefImpl Sec,
bool &Result) const {
// FIXME: Unimplemented.
@ -769,15 +772,15 @@ MachOObjectFile::isSectionRequiredForExecution(DataRefImpl Sec,
return object_error::success;
}
error_code MachOObjectFile::isSectionVirtual(DataRefImpl Sec,
bool &Result) const {
std::error_code MachOObjectFile::isSectionVirtual(DataRefImpl Sec,
bool &Result) const {
// FIXME: Unimplemented.
Result = false;
return object_error::success;
}
error_code
MachOObjectFile::isSectionZeroInit(DataRefImpl Sec, bool &Res) const {
std::error_code MachOObjectFile::isSectionZeroInit(DataRefImpl Sec,
bool &Res) const {
uint32_t Flags = getSectionFlags(this, Sec);
unsigned SectionType = Flags & MachO::SECTION_TYPE;
Res = SectionType == MachO::S_ZEROFILL ||
@ -785,8 +788,8 @@ MachOObjectFile::isSectionZeroInit(DataRefImpl Sec, bool &Res) const {
return object_error::success;
}
error_code MachOObjectFile::isSectionReadOnlyData(DataRefImpl Sec,
bool &Result) const {
std::error_code MachOObjectFile::isSectionReadOnlyData(DataRefImpl Sec,
bool &Result) const {
// Consider using the code from isSectionText to look for __const sections.
// Alternately, emit S_ATTR_PURE_INSTRUCTIONS and/or S_ATTR_SOME_INSTRUCTIONS
// to use section attributes to distinguish code from data.
@ -796,9 +799,9 @@ error_code MachOObjectFile::isSectionReadOnlyData(DataRefImpl Sec,
return object_error::success;
}
error_code
MachOObjectFile::sectionContainsSymbol(DataRefImpl Sec, DataRefImpl Symb,
bool &Result) const {
std::error_code MachOObjectFile::sectionContainsSymbol(DataRefImpl Sec,
DataRefImpl Symb,
bool &Result) const {
SymbolRef::Type ST;
this->getSymbolType(Symb, ST);
if (ST == SymbolRef::ST_Unknown) {
@ -846,8 +849,8 @@ void MachOObjectFile::moveRelocationNext(DataRefImpl &Rel) const {
++Rel.d.b;
}
error_code
MachOObjectFile::getRelocationAddress(DataRefImpl Rel, uint64_t &Res) const {
std::error_code MachOObjectFile::getRelocationAddress(DataRefImpl Rel,
uint64_t &Res) const {
uint64_t Offset;
getRelocationOffset(Rel, Offset);
@ -859,8 +862,8 @@ MachOObjectFile::getRelocationAddress(DataRefImpl Rel, uint64_t &Res) const {
return object_error::success;
}
error_code MachOObjectFile::getRelocationOffset(DataRefImpl Rel,
uint64_t &Res) const {
std::error_code MachOObjectFile::getRelocationOffset(DataRefImpl Rel,
uint64_t &Res) const {
assert(getHeader().filetype == MachO::MH_OBJECT &&
"Only implemented for MH_OBJECT");
MachO::any_relocation_info RE = getRelocation(Rel);
@ -886,14 +889,14 @@ MachOObjectFile::getRelocationSymbol(DataRefImpl Rel) const {
return symbol_iterator(SymbolRef(Sym, this));
}
error_code MachOObjectFile::getRelocationType(DataRefImpl Rel,
uint64_t &Res) const {
std::error_code MachOObjectFile::getRelocationType(DataRefImpl Rel,
uint64_t &Res) const {
MachO::any_relocation_info RE = getRelocation(Rel);
Res = getAnyRelocationType(RE);
return object_error::success;
}
error_code
std::error_code
MachOObjectFile::getRelocationTypeName(DataRefImpl Rel,
SmallVectorImpl<char> &Result) const {
StringRef res;
@ -1006,7 +1009,7 @@ MachOObjectFile::getRelocationTypeName(DataRefImpl Rel,
return object_error::success;
}
error_code
std::error_code
MachOObjectFile::getRelocationValueString(DataRefImpl Rel,
SmallVectorImpl<char> &Result) const {
MachO::any_relocation_info RE = getRelocation(Rel);
@ -1182,8 +1185,8 @@ MachOObjectFile::getRelocationValueString(DataRefImpl Rel,
return object_error::success;
}
error_code
MachOObjectFile::getRelocationHidden(DataRefImpl Rel, bool &Result) const {
std::error_code MachOObjectFile::getRelocationHidden(DataRefImpl Rel,
bool &Result) const {
unsigned Arch = getArch();
uint64_t Type;
getRelocationType(Rel, Type);
@ -1210,13 +1213,13 @@ MachOObjectFile::getRelocationHidden(DataRefImpl Rel, bool &Result) const {
return object_error::success;
}
error_code MachOObjectFile::getLibraryNext(DataRefImpl LibData,
LibraryRef &Res) const {
std::error_code MachOObjectFile::getLibraryNext(DataRefImpl LibData,
LibraryRef &Res) const {
report_fatal_error("Needed libraries unimplemented in MachOObjectFile");
}
error_code MachOObjectFile::getLibraryPath(DataRefImpl LibData,
StringRef &Res) const {
std::error_code MachOObjectFile::getLibraryPath(DataRefImpl LibData,
StringRef &Res) const {
report_fatal_error("Needed libraries unimplemented in MachOObjectFile");
}
@ -1367,8 +1370,8 @@ guess_qtx:
// normal two-level namespace default (that is MH_TWOLEVEL in the header).
// It is passed the index (0 - based) of the library as translated from
// GET_LIBRARY_ORDINAL (1 - based).
error_code MachOObjectFile::getLibraryShortNameByIndex(unsigned Index,
StringRef &Res) {
std::error_code MachOObjectFile::getLibraryShortNameByIndex(unsigned Index,
StringRef &Res) {
if (Index >= Libraries.size())
return object_error::parse_failed;
@ -1818,7 +1821,7 @@ void MachOObjectFile::ReadULEB128s(uint64_t Index,
ErrorOr<ObjectFile *> ObjectFile::createMachOObjectFile(MemoryBuffer *Buffer,
bool BufferOwned) {
StringRef Magic = Buffer->getBuffer().slice(0, 4);
error_code EC;
std::error_code EC;
std::unique_ptr<MachOObjectFile> Ret;
if (Magic == "\xFE\xED\xFA\xCE")
Ret.reset(new MachOObjectFile(Buffer, false, false, EC, BufferOwned));

View File

@ -21,6 +21,7 @@
using namespace llvm;
using namespace object;
using std::error_code;
template<typename T>
static void SwapValue(T &Value) {

View File

@ -18,6 +18,7 @@
using namespace llvm;
using namespace object;
using std::error_code;
inline ObjectFile *unwrap(LLVMObjectFileRef OF) {
return reinterpret_cast<ObjectFile*>(OF);

View File

@ -20,6 +20,7 @@
using namespace llvm;
using namespace object;
using std::error_code;
void ObjectFile::anchor() { }

View File

@ -20,6 +20,7 @@
#include <cassert>
using namespace llvm;
using std::error_code;
static error_code setupMemoryBuffer(std::string Path,
std::unique_ptr<MemoryBuffer> &Buffer) {

View File

@ -66,9 +66,10 @@ public:
};
}
error_code InstrProfWriter::addFunctionCounts(StringRef FunctionName,
uint64_t FunctionHash,
ArrayRef<uint64_t> Counters) {
std::error_code
InstrProfWriter::addFunctionCounts(StringRef FunctionName,
uint64_t FunctionHash,
ArrayRef<uint64_t> Counters) {
auto Where = FunctionData.find(FunctionName);
if (Where == FunctionData.end()) {
// If this is the first time we've seen this function, just add it.

View File

@ -28,6 +28,7 @@
#include <io.h>
#endif
using namespace llvm;
using std::error_code;
#define DEBUG_TYPE "Data-stream"

View File

@ -17,6 +17,7 @@
#include <system_error>
using llvm::sys::fs::mapped_file_region;
using std::error_code;
namespace llvm {
FileOutputBuffer::FileOutputBuffer(mapped_file_region * R,

View File

@ -22,6 +22,7 @@
#include <cstring>
#include <system_error>
using namespace llvm;
using std::error_code;
static bool isSignedChar(char C) {
return (C == '+' || C == '-');

View File

@ -68,7 +68,7 @@ StringRef llvm::DOT::getColorString(unsigned ColorNumber) {
std::string llvm::createGraphFilename(const Twine &Name, int &FD) {
FD = -1;
SmallString<128> Filename;
error_code EC = sys::fs::createTemporaryFile(Name, "dot", FD, Filename);
std::error_code EC = sys::fs::createTemporaryFile(Name, "dot", FD, Filename);
if (EC) {
errs() << "Error: " << EC.message() << "\n";
return "";

View File

@ -22,6 +22,7 @@
#include <unistd.h>
#endif
using namespace llvm;
using std::error_code;
/// \brief Attempt to read the lock file with the given name, if it exists.
///

View File

@ -33,6 +33,7 @@
#include <io.h>
#endif
using namespace llvm;
using std::error_code;
//===----------------------------------------------------------------------===//
// MemoryBuffer implementation itself.

View File

@ -28,6 +28,7 @@
#endif
using namespace llvm;
using std::error_code;
namespace {
using llvm::StringRef;

View File

@ -37,6 +37,7 @@ extern "C" void sys_icache_invalidate(const void *Addr, size_t len);
#else
extern "C" void __clear_cache(void *, void*);
#endif
using std::error_code;
namespace {

View File

@ -46,7 +46,7 @@
using namespace llvm;
using namespace sys;
using std::error_code;
process::id_type self_process::get_id() {
return getpid();

View File

@ -48,6 +48,8 @@
#endif
namespace llvm {
using std::error_code;
using namespace sys;
ProcessInfo::ProcessInfo() : Pid(0), ReturnCode(0) {}

View File

@ -19,6 +19,7 @@
// The Windows.h header must be the last one included.
#include "WindowsSupport.h"
using std::error_code;
namespace {

View File

@ -48,7 +48,7 @@
using namespace llvm;
using namespace sys;
using std::error_code;
process::id_type self_process::get_id() {
return GetCurrentProcessId();

View File

@ -24,6 +24,7 @@
//===----------------------------------------------------------------------===//
namespace llvm {
using std::error_code;
using namespace sys;
ProcessInfo::ProcessInfo() : ProcessHandle(0), Pid(0), ReturnCode(0) {}

View File

@ -18,6 +18,7 @@
#include <cstring>
using namespace llvm;
using namespace yaml;
using std::error_code;
//===----------------------------------------------------------------------===//
// IO

View File

@ -450,7 +450,7 @@ raw_fd_ostream::raw_fd_ostream(const char *Filename, std::string &ErrorInfo,
return;
}
error_code EC = sys::fs::openFileForWrite(Filename, FD, Flags);
std::error_code EC = sys::fs::openFileForWrite(Filename, FD, Flags);
if (EC) {
ErrorInfo = "Error opening output file '" + std::string(Filename) + "': " +

View File

@ -27,6 +27,7 @@
#include <cstdio>
#include <system_error>
using namespace llvm;
using std::error_code;
namespace {
cl::opt<std::string>

View File

@ -51,6 +51,7 @@
#include <cctype>
using namespace llvm;
using std::error_code;
#define DEBUG_TYPE "sample-profile"

View File

@ -36,6 +36,7 @@
#include "llvm/Pass.h"
#include "llvm/Transforms/Utils/Local.h"
using namespace llvm;
using std::error_code;
#define DEBUG_TYPE "simplifycfg"

View File

@ -31,6 +31,7 @@
#include <utility>
namespace llvm {
using std::error_code;
/// Represents a set of regular expressions. Regular expressions which are
/// "literal" (i.e. no regex metacharacters) are stored in Strings, while all

View File

@ -22,6 +22,7 @@
#include <fstream>
using namespace llvm;
using std::error_code;
namespace {
// OutputType - Allow the user to specify the way code should be run, to test

View File

@ -33,6 +33,7 @@
#include "llvm/Transforms/Utils/CodeExtractor.h"
#include <set>
using namespace llvm;
using std::error_code;
#define DEBUG_TYPE "bugpoint"

View File

@ -27,6 +27,7 @@
#include "llvm/Support/FileUtilities.h"
#include "llvm/Transforms/Utils/Cloning.h"
using namespace llvm;
using std::error_code;
namespace llvm {
extern cl::opt<std::string> OutputPrefix;

View File

@ -35,6 +35,7 @@
#include <fstream>
using namespace llvm;
using std::error_code;
#define DEBUG_TYPE "bugpoint"

View File

@ -22,6 +22,7 @@
#include <fstream>
#include <sstream>
using namespace llvm;
using std::error_code;
#define DEBUG_TYPE "toolrunner"

View File

@ -44,6 +44,7 @@
#endif
using namespace llvm;
using std::error_code;
namespace {
ld_plugin_status discard_message(int level, const char *format, ...) {

View File

@ -19,6 +19,7 @@
#include "llvm/Support/Format.h"
using namespace llvm;
using std::error_code;
#define DEBUG_TYPE "lli"

View File

@ -62,6 +62,7 @@
#endif
using namespace llvm;
using std::error_code;
#define DEBUG_TYPE "lli"

View File

@ -36,6 +36,7 @@
#endif
using namespace llvm;
using std::error_code;
// The name this program was invoked as.
static StringRef ToolName;

View File

@ -43,6 +43,7 @@
#include <map>
#include <system_error>
using namespace llvm;
using std::error_code;
static cl::opt<std::string>
InputFilename(cl::Positional, cl::desc("<input bitcode>"), cl::init("-"));

View File

@ -22,6 +22,7 @@
#include "llvm/Support/Signals.h"
#include <system_error>
using namespace llvm;
using std::error_code;
static cl::opt<std::string> SourceFile(cl::Positional, cl::Required,
cl::desc("SOURCEFILE"));

View File

@ -34,6 +34,7 @@
#include "llvm/Support/ToolOutputFile.h"
#include <system_error>
using namespace llvm;
using std::error_code;
static cl::opt<std::string>
InputFilename(cl::Positional, cl::desc("<input bitcode>"), cl::init("-"));

View File

@ -33,6 +33,7 @@
using namespace llvm;
using namespace object;
using std::error_code;
static cl::list<std::string>
InputFilenames(cl::Positional, cl::desc("<input object files>"),

View File

@ -40,6 +40,7 @@
#include "llvm/Support/TargetSelect.h"
#include "llvm/Support/ToolOutputFile.h"
using namespace llvm;
using std::error_code;
static cl::opt<std::string>
InputFilename(cl::Positional, cl::desc("<input file>"), cl::init("-"));

View File

@ -21,6 +21,7 @@
#include "llvm/Support/raw_ostream.h"
#include <system_error>
using namespace llvm;
using std::error_code;
static cl::list<std::string>
InputFilenames(cl::Positional, cl::desc("<input files>"),

View File

@ -45,6 +45,7 @@
#include <vector>
using namespace llvm;
using namespace object;
using std::error_code;
namespace {
enum OutputFormatTy { bsd, sysv, posix, darwin };

View File

@ -64,6 +64,7 @@
using namespace llvm;
using namespace object;
using std::error_code;
static cl::list<std::string>
InputFilenames(cl::Positional, cl::desc("<input object files>"),cl::ZeroOrMore);

View File

@ -16,6 +16,7 @@
#include "llvm/Support/StringRefMemoryObject.h"
namespace llvm {
using std::error_code;
namespace object {
class COFFObjectFile;

View File

@ -24,6 +24,7 @@
#include "llvm/Support/raw_ostream.h"
using namespace llvm;
using std::error_code;
static void exitWithError(const Twine &Message, StringRef Whence = "") {
errs() << "error: ";

View File

@ -22,6 +22,7 @@
#include "llvm/Support/type_traits.h"
namespace llvm {
using std::error_code;
namespace ARM {
namespace EHABI {

View File

@ -15,6 +15,7 @@
#include "llvm/Support/ErrorOr.h"
namespace llvm {
using std::error_code;
namespace ARM {
namespace WinEH {
class RuntimeFunction;

View File

@ -16,6 +16,7 @@
using namespace llvm;
using namespace llvm::object;
using namespace llvm::Win64EH;
using std::error_code;
static const EnumEntry<unsigned> UnwindFlags[] = {
{ "ExceptionHandler", UNW_ExceptionHandler },

View File

@ -14,6 +14,7 @@
#include "llvm/Support/Win64EH.h"
namespace llvm {
using std::error_code;
namespace object {
class COFFObjectFile;
class SymbolRef;

View File

@ -14,6 +14,7 @@
#include <string>
namespace llvm {
using std::error_code;
namespace object {
class RelocationRef;
}

View File

@ -28,6 +28,7 @@
#include <system_error>
using namespace llvm;
using namespace llvm::object;
using std::error_code;
static cl::list<std::string>
InputFileList(cl::Positional, cl::ZeroOrMore,

View File

@ -30,6 +30,7 @@
#include <system_error>
using namespace llvm;
using namespace object;
using std::error_code;
enum OutputFormatTy {berkeley, sysv};
static cl::opt<OutputFormatTy>

View File

@ -26,6 +26,7 @@
#include <stdlib.h>
namespace llvm {
using std::error_code;
namespace symbolize {
static bool error(error_code ec) {

View File

@ -29,6 +29,7 @@
using namespace llvm;
using namespace symbolize;
using std::error_code;
static cl::opt<bool>
ClUseSymbolTable("use-symbol-table", cl::init(true),

View File

@ -23,6 +23,7 @@
#include <system_error>
using namespace llvm;
using namespace llvm::object;
using std::error_code;
static cl::opt<std::string>
InputFile(cl::Positional, cl::desc("<input file>"), cl::init("-"));

View File

@ -14,6 +14,7 @@
#include "llvm/Support/YAMLTraits.h"
using namespace llvm;
using std::error_code;
namespace {

View File

@ -31,6 +31,7 @@
#include <vector>
using namespace llvm;
using std::error_code;
// This variable is intentionally defined differently in the statically-compiled
// program from the IR input to the JIT to assert that the JIT doesn't use its

Some files were not shown because too many files have changed in this diff Show More