From bcc00e1afbdc107e05b2977fde26053a52295dd1 Mon Sep 17 00:00:00 2001 From: George Rimar Date: Wed, 14 Aug 2019 11:10:11 +0000 Subject: Recommit r368812 "[llvm/Object] - Convert SectionRef::getName() to return Expected<>" Changes: no changes. A fix for the clang code will be landed right on top. Original commit message: 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 llvm-svn: 368826 --- llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp') diff --git a/llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp b/llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp index 4bf308f87c2..ce67ab4eb8d 100644 --- a/llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp +++ b/llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp @@ -449,9 +449,10 @@ Error FileAnalysis::parseCodeSections() { // Avoid checking the PLT since it produces spurious failures on AArch64 // when ignoring DWARF data. - StringRef SectionName; - if (!Section.getName(SectionName) && SectionName == ".plt") + Expected NameOrErr = Section.getName(); + if (NameOrErr && *NameOrErr == ".plt") continue; + consumeError(NameOrErr.takeError()); Expected Contents = Section.getContents(); if (!Contents) -- cgit v1.2.3