summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2019-05-10 09:59:04 +0000
committerFangrui Song <maskray@google.com>2019-05-10 09:59:04 +0000
commite357ca82311ff40a0be1a80c8513f37aff93a0a2 (patch)
tree830dc44e02f0bdf872aefd17e9497a6eeb0dee5e /llvm
parent954c5394c3d364e2623ec0dc05cd5acd0c668e93 (diff)
downloadbcm5719-llvm-e357ca82311ff40a0be1a80c8513f37aff93a0a2.tar.gz
bcm5719-llvm-e357ca82311ff40a0be1a80c8513f37aff93a0a2.zip
[Object] Change SymbolicFile::printSymbolName to use Error
llvm-svn: 360414
Diffstat (limited to 'llvm')
-rw-r--r--llvm/include/llvm/Object/COFFImportFile.h5
-rw-r--r--llvm/include/llvm/Object/IRObjectFile.h3
-rw-r--r--llvm/include/llvm/Object/ObjectFile.h2
-rw-r--r--llvm/include/llvm/Object/SymbolicFile.h7
-rw-r--r--llvm/lib/Object/ArchiveWriter.cpp4
-rw-r--r--llvm/lib/Object/IRObjectFile.cpp5
-rw-r--r--llvm/lib/Object/ObjectFile.cpp7
-rw-r--r--llvm/tools/llvm-nm/llvm-nm.cpp11
-rw-r--r--llvm/tools/llvm-objdump/COFFDump.cpp2
-rw-r--r--llvm/tools/llvm-readobj/COFFImportDumper.cpp2
10 files changed, 22 insertions, 26 deletions
diff --git a/llvm/include/llvm/Object/COFFImportFile.h b/llvm/include/llvm/Object/COFFImportFile.h
index d051d7f09d0..e07060cea2b 100644
--- a/llvm/include/llvm/Object/COFFImportFile.h
+++ b/llvm/include/llvm/Object/COFFImportFile.h
@@ -36,12 +36,11 @@ public:
void moveSymbolNext(DataRefImpl &Symb) const override { ++Symb.p; }
- std::error_code printSymbolName(raw_ostream &OS,
- DataRefImpl Symb) const override {
+ Error printSymbolName(raw_ostream &OS, DataRefImpl Symb) const override {
if (Symb.p == 0)
OS << "__imp_";
OS << StringRef(Data.getBufferStart() + sizeof(coff_import_header));
- return std::error_code();
+ return Error::success();
}
uint32_t getSymbolFlags(DataRefImpl Symb) const override {
diff --git a/llvm/include/llvm/Object/IRObjectFile.h b/llvm/include/llvm/Object/IRObjectFile.h
index 39454b05f0d..08b92f1bae5 100644
--- a/llvm/include/llvm/Object/IRObjectFile.h
+++ b/llvm/include/llvm/Object/IRObjectFile.h
@@ -37,8 +37,7 @@ class IRObjectFile : public SymbolicFile {
public:
~IRObjectFile() override;
void moveSymbolNext(DataRefImpl &Symb) const override;
- std::error_code printSymbolName(raw_ostream &OS,
- DataRefImpl Symb) const override;
+ Error printSymbolName(raw_ostream &OS, DataRefImpl Symb) const override;
uint32_t getSymbolFlags(DataRefImpl Symb) const override;
basic_symbol_iterator symbol_begin() const override;
basic_symbol_iterator symbol_end() const override;
diff --git a/llvm/include/llvm/Object/ObjectFile.h b/llvm/include/llvm/Object/ObjectFile.h
index 3d293c6969e..a3cd907684a 100644
--- a/llvm/include/llvm/Object/ObjectFile.h
+++ b/llvm/include/llvm/Object/ObjectFile.h
@@ -244,7 +244,7 @@ protected:
friend class SymbolRef;
virtual Expected<StringRef> getSymbolName(DataRefImpl Symb) const = 0;
- std::error_code printSymbolName(raw_ostream &OS,
+ Error printSymbolName(raw_ostream &OS,
DataRefImpl Symb) const override;
virtual Expected<uint64_t> getSymbolAddress(DataRefImpl Symb) const = 0;
virtual uint64_t getSymbolValueImpl(DataRefImpl Symb) const = 0;
diff --git a/llvm/include/llvm/Object/SymbolicFile.h b/llvm/include/llvm/Object/SymbolicFile.h
index 6d95d7a895f..1398fa134c8 100644
--- a/llvm/include/llvm/Object/SymbolicFile.h
+++ b/llvm/include/llvm/Object/SymbolicFile.h
@@ -126,7 +126,7 @@ public:
void moveNext();
- std::error_code printName(raw_ostream &OS) const;
+ Error printName(raw_ostream &OS) const;
/// Get symbol flags (bitwise OR of SymbolRef::Flags)
uint32_t getFlags() const;
@@ -145,8 +145,7 @@ public:
// virtual interface.
virtual void moveSymbolNext(DataRefImpl &Symb) const = 0;
- virtual std::error_code printSymbolName(raw_ostream &OS,
- DataRefImpl Symb) const = 0;
+ virtual Error printSymbolName(raw_ostream &OS, DataRefImpl Symb) const = 0;
virtual uint32_t getSymbolFlags(DataRefImpl Symb) const = 0;
@@ -193,7 +192,7 @@ inline void BasicSymbolRef::moveNext() {
return OwningObject->moveSymbolNext(SymbolPimpl);
}
-inline std::error_code BasicSymbolRef::printName(raw_ostream &OS) const {
+inline Error BasicSymbolRef::printName(raw_ostream &OS) const {
return OwningObject->printSymbolName(OS, SymbolPimpl);
}
diff --git a/llvm/lib/Object/ArchiveWriter.cpp b/llvm/lib/Object/ArchiveWriter.cpp
index 1092b9d5c2a..849d2835772 100644
--- a/llvm/lib/Object/ArchiveWriter.cpp
+++ b/llvm/lib/Object/ArchiveWriter.cpp
@@ -376,8 +376,8 @@ getSymbols(MemoryBufferRef Buf, raw_ostream &SymNames, bool &HasObject) {
if (!isArchiveSymbol(S))
continue;
Ret.push_back(SymNames.tell());
- if (auto EC = S.printName(SymNames))
- return errorCodeToError(EC);
+ if (Error E = S.printName(SymNames))
+ return std::move(E);
SymNames << '\0';
}
return Ret;
diff --git a/llvm/lib/Object/IRObjectFile.cpp b/llvm/lib/Object/IRObjectFile.cpp
index d157908a856..debe7899bfe 100644
--- a/llvm/lib/Object/IRObjectFile.cpp
+++ b/llvm/lib/Object/IRObjectFile.cpp
@@ -42,10 +42,9 @@ void IRObjectFile::moveSymbolNext(DataRefImpl &Symb) const {
Symb.p += sizeof(ModuleSymbolTable::Symbol);
}
-std::error_code IRObjectFile::printSymbolName(raw_ostream &OS,
- DataRefImpl Symb) const {
+Error IRObjectFile::printSymbolName(raw_ostream &OS, DataRefImpl Symb) const {
SymTab.printSymbolName(OS, getSym(Symb));
- return std::error_code();
+ return Error::success();
}
uint32_t IRObjectFile::getSymbolFlags(DataRefImpl Symb) const {
diff --git a/llvm/lib/Object/ObjectFile.cpp b/llvm/lib/Object/ObjectFile.cpp
index cc0b282665d..3744721773f 100644
--- a/llvm/lib/Object/ObjectFile.cpp
+++ b/llvm/lib/Object/ObjectFile.cpp
@@ -56,13 +56,12 @@ uint64_t ObjectFile::getSymbolValue(DataRefImpl Ref) const {
return getSymbolValueImpl(Ref);
}
-std::error_code ObjectFile::printSymbolName(raw_ostream &OS,
- DataRefImpl Symb) const {
+Error ObjectFile::printSymbolName(raw_ostream &OS, DataRefImpl Symb) const {
Expected<StringRef> Name = getSymbolName(Symb);
if (!Name)
- return errorToErrorCode(Name.takeError());
+ return Name.takeError();
OS << *Name;
- return std::error_code();
+ return Error::success();
}
uint32_t ObjectFile::getSymbolAlignment(DataRefImpl DRI) const { return 0; }
diff --git a/llvm/tools/llvm-nm/llvm-nm.cpp b/llvm/tools/llvm-nm/llvm-nm.cpp
index d7ac98c5b2c..6bc043feffc 100644
--- a/llvm/tools/llvm-nm/llvm-nm.cpp
+++ b/llvm/tools/llvm-nm/llvm-nm.cpp
@@ -1219,11 +1219,12 @@ dumpSymbolNamesFromObject(SymbolicFile &Obj, bool printName,
}
S.TypeName = getNMTypeName(Obj, Sym);
S.TypeChar = getNMSectionTagAndName(Obj, Sym, S.SectionName);
- std::error_code EC = Sym.printName(OS);
- if (EC && MachO)
- OS << "bad string index";
- else
- error(EC);
+ if (Error E = Sym.printName(OS)) {
+ if (MachO)
+ OS << "bad string index";
+ else
+ error(std::move(E), Obj.getFileName());
+ }
OS << '\0';
S.Sym = Sym;
SymbolList.push_back(S);
diff --git a/llvm/tools/llvm-objdump/COFFDump.cpp b/llvm/tools/llvm-objdump/COFFDump.cpp
index 5489bcf9801..a81068c2ca4 100644
--- a/llvm/tools/llvm-objdump/COFFDump.cpp
+++ b/llvm/tools/llvm-objdump/COFFDump.cpp
@@ -634,7 +634,7 @@ void printCOFFSymbolTable(const object::COFFImportFile *i) {
std::string Name;
raw_string_ostream NS(Name);
- Sym.printName(NS);
+ cantFail(Sym.printName(NS));
NS.flush();
outs() << "[" << format("%2d", Index) << "]"
diff --git a/llvm/tools/llvm-readobj/COFFImportDumper.cpp b/llvm/tools/llvm-readobj/COFFImportDumper.cpp
index 1d9e7c8ff0e..c9d5e82263d 100644
--- a/llvm/tools/llvm-readobj/COFFImportDumper.cpp
+++ b/llvm/tools/llvm-readobj/COFFImportDumper.cpp
@@ -50,7 +50,7 @@ void dumpCOFFImportFile(const COFFImportFile *File, ScopedPrinter &Writer) {
for (const object::BasicSymbolRef &Sym : File->symbols()) {
raw_ostream &OS = Writer.startLine();
OS << "Symbol: ";
- Sym.printName(OS);
+ cantFail(Sym.printName(OS));
OS << "\n";
}
}
OpenPOWER on IntegriCloud