mirror of
https://github.com/RPCS3/llvm.git
synced 2026-07-21 03:05:26 -04:00
[llvm/Object] - Convert SectionRef::getName() to return Expected<>
SectionRef::getName() returns std::error_code now. Returning Expected<> instead has multiple benefits. For example, it forces user to check the error returned. Also Expected<> may keep a valuable string error message, what is more useful than having a error code. (Object\invalid.test was updated to show the new messages printed.) This patch makes a change for all users to switch to Expected<> version. Note: in a few places the error returned was ignored before my changes. In such places I left them ignored. My intention was to convert the interface used, and not to improve and/or the existent users in this patch. (Though I think this is good idea for a follow-ups to revisit such places and either remove consumeError calls or comment each of them to clarify why it is OK to have them). Differential revision: https://reviews.llvm.org/D66089 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@368812 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -392,9 +392,13 @@ ELFObjectFileBase::getPltAddresses() const {
|
||||
return {};
|
||||
Optional<SectionRef> Plt = None, RelaPlt = None, GotPlt = None;
|
||||
for (const SectionRef &Section : sections()) {
|
||||
StringRef Name;
|
||||
if (Section.getName(Name))
|
||||
Expected<StringRef> NameOrErr = Section.getName();
|
||||
if (!NameOrErr) {
|
||||
consumeError(NameOrErr.takeError());
|
||||
continue;
|
||||
}
|
||||
StringRef Name = *NameOrErr;
|
||||
|
||||
if (Name == ".plt")
|
||||
Plt = Section;
|
||||
else if (Name == ".rela.plt" || Name == ".rel.plt")
|
||||
|
||||
Reference in New Issue
Block a user