summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/ExecutionEngine/SectionMemoryManager.h5
-rw-r--r--include/llvm/IR/GVMaterializer.h5
-rw-r--r--include/llvm/IR/Module.h5
-rw-r--r--include/llvm/Object/Archive.h16
-rw-r--r--include/llvm/Object/COFF.h135
-rw-r--r--include/llvm/Object/ELF.h19
-rw-r--r--include/llvm/Object/ELFObjectFile.h221
-rw-r--r--include/llvm/Object/Error.h5
-rw-r--r--include/llvm/Object/IRObjectFile.h5
-rw-r--r--include/llvm/Object/MachO.h106
-rw-r--r--include/llvm/Object/MachOUniversal.h10
-rw-r--r--include/llvm/Object/ObjectFile.h206
-rw-r--r--include/llvm/Object/SymbolicFile.h8
-rw-r--r--include/llvm/ProfileData/InstrProf.h5
-rw-r--r--include/llvm/ProfileData/InstrProfReader.h43
-rw-r--r--include/llvm/ProfileData/InstrProfWriter.h5
-rw-r--r--include/llvm/Support/ErrorOr.h23
-rw-r--r--include/llvm/Support/FileOutputBuffer.h8
-rw-r--r--include/llvm/Support/FileSystem.h117
-rw-r--r--include/llvm/Support/LockFileManager.h3
-rw-r--r--include/llvm/Support/Memory.h9
-rw-r--r--include/llvm/Support/MemoryBuffer.h38
-rw-r--r--include/llvm/Support/Process.h2
-rw-r--r--include/llvm/Support/Program.h5
-rw-r--r--lib/AsmParser/Parser.cpp1
-rw-r--r--lib/Bitcode/Reader/BitReader.cpp1
-rw-r--r--lib/Bitcode/Reader/BitcodeReader.h1
-rw-r--r--lib/DebugInfo/DWARFContext.cpp1
-rw-r--r--lib/ExecutionEngine/Interpreter/Interpreter.cpp1
-rw-r--r--lib/ExecutionEngine/MCJIT/SectionMemoryManager.cpp23
-rw-r--r--lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h1
-rw-r--r--lib/IR/Core.cpp1
-rw-r--r--lib/IR/GCOV.cpp1
-rw-r--r--lib/IR/Module.cpp1
-rw-r--r--lib/IRReader/IRReader.cpp1
-rw-r--r--lib/LTO/LTOCodeGenerator.cpp1
-rw-r--r--lib/LTO/LTOModule.cpp1
-rw-r--r--lib/MC/MCContext.cpp1
-rw-r--r--lib/MC/MCModuleYAML.cpp1
-rw-r--r--lib/Object/Archive.cpp1
-rw-r--r--lib/Object/Binary.cpp2
-rw-r--r--lib/Object/COFFObjectFile.cpp1
-rw-r--r--lib/Object/ELFObjectFile.cpp1
-rw-r--r--lib/Object/IRObjectFile.cpp1
-rw-r--r--lib/Object/MachOObjectFile.cpp121
-rw-r--r--lib/Object/MachOUniversal.cpp1
-rw-r--r--lib/Object/Object.cpp1
-rw-r--r--lib/Object/ObjectFile.cpp1
-rw-r--r--lib/ProfileData/InstrProfReader.cpp1
-rw-r--r--lib/ProfileData/InstrProfWriter.cpp7
-rw-r--r--lib/Support/DataStream.cpp1
-rw-r--r--lib/Support/FileOutputBuffer.cpp1
-rw-r--r--lib/Support/FileUtilities.cpp1
-rw-r--r--lib/Support/GraphWriter.cpp2
-rw-r--r--lib/Support/LockFileManager.cpp1
-rw-r--r--lib/Support/MemoryBuffer.cpp1
-rw-r--r--lib/Support/Path.cpp1
-rw-r--r--lib/Support/Unix/Memory.inc1
-rw-r--r--lib/Support/Unix/Process.inc2
-rw-r--r--lib/Support/Unix/Program.inc2
-rw-r--r--lib/Support/Windows/Memory.inc1
-rw-r--r--lib/Support/Windows/Process.inc2
-rw-r--r--lib/Support/Windows/Program.inc1
-rw-r--r--lib/Support/YAMLTraits.cpp1
-rw-r--r--lib/Support/raw_ostream.cpp2
-rw-r--r--lib/TableGen/Main.cpp1
-rw-r--r--lib/Transforms/Scalar/SampleProfile.cpp1
-rw-r--r--lib/Transforms/Scalar/SimplifyCFGPass.cpp1
-rw-r--r--lib/Transforms/Utils/SpecialCaseList.cpp1
-rw-r--r--tools/bugpoint/ExecutionDriver.cpp1
-rw-r--r--tools/bugpoint/ExtractFunction.cpp1
-rw-r--r--tools/bugpoint/Miscompilation.cpp1
-rw-r--r--tools/bugpoint/OptimizerDriver.cpp1
-rw-r--r--tools/bugpoint/ToolRunner.cpp1
-rw-r--r--tools/gold/gold-plugin.cpp1
-rw-r--r--tools/lli/RemoteMemoryManager.cpp1
-rw-r--r--tools/lli/lli.cpp1
-rw-r--r--tools/llvm-ar/llvm-ar.cpp1
-rw-r--r--tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp1
-rw-r--r--tools/llvm-cov/llvm-cov.cpp1
-rw-r--r--tools/llvm-dis/llvm-dis.cpp1
-rw-r--r--tools/llvm-dwarfdump/llvm-dwarfdump.cpp1
-rw-r--r--tools/llvm-mc/llvm-mc.cpp1
-rw-r--r--tools/llvm-mcmarkup/llvm-mcmarkup.cpp1
-rw-r--r--tools/llvm-nm/llvm-nm.cpp1
-rw-r--r--tools/llvm-objdump/llvm-objdump.cpp1
-rw-r--r--tools/llvm-objdump/llvm-objdump.h1
-rw-r--r--tools/llvm-profdata/llvm-profdata.cpp1
-rw-r--r--tools/llvm-readobj/ARMEHABIPrinter.h1
-rw-r--r--tools/llvm-readobj/ARMWinEHPrinter.h1
-rw-r--r--tools/llvm-readobj/Win64EHDumper.cpp1
-rw-r--r--tools/llvm-readobj/Win64EHDumper.h1
-rw-r--r--tools/llvm-readobj/llvm-readobj.h1
-rw-r--r--tools/llvm-rtdyld/llvm-rtdyld.cpp1
-rw-r--r--tools/llvm-size/llvm-size.cpp1
-rw-r--r--tools/llvm-symbolizer/LLVMSymbolize.cpp1
-rw-r--r--tools/llvm-symbolizer/llvm-symbolizer.cpp1
-rw-r--r--tools/macho-dump/macho-dump.cpp1
-rw-r--r--tools/obj2yaml/coff2yaml.cpp1
-rw-r--r--unittests/ExecutionEngine/JIT/JITTest.cpp1
-rw-r--r--unittests/Support/FileOutputBufferTest.cpp1
-rw-r--r--unittests/Support/LockFileManagerTest.cpp1
-rw-r--r--unittests/Support/MemoryBufferTest.cpp1
-rw-r--r--unittests/Support/MemoryTest.cpp1
-rw-r--r--unittests/Support/Path.cpp1
-rw-r--r--utils/FileCheck/FileCheck.cpp1
-rw-r--r--utils/FileUpdate/FileUpdate.cpp1
107 files changed, 685 insertions, 556 deletions
diff --git a/include/llvm/ExecutionEngine/SectionMemoryManager.h b/include/llvm/ExecutionEngine/SectionMemoryManager.h
index f24bb4d5a5..136856390b 100644
--- a/include/llvm/ExecutionEngine/SectionMemoryManager.h
+++ b/include/llvm/ExecutionEngine/SectionMemoryManager.h
@@ -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;
diff --git a/include/llvm/IR/GVMaterializer.h b/include/llvm/IR/GVMaterializer.h
index 229048a3ba..4afdbb05f8 100644
--- a/include/llvm/IR/GVMaterializer.h
+++ b/include/llvm/IR/GVMaterializer.h
@@ -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
diff --git a/include/llvm/IR/Module.h b/include/llvm/IR/Module.h
index 7e99158873..e2b86f62fb 100644
--- a/include/llvm/IR/Module.h
+++ b/include/llvm/IR/Module.h
@@ -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
diff --git a/include/llvm/Object/Archive.h b/include/llvm/Object/Archive.h
index 652b6597be..600ab23a78 100644
--- a/include/llvm/Object/Archive.h
+++ b/include/llvm/Object/Archive.h
@@ -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 {
diff --git a/include/llvm/Object/COFF.h b/include/llvm/Object/COFF.h
index bd9c67740d..f0f2793a92 100644
--- a/include/llvm/Object/COFF.h
+++ b/include/llvm/Object/COFF.h
@@ -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;
diff --git a/include/llvm/Object/ELF.h b/include/llvm/Object/ELF.h
index 608d937735..716b3b93c0 100644
--- a/include/llvm/Object/ELF.h
+++ b/include/llvm/Object/ELF.h
@@ -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
diff --git a/include/llvm/Object/ELFObjectFile.h b/include/llvm/Object/ELFObjectFile.h
index 302cabaf8e..876206b38a 100644
--- a/include/llvm/Object/ELFObjectFile.h
+++ b/include/llvm/Object/ELFObjectFile.h
@@ -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 {
+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>
-error_code ELFObjectFile<ELFT>::isSectionZeroInit(DataRefImpl Sec,
- bool &Result) const {
+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>
-error_code ELFObjectFile<ELFT>::isSectionReadOnlyData(DataRefImpl Sec,
- bool &Result) const {
+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);
diff --git a/include/llvm/Object/Error.h b/include/llvm/Object/Error.h
index 4d969393db..701da1272c 100644
--- a/include/llvm/Object/Error.h
+++ b/include/llvm/Object/Error.h
@@ -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.
diff --git a/include/llvm/Object/IRObjectFile.h b/include/llvm/Object/IRObjectFile.h
index 78f5b2b64f..c87fe1519a 100644
--- a/include/llvm/Object/IRObjectFile.h
+++ b/include/llvm/Object/IRObjectFile.h
@@ -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;
diff --git a/include/llvm/Object/MachO.h b/include/llvm/Object/MachO.h
index ab5b462e01..6e1ab253ec 100644
--- a/include/llvm/Object/MachO.h
+++ b/include/llvm/Object/MachO.h
@@ -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;
-
- 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 getIndirectName(DataRefImpl Symb, StringRef &Res) const;
+
+ 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;
-
- error_code getLibraryNext(DataRefImpl LibData,
- LibraryRef &Res) const override;
- error_code getLibraryPath(DataRefImpl LibData, StringRef &Res) 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;
+
+ 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);
diff --git a/include/llvm/Object/MachOUniversal.h b/include/llvm/Object/MachOUniversal.h
index d27c824a87..47e93c26b4 100644
--- a/include/llvm/Object/MachOUniversal.h
+++ b/include/llvm/Object/MachOUniversal.h
@@ -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;
};
}
diff --git a/include/llvm/Object/ObjectFile.h b/include/llvm/Object/ObjectFile.h
index 10209b90c0..152bb7e10c 100644
--- a/include/llvm/Object/ObjectFile.h
+++ b/include/llvm/Object/ObjectFile.h
@@ -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);
}
diff --git a/include/llvm/Object/SymbolicFile.h b/include/llvm/Object/SymbolicFile.h
index 0801f46d56..1133736945 100644
--- a/include/llvm/Object/SymbolicFile.h
+++ b/include/llvm/Object/SymbolicFile.h
@@ -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);
}
diff --git a/include/llvm/ProfileData/InstrProf.h b/include/llvm/ProfileData/InstrProf.h
index a3413d7008..eafb76886c 100644
--- a/include/llvm/ProfileData/InstrProf.h
+++ b/include/llvm/ProfileData/InstrProf.h
@@ -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
diff --git a/include/llvm/ProfileData/InstrProfReader.h b/include/llvm/ProfileData/InstrProfReader.h
index 3e18c76c57..14e747af80 100644
--- a/include/llvm/ProfileData/InstrProfReader.h
+++ b/include/llvm/ProfileData/InstrProfReader.h
@@ -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
diff --git a/include/llvm/ProfileData/InstrProfWriter.h b/include/llvm/ProfileData/InstrProfWriter.h
index fa37bf116d..6e68bee30e 100644
--- a/include/llvm/ProfileData/InstrProfWriter.h
+++ b/include/llvm/ProfileData/InstrProfWriter.h
@@ -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);
};
diff --git a/include/llvm/Support/ErrorOr.h b/include/llvm/Support/ErrorOr.h
index 8664ced657..fc111109fc 100644
--- a/include/llvm/Support/ErrorOr.h
+++ b/include/llvm/Support/ErrorOr.h
@@ -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
diff --git a/include/llvm/Support/FileOutputBuffer.h b/include/llvm/Support/FileOutputBuffer.h
index 40a883ab3b..0a9a979951 100644
--- a/include/llvm/Support/FileOutputBuffer.h
+++ b/include/llvm/Support/FileOutputBuffer.h
@@ -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
diff --git a/include/llvm/Support/FileSystem.h b/include/llvm/Support/FileSystem.h
index 678a3c19ca..6abe90446b 100644
--- a/include/llvm/Support/FileSystem.h
+++ b/include/llvm/Support/FileSystem.h
@@ -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.");
diff --git a/include/llvm/Support/LockFileManager.h b/include/llvm/Support/LockFileManager.h
index dca28fa878..61c65dabae 100644
--- a/include/llvm/Support/LockFileManager.h
+++ b/include/llvm/Support/LockFileManager.h
@@ -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;
diff --git a/include/llvm/Support/Memory.h b/include/llvm/Support/Memory.h
index acd7a04080..b4305cb697 100644
--- a/include/llvm/Support/Memory.h
+++ b/include/llvm/Support/Memory.h
@@ -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
diff --git a/include/llvm/Support/MemoryBuffer.h b/include/llvm/Support/MemoryBuffer.h
index 6d6a5da180..8c742c686b 100644
--- a/include/llvm/Support/MemoryBuffer.h
+++ b/include/llvm/Support/MemoryBuffer.h
@@ -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.
diff --git a/include/llvm/Support/Process.h b/include/llvm/Support/Process.h
index 3ca3372afd..4f98e4de81 100644
--- a/include/llvm/Support/Process.h
+++ b/include/llvm/Support/Process.h
@@ -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);
diff --git a/include/llvm/Support/Program.h b/include/llvm/Support/Program.h
index c1269508e0..51279a9b86 100644
--- a/include/llvm/Support/Program.h
+++ b/include/llvm/Support/Program.h
@@ -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
diff --git a/lib/AsmParser/Parser.cpp b/lib/AsmParser/Parser.cpp
index ef9328a0b1..1dfcc191cb 100644
--- a/lib/AsmParser/Parser.cpp
+++ b/lib/AsmParser/Parser.cpp
@@ -20,6 +20,7 @@
#include <cstring>
#include <system_error>
using namespace llvm;
+using std::error_code;
Module *llvm::ParseAssembly(MemoryBuffer *F,
Module *M,
diff --git a/lib/Bitcode/Reader/BitReader.cpp b/lib/Bitcode/Reader/BitReader.cpp
index 716299fc68..2610e7f96e 100644
--- a/lib/Bitcode/Reader/BitReader.cpp
+++ b/lib/Bitcode/Reader/BitReader.cpp
@@ -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.
diff --git a/lib/Bitcode/Reader/BitcodeReader.h b/lib/Bitcode/Reader/BitcodeReader.h
index 485bd1c12a..7a1b3f2d03 100644
--- a/lib/Bitcode/Reader/BitcodeReader.h
+++ b/lib/Bitcode/Reader/BitcodeReader.h
@@ -26,6 +26,7 @@
#include <vector>
namespace llvm {
+using std::error_code;
class MemoryBuffer;
class LLVMContext;
diff --git a/lib/DebugInfo/DWARFContext.cpp b/lib/DebugInfo/DWARFContext.cpp
index e52e8afab8..110fd815da 100644
--- a/lib/DebugInfo/DWARFContext.cpp
+++ b/lib/DebugInfo/DWARFContext.cpp
@@ -21,6 +21,7 @@
using namespace llvm;
using namespace dwarf;
using namespace object;
+using std::error_code;
#define DEBUG_TYPE "dwarf"
diff --git a/lib/ExecutionEngine/Interpreter/Interpreter.cpp b/lib/ExecutionEngine/Interpreter/Interpreter.cpp
index c589457b67..e3e63f4d5f 100644
--- a/lib/ExecutionEngine/Interpreter/Interpreter.cpp
+++ b/lib/ExecutionEngine/Interpreter/Interpreter.cpp
@@ -19,6 +19,7 @@
#include "llvm/IR/Module.h"
#include <cstring>
using namespace llvm;
+using std::error_code;
namespace {
diff --git a/lib/ExecutionEngine/MCJIT/SectionMemoryManager.cpp b/lib/ExecutionEngine/MCJIT/SectionMemoryManager.cpp
index 1b7d386adc..59860844e9 100644
--- a/lib/ExecutionEngine/MCJIT/SectionMemoryManager.cpp
+++ b/lib/ExecutionEngine/MCJIT/SectionMemoryManager.cpp
@@ -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() {
diff --git a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h
index a526073bc0..53cf8f99ff 100644
--- a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h
+++ b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h
@@ -20,6 +20,7 @@
using namespace llvm;
namespace llvm {
+using std::error_code;
namespace {
// Helper for extensive error checking in debug builds.
diff --git a/lib/IR/Core.cpp b/lib/IR/Core.cpp
index db3128cfa0..5dfe9a68a2 100644
--- a/lib/IR/Core.cpp
+++ b/lib/IR/Core.cpp
@@ -41,6 +41,7 @@
#include <system_error>
using namespace llvm;
+using std::error_code;
#define DEBUG_TYPE "ir"
diff --git a/lib/IR/GCOV.cpp b/lib/IR/GCOV.cpp
index 77dd7e881b..c8dc951a9b 100644
--- a/lib/IR/GCOV.cpp
+++ b/lib/IR/GCOV.cpp
@@ -22,6 +22,7 @@
#include <algorithm>
#include <system_error>
using namespace llvm;
+using std::error_code;
//===----------------------------------------------------------------------===//
// GCOVFile implementation.
diff --git a/lib/IR/Module.cpp b/lib/IR/Module.cpp
index 91b2d91c62..bc72a67917 100644
--- a/lib/IR/Module.cpp
+++ b/lib/IR/Module.cpp
@@ -28,6 +28,7 @@
#include <cstdarg>
#include <cstdlib>
using namespace llvm;
+using std::error_code;
//===----------------------------------------------------------------------===//
// Methods to implement the globals and functions lists.
diff --git a/lib/IRReader/IRReader.cpp b/lib/IRReader/IRReader.cpp
index 3e928d4642..e170a3c85a 100644
--- a/lib/IRReader/IRReader.cpp
+++ b/lib/IRReader/IRReader.cpp
@@ -21,6 +21,7 @@
#include <system_error>
using namespace llvm;
+using std::error_code;
namespace llvm {
extern bool TimePassesIsEnabled;
diff --git a/lib/LTO/LTOCodeGenerator.cpp b/lib/LTO/LTOCodeGenerator.cpp
index 7c62e48bf5..c263f8f477 100644
--- a/lib/LTO/LTOCodeGenerator.cpp
+++ b/lib/LTO/LTOCodeGenerator.cpp
@@ -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
diff --git a/lib/LTO/LTOModule.cpp b/lib/LTO/LTOModule.cpp
index 9af79e5d85..aee0ef8cdc 100644
--- a/lib/LTO/LTOModule.cpp
+++ b/lib/LTO/LTOModule.cpp
@@ -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),
diff --git a/lib/MC/MCContext.cpp b/lib/MC/MCContext.cpp
index 130bb99f98..4ec621fea0 100644
--- a/lib/MC/MCContext.cpp
+++ b/lib/MC/MCContext.cpp
@@ -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,
diff --git a/lib/MC/MCModuleYAML.cpp b/lib/MC/MCModuleYAML.cpp
index f81cb149d8..0df6afd9f0 100644
--- a/lib/MC/MCModuleYAML.cpp
+++ b/lib/MC/MCModuleYAML.cpp
@@ -25,6 +25,7 @@
#include <vector>
namespace llvm {
+using std::error_code;
namespace {
diff --git a/lib/Object/Archive.cpp b/lib/Object/Archive.cpp
index 77421c7da3..1e66da0639 100644
--- a/lib/Object/Archive.cpp
+++ b/lib/Object/Archive.cpp
@@ -20,6 +20,7 @@
using namespace llvm;
using namespace object;
+using std::error_code;
static const char *const Magic = "!<arch>\n";
diff --git a/lib/Object/Binary.cpp b/lib/Object/Binary.cpp
index 63fd3ed011..c55ed0c759 100644
--- a/lib/Object/Binary.cpp
+++ b/lib/Object/Binary.cpp
@@ -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());
}
diff --git a/lib/Object/COFFObjectFile.cpp b/lib/Object/COFFObjectFile.cpp
index 262c040c57..8528840e12 100644
--- a/lib/Object/COFFObjectFile.cpp
+++ b/lib/Object/COFFObjectFile.cpp
@@ -24,6 +24,7 @@
using namespace llvm;
using namespace object;
+using std::error_code;
using support::ulittle8_t;
using support::ulittle16_t;
diff --git a/lib/Object/ELFObjectFile.cpp b/lib/Object/ELFObjectFile.cpp
index a2c4df2007..de05abb43b 100644
--- a/lib/Object/ELFObjectFile.cpp
+++ b/lib/Object/ELFObjectFile.cpp
@@ -15,6 +15,7 @@
#include "llvm/Support/MathExtras.h"
namespace llvm {
+using std::error_code;
using namespace object;
ErrorOr<ObjectFile *> ObjectFile::createELFObjectFile(MemoryBuffer *Obj,
diff --git a/lib/Object/IRObjectFile.cpp b/lib/Object/IRObjectFile.cpp
index a8aba26c5a..57c2232d47 100644
--- a/lib/Object/IRObjectFile.cpp
+++ b/lib/Object/IRObjectFile.cpp
@@ -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)
diff --git a/lib/Object/MachOObjectFile.cpp b/lib/Object/MachOObjectFile.cpp
index 1fb0c13407..a71a139b02 100644
--- a/lib/Object/MachOObjectFile.cpp
+++ b/lib/Object/MachOObjectFile.cpp
@@ -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));
diff --git a/lib/Object/MachOUniversal.cpp b/lib/Object/MachOUniversal.cpp
index 5085efde5e..1d45004273 100644
--- a/lib/Object/MachOUniversal.cpp
+++ b/lib/Object/MachOUniversal.cpp
@@ -21,6 +21,7 @@
using namespace llvm;
using namespace object;
+using std::error_code;
template<typename T>
static void SwapValue(T &Value) {
diff --git a/lib/Object/Object.cpp b/lib/Object/Object.cpp
index b0068a87b0..8792345c79 100644
--- a/lib/Object/Object.cpp
+++ b/lib/Object/Object.cpp
@@ -18,6 +18,7 @@
using namespace llvm;
using namespace object;
+using std::error_code;
inline ObjectFile *unwrap(LLVMObjectFileRef OF) {
return reinterpret_cast<ObjectFile*>(OF);
diff --git a/lib/Object/ObjectFile.cpp b/lib/Object/ObjectFile.cpp
index 0be972e26b..5d43249234 100644
--- a/lib/Object/ObjectFile.cpp
+++ b/lib/Object/ObjectFile.cpp
@@ -20,6 +20,7 @@
using namespace llvm;
using namespace object;
+using std::error_code;
void ObjectFile::anchor() { }
diff --git a/lib/ProfileData/InstrProfReader.cpp b/lib/ProfileData/InstrProfReader.cpp
index 7014f5e5cc..8d3ec5d2a3 100644
--- a/lib/ProfileData/InstrProfReader.cpp
+++ b/lib/ProfileData/InstrProfReader.cpp
@@ -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) {
diff --git a/lib/ProfileData/InstrProfWriter.cpp b/lib/ProfileData/InstrProfWriter.cpp
index 83c41d93bb..e55c299181 100644
--- a/lib/ProfileData/InstrProfWriter.cpp
+++ b/lib/ProfileData/InstrProfWriter.cpp
@@ -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.
diff --git a/lib/Support/DataStream.cpp b/lib/Support/DataStream.cpp
index 830bd8adb9..0d8a800d70 100644
--- a/lib/Support/DataStream.cpp
+++ b/lib/Support/DataStream.cpp
@@ -28,6 +28,7 @@
#include <io.h>
#endif
using namespace llvm;
+using std::error_code;
#define DEBUG_TYPE "Data-stream"
diff --git a/lib/Support/FileOutputBuffer.cpp b/lib/Support/FileOutputBuffer.cpp
index 96fa58767e..68f6fa16f9 100644
--- a/lib/Support/FileOutputBuffer.cpp
+++ b/lib/Support/FileOutputBuffer.cpp
@@ -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,
diff --git a/lib/Support/FileUtilities.cpp b/lib/Support/FileUtilities.cpp
index 68953d347f..729e44789c 100644
--- a/lib/Support/FileUtilities.cpp
+++ b/lib/Support/FileUtilities.cpp
@@ -22,6 +22,7 @@
#include <cstring>
#include <system_error>
using namespace llvm;
+using std::error_code;
static bool isSignedChar(char C) {
return (C == '+' || C == '-');
diff --git a/lib/Support/GraphWriter.cpp b/lib/Support/GraphWriter.cpp
index 306f3e89d0..e68ee434dd 100644
--- a/lib/Support/GraphWriter.cpp
+++ b/lib/Support/GraphWriter.cpp
@@ -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 "";
diff --git a/lib/Support/LockFileManager.cpp b/lib/Support/LockFileManager.cpp
index b050e5de8d..0204e75f84 100644
--- a/lib/Support/LockFileManager.cpp
+++ b/lib/Support/LockFileManager.cpp
@@ -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.
///
diff --git a/lib/Support/MemoryBuffer.cpp b/lib/Support/MemoryBuffer.cpp
index 0164443ad5..c395ce72b8 100644
--- a/lib/Support/MemoryBuffer.cpp
+++ b/lib/Support/MemoryBuffer.cpp
@@ -33,6 +33,7 @@
#include <io.h>
#endif
using namespace llvm;
+using std::error_code;
//===----------------------------------------------------------------------===//
// MemoryBuffer implementation itself.
diff --git a/lib/Support/Path.cpp b/lib/Support/Path.cpp
index dabf763c8d..13e3a8ad02 100644
--- a/lib/Support/Path.cpp
+++ b/lib/Support/Path.cpp
@@ -28,6 +28,7 @@
#endif
using namespace llvm;
+using std::error_code;
namespace {
using llvm::StringRef;
diff --git a/lib/Support/Unix/Memory.inc b/lib/Support/Unix/Memory.inc
index 10de038f43..cca3782949 100644
--- a/lib/Support/Unix/Memory.inc
+++ b/lib/Support/Unix/Memory.inc
@@ -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 {
diff --git a/lib/Support/Unix/Process.inc b/lib/Support/Unix/Process.inc
index d927bb539e..ea2b8dcda2 100644
--- a/lib/Support/Unix/Process.inc
+++ b/lib/Support/Unix/Process.inc
@@ -46,7 +46,7 @@
using namespace llvm;
using namespace sys;
-
+using std::error_code;
process::id_type self_process::get_id() {
return getpid();
diff --git a/lib/Support/Unix/Program.inc b/lib/Support/Unix/Program.inc
index f4c6cdf7e9..d850664334 100644
--- a/lib/Support/Unix/Program.inc
+++ b/lib/Support/Unix/Program.inc
@@ -48,6 +48,8 @@
#endif
namespace llvm {
+using std::error_code;
+
using namespace sys;
ProcessInfo::ProcessInfo() : Pid(0), ReturnCode(0) {}
diff --git a/lib/Support/Windows/Memory.inc b/lib/Support/Windows/Memory.inc
index d410df35aa..431cfb6cf9 100644
--- a/lib/Support/Windows/Memory.inc
+++ b/lib/Support/Windows/Memory.inc
@@ -19,6 +19,7 @@
// The Windows.h header must be the last one included.
#include "WindowsSupport.h"
+using std::error_code;
namespace {
diff --git a/lib/Support/Windows/Process.inc b/lib/Support/Windows/Process.inc
index 0be871c695..c88557c5ee 100644
--- a/lib/Support/Windows/Process.inc
+++ b/lib/Support/Windows/Process.inc
@@ -48,7 +48,7 @@
using namespace llvm;
using namespace sys;
-
+using std::error_code;
process::id_type self_process::get_id() {
return GetCurrentProcessId();
diff --git a/lib/Support/Windows/Program.inc b/lib/Support/Windows/Program.inc
index 6c7ddbde33..8d1df5ffc9 100644
--- a/lib/Support/Windows/Program.inc
+++ b/lib/Support/Windows/Program.inc
@@ -24,6 +24,7 @@
//===----------------------------------------------------------------------===//
namespace llvm {
+using std::error_code;
using namespace sys;
ProcessInfo::ProcessInfo() : ProcessHandle(0), Pid(0), ReturnCode(0) {}
diff --git a/lib/Support/YAMLTraits.cpp b/lib/Support/YAMLTraits.cpp
index 66af33693d..0042c29036 100644
--- a/lib/Support/YAMLTraits.cpp
+++ b/lib/Support/YAMLTraits.cpp
@@ -18,6 +18,7 @@
#include <cstring>
using namespace llvm;
using namespace yaml;
+using std::error_code;
//===----------------------------------------------------------------------===//
// IO
diff --git a/lib/Support/raw_ostream.cpp b/lib/Support/raw_ostream.cpp
index 6a61b1b2a6..f7c213ac2b 100644
--- a/lib/Support/raw_ostream.cpp
+++ b/lib/Support/raw_ostream.cpp
@@ -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) + "': " +
diff --git a/lib/TableGen/Main.cpp b/lib/TableGen/Main.cpp
index c932668fde..c757b852a4 100644
--- a/lib/TableGen/Main.cpp
+++ b/lib/TableGen/Main.cpp
@@ -27,6 +27,7 @@
#include <cstdio>
#include <system_error>
using namespace llvm;
+using std::error_code;
namespace {
cl::opt<std::string>
diff --git a/lib/Transforms/Scalar/SampleProfile.cpp b/lib/Transforms/Scalar/SampleProfile.cpp
index 8e557aaa2f..4b97295d17 100644
--- a/lib/Transforms/Scalar/SampleProfile.cpp
+++ b/lib/Transforms/Scalar/SampleProfile.cpp
@@ -51,6 +51,7 @@
#include <cctype>
using namespace llvm;
+using std::error_code;
#define DEBUG_TYPE "sample-profile"
diff --git a/lib/Transforms/Scalar/SimplifyCFGPass.cpp b/lib/Transforms/Scalar/SimplifyCFGPass.cpp
index 5d5606ba47..a09e4853fb 100644
--- a/lib/Transforms/Scalar/SimplifyCFGPass.cpp
+++ b/lib/Transforms/Scalar/SimplifyCFGPass.cpp
@@ -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"
diff --git a/lib/Transforms/Utils/SpecialCaseList.cpp b/lib/Transforms/Utils/SpecialCaseList.cpp
index 0a07b8f1ab..8ae36fe833 100644
--- a/lib/Transforms/Utils/SpecialCaseList.cpp
+++ b/lib/Transforms/Utils/SpecialCaseList.cpp
@@ -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
diff --git a/tools/bugpoint/ExecutionDriver.cpp b/tools/bugpoint/ExecutionDriver.cpp
index 5ed7d2cab3..b41a4b0334 100644
--- a/tools/bugpoint/ExecutionDriver.cpp
+++ b/tools/bugpoint/ExecutionDriver.cpp
@@ -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
diff --git a/tools/bugpoint/ExtractFunction.cpp b/tools/bugpoint/ExtractFunction.cpp
index 38cdf241ce..a257840b6e 100644
--- a/tools/bugpoint/ExtractFunction.cpp
+++ b/tools/bugpoint/ExtractFunction.cpp
@@ -33,6 +33,7 @@
#include "llvm/Transforms/Utils/CodeExtractor.h"
#include <set>
using namespace llvm;
+using std::error_code;
#define DEBUG_TYPE "bugpoint"
diff --git a/tools/bugpoint/Miscompilation.cpp b/tools/bugpoint/Miscompilation.cpp
index f5936ac88e..5143fa1f03 100644
--- a/tools/bugpoint/Miscompilation.cpp
+++ b/tools/bugpoint/Miscompilation.cpp
@@ -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;
diff --git a/tools/bugpoint/OptimizerDriver.cpp b/tools/bugpoint/OptimizerDriver.cpp
index b2722e6d0e..85790b0c63 100644
--- a/tools/bugpoint/OptimizerDriver.cpp
+++ b/tools/bugpoint/OptimizerDriver.cpp
@@ -35,6 +35,7 @@
#include <fstream>
using namespace llvm;
+using std::error_code;
#define DEBUG_TYPE "bugpoint"
diff --git a/tools/bugpoint/ToolRunner.cpp b/tools/bugpoint/ToolRunner.cpp
index c481b03e2b..ec120bb0b2 100644
--- a/tools/bugpoint/ToolRunner.cpp
+++ b/tools/bugpoint/ToolRunner.cpp
@@ -22,6 +22,7 @@
#include <fstream>
#include <sstream>
using namespace llvm;
+using std::error_code;
#define DEBUG_TYPE "toolrunner"
diff --git a/tools/gold/gold-plugin.cpp b/tools/gold/gold-plugin.cpp
index f6b3435e2f..2030fbd6c8 100644
--- a/tools/gold/gold-plugin.cpp
+++ b/tools/gold/gold-plugin.cpp
@@ -44,6 +44,7 @@
#endif
using namespace llvm;
+using std::error_code;
namespace {
ld_plugin_status discard_message(int level, const char *format, ...) {
diff --git a/tools/lli/RemoteMemoryManager.cpp b/tools/lli/RemoteMemoryManager.cpp
index 200ab75152..041f7c7afd 100644
--- a/tools/lli/RemoteMemoryManager.cpp
+++ b/tools/lli/RemoteMemoryManager.cpp
@@ -19,6 +19,7 @@
#include "llvm/Support/Format.h"
using namespace llvm;
+using std::error_code;
#define DEBUG_TYPE "lli"
diff --git a/tools/lli/lli.cpp b/tools/lli/lli.cpp
index 4cde10579c..2c8a4749fd 100644
--- a/tools/lli/lli.cpp
+++ b/tools/lli/lli.cpp
@@ -62,6 +62,7 @@
#endif
using namespace llvm;
+using std::error_code;
#define DEBUG_TYPE "lli"
diff --git a/tools/llvm-ar/llvm-ar.cpp b/tools/llvm-ar/llvm-ar.cpp
index 47e8d8de16..d0d4f1477d 100644
--- a/tools/llvm-ar/llvm-ar.cpp
+++ b/tools/llvm-ar/llvm-ar.cpp
@@ -36,6 +36,7 @@
#endif
using namespace llvm;
+using std::error_code;
// The name this program was invoked as.
static StringRef ToolName;
diff --git a/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp b/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp
index d1c3525bb6..d29c83714a 100644
--- a/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp
+++ b/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp
@@ -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("-"));
diff --git a/tools/llvm-cov/llvm-cov.cpp b/tools/llvm-cov/llvm-cov.cpp
index 0917acd411..97a91dd544 100644
--- a/tools/llvm-cov/llvm-cov.cpp
+++ b/tools/llvm-cov/llvm-cov.cpp
@@ -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"));
diff --git a/tools/llvm-dis/llvm-dis.cpp b/tools/llvm-dis/llvm-dis.cpp
index 3a3936934f..f5dfedbc47 100644
--- a/tools/llvm-dis/llvm-dis.cpp
+++ b/tools/llvm-dis/llvm-dis.cpp
@@ -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("-"));
diff --git a/tools/llvm-dwarfdump/llvm-dwarfdump.cpp b/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
index 1876362b77..2f10f2994f 100644
--- a/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
+++ b/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
@@ -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>"),
diff --git a/tools/llvm-mc/llvm-mc.cpp b/tools/llvm-mc/llvm-mc.cpp
index e5d38d2e27..24a2d6f208 100644
--- a/tools/llvm-mc/llvm-mc.cpp
+++ b/tools/llvm-mc/llvm-mc.cpp
@@ -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("-"));
diff --git a/tools/llvm-mcmarkup/llvm-mcmarkup.cpp b/tools/llvm-mcmarkup/llvm-mcmarkup.cpp
index 7eb14d22a9..e8416d6012 100644
--- a/tools/llvm-mcmarkup/llvm-mcmarkup.cpp
+++ b/tools/llvm-mcmarkup/llvm-mcmarkup.cpp
@@ -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>"),
diff --git a/tools/llvm-nm/llvm-nm.cpp b/tools/llvm-nm/llvm-nm.cpp
index ec7b29824b..6476a60c7e 100644
--- a/tools/llvm-nm/llvm-nm.cpp
+++ b/tools/llvm-nm/llvm-nm.cpp
@@ -45,6 +45,7 @@
#include <vector>
using namespace llvm;
using namespace object;
+using std::error_code;
namespace {
enum OutputFormatTy { bsd, sysv, posix, darwin };
diff --git a/tools/llvm-objdump/llvm-objdump.cpp b/tools/llvm-objdump/llvm-objdump.cpp
index 974a83721e..254c802aec 100644
--- a/tools/llvm-objdump/llvm-objdump.cpp
+++ b/tools/llvm-objdump/llvm-objdump.cpp
@@ -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);
diff --git a/tools/llvm-objdump/llvm-objdump.h b/tools/llvm-objdump/llvm-objdump.h
index 30f2eea81f..32a375b8ac 100644
--- a/tools/llvm-objdump/llvm-objdump.h
+++ b/tools/llvm-objdump/llvm-objdump.h
@@ -16,6 +16,7 @@
#include "llvm/Support/StringRefMemoryObject.h"
namespace llvm {
+using std::error_code;
namespace object {
class COFFObjectFile;
diff --git a/tools/llvm-profdata/llvm-profdata.cpp b/tools/llvm-profdata/llvm-profdata.cpp
index fdde32ac6b..9bf0897949 100644
--- a/tools/llvm-profdata/llvm-profdata.cpp
+++ b/tools/llvm-profdata/llvm-profdata.cpp
@@ -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: ";
diff --git a/tools/llvm-readobj/ARMEHABIPrinter.h b/tools/llvm-readobj/ARMEHABIPrinter.h
index 7608cfbbd8..716c9a1a48 100644
--- a/tools/llvm-readobj/ARMEHABIPrinter.h
+++ b/tools/llvm-readobj/ARMEHABIPrinter.h
@@ -22,6 +22,7 @@
#include "llvm/Support/type_traits.h"
namespace llvm {
+using std::error_code;
namespace ARM {
namespace EHABI {
diff --git a/tools/llvm-readobj/ARMWinEHPrinter.h b/tools/llvm-readobj/ARMWinEHPrinter.h
index eddcaf4d96..e758bbf124 100644
--- a/tools/llvm-readobj/ARMWinEHPrinter.h
+++ b/tools/llvm-readobj/ARMWinEHPrinter.h
@@ -15,6 +15,7 @@
#include "llvm/Support/ErrorOr.h"
namespace llvm {
+using std::error_code;
namespace ARM {
namespace WinEH {
class RuntimeFunction;
diff --git a/tools/llvm-readobj/Win64EHDumper.cpp b/tools/llvm-readobj/Win64EHDumper.cpp
index c64d362469..f3749fc36c 100644
--- a/tools/llvm-readobj/Win64EHDumper.cpp
+++ b/tools/llvm-readobj/Win64EHDumper.cpp
@@ -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 },
diff --git a/tools/llvm-readobj/Win64EHDumper.h b/tools/llvm-readobj/Win64EHDumper.h
index 2eac81048b..98055994ae 100644
--- a/tools/llvm-readobj/Win64EHDumper.h
+++ b/tools/llvm-readobj/Win64EHDumper.h
@@ -14,6 +14,7 @@
#include "llvm/Support/Win64EH.h"
namespace llvm {
+using std::error_code;
namespace object {
class COFFObjectFile;
class SymbolRef;
diff --git a/tools/llvm-readobj/llvm-readobj.h b/tools/llvm-readobj/llvm-readobj.h
index 61ee0d4ed4..920e74ccc9 100644
--- a/tools/llvm-readobj/llvm-readobj.h
+++ b/tools/llvm-readobj/llvm-readobj.h
@@ -14,6 +14,7 @@
#include <string>
namespace llvm {
+using std::error_code;
namespace object {
class RelocationRef;
}
diff --git a/tools/llvm-rtdyld/llvm-rtdyld.cpp b/tools/llvm-rtdyld/llvm-rtdyld.cpp
index df6d535c43..e86d93bd49 100644
--- a/tools/llvm-rtdyld/llvm-rtdyld.cpp
+++ b/tools/llvm-rtdyld/llvm-rtdyld.cpp
@@ -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,
diff --git a/tools/llvm-size/llvm-size.cpp b/tools/llvm-size/llvm-size.cpp
index ff3b88e316..f0ec7fa6af 100644
--- a/tools/llvm-size/llvm-size.cpp
+++ b/tools/llvm-size/llvm-size.cpp
@@ -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>
diff --git a/tools/llvm-symbolizer/LLVMSymbolize.cpp b/tools/llvm-symbolizer/LLVMSymbolize.cpp
index 125e63f225..61c4e8ad20 100644
--- a/tools/llvm-symbolizer/LLVMSymbolize.cpp
+++ b/tools/llvm-symbolizer/LLVMSymbolize.cpp
@@ -26,6 +26,7 @@
#include <stdlib.h>
namespace llvm {
+using std::error_code;
namespace symbolize {
static bool error(error_code ec) {
diff --git a/tools/llvm-symbolizer/llvm-symbolizer.cpp b/tools/llvm-symbolizer/llvm-symbolizer.cpp
index 29db172531..2ee30e816e 100644
--- a/tools/llvm-symbolizer/llvm-symbolizer.cpp
+++ b/tools/llvm-symbolizer/llvm-symbolizer.cpp
@@ -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),
diff --git a/tools/macho-dump/macho-dump.cpp b/tools/macho-dump/macho-dump.cpp
index e7575f0056..13e8a4b80c 100644
--- a/tools/macho-dump/macho-dump.cpp
+++ b/tools/macho-dump/macho-dump.cpp
@@ -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("-"));
diff --git a/tools/obj2yaml/coff2yaml.cpp b/tools/obj2yaml/coff2yaml.cpp
index 42b09d312c..816f9e65cd 100644
--- a/tools/obj2yaml/coff2yaml.cpp
+++ b/tools/obj2yaml/coff2yaml.cpp
@@ -14,6 +14,7 @@
#include "llvm/Support/YAMLTraits.h"
using namespace llvm;
+using std::error_code;
namespace {
diff --git a/unittests/ExecutionEngine/JIT/JITTest.cpp b/unittests/ExecutionEngine/JIT/JITTest.cpp
index 5eb52c6f01..f3b2b21c09 100644
--- a/unittests/ExecutionEngine/JIT/JITTest.cpp
+++ b/unittests/ExecutionEngine/JIT/JITTest.cpp
@@ -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
diff --git a/unittests/Support/FileOutputBufferTest.cpp b/unittests/Support/FileOutputBufferTest.cpp
index 2ce9e71f85..aec3524bb4 100644
--- a/unittests/Support/FileOutputBufferTest.cpp
+++ b/unittests/Support/FileOutputBufferTest.cpp
@@ -16,6 +16,7 @@
using namespace llvm;
using namespace llvm::sys;
+using std::error_code;
#define ASSERT_NO_ERROR(x) \
if (error_code ASSERT_NO_ERROR_ec = x) { \
diff --git a/unittests/Support/LockFileManagerTest.cpp b/unittests/Support/LockFileManagerTest.cpp
index 93fa10bee0..3d6357c291 100644
--- a/unittests/Support/LockFileManagerTest.cpp
+++ b/unittests/Support/LockFileManagerTest.cpp
@@ -14,6 +14,7 @@
#include <memory>
using namespace llvm;
+using std::error_code;
namespace {
diff --git a/unittests/Support/MemoryBufferTest.cpp b/unittests/Support/MemoryBufferTest.cpp
index b7d0c206e8..7802537c35 100644
--- a/unittests/Support/MemoryBufferTest.cpp
+++ b/unittests/Support/MemoryBufferTest.cpp
@@ -17,6 +17,7 @@
#include "gtest/gtest.h"
using namespace llvm;
+using std::error_code;
namespace {
diff --git a/unittests/Support/MemoryTest.cpp b/unittests/Support/MemoryTest.cpp
index f85f3dc312..70f8b24dc0 100644
--- a/unittests/Support/MemoryTest.cpp
+++ b/unittests/Support/MemoryTest.cpp
@@ -14,6 +14,7 @@
using namespace llvm;
using namespace sys;
+using std::error_code;
namespace {
diff --git a/unittests/Support/Path.cpp b/unittests/Support/Path.cpp
index f5fb81539b..09042113c0 100644
--- a/unittests/Support/Path.cpp
+++ b/unittests/Support/Path.cpp
@@ -20,6 +20,7 @@
using namespace llvm;
using namespace llvm::sys;
+using std::error_code;
#define ASSERT_NO_ERROR(x) \
if (error_code ASSERT_NO_ERROR_ec = x) { \
diff --git a/utils/FileCheck/FileCheck.cpp b/utils/FileCheck/FileCheck.cpp
index a5ec07f955..190a2ad52d 100644
--- a/utils/FileCheck/FileCheck.cpp
+++ b/utils/FileCheck/FileCheck.cpp
@@ -34,6 +34,7 @@
#include <system_error>
#include <vector>
using namespace llvm;
+using std::error_code;
static cl::opt<std::string>
CheckFilename(cl::Positional, cl::desc("<check-file>"), cl::Required);
diff --git a/utils/FileUpdate/FileUpdate.cpp b/utils/FileUpdate/FileUpdate.cpp
index 9e494bfca6..2bf5e067a4 100644
--- a/utils/FileUpdate/FileUpdate.cpp
+++ b/utils/FileUpdate/FileUpdate.cpp
@@ -21,6 +21,7 @@
#include "llvm/Support/ToolOutputFile.h"
#include <system_error>
using namespace llvm;
+using std::error_code;
static cl::opt<bool>
Quiet("quiet", cl::desc("Don't print unnecessary status information"),