From df193a1a128d826be2d0d189c1c1fcfed20fd3d7 Mon Sep 17 00:00:00 2001 From: Nico Weber Date: Tue, 13 Sep 2022 09:07:16 -0400 Subject: [PATCH] Revert "[llvm-dwp] Report the filename if it cannot be found" This reverts commit 35028d417bb32bc05294e77c9ddcf50f24f277eb. Breaks tests on Windows, see https://reviews.llvm.org/D133549#3785952 --- llvm/lib/DWP/DWP.cpp | 8 ++----- .../tools/llvm-dwp/X86/diagnose_missing_dwos.test | 28 ---------------------- llvm/tools/llvm-dwp/llvm-dwp.cpp | 16 ++----------- 3 files changed, 4 insertions(+), 48 deletions(-) delete mode 100644 llvm/test/tools/llvm-dwp/X86/diagnose_missing_dwos.test diff --git a/llvm/lib/DWP/DWP.cpp b/llvm/lib/DWP/DWP.cpp index 25badc8..425650a 100644 --- a/llvm/lib/DWP/DWP.cpp +++ b/llvm/lib/DWP/DWP.cpp @@ -586,12 +586,8 @@ Error write(MCStreamer &Out, ArrayRef Inputs) { for (const auto &Input : Inputs) { auto ErrOrObj = object::ObjectFile::createObjectFile(Input); - if (!ErrOrObj) { - return handleErrors(ErrOrObj.takeError(), - [&](std::unique_ptr EC) -> Error { - return createFileError(Input, Error(std::move(EC))); - }); - } + if (!ErrOrObj) + return ErrOrObj.takeError(); auto &Obj = *ErrOrObj->getBinary(); Objects.push_back(std::move(*ErrOrObj)); diff --git a/llvm/test/tools/llvm-dwp/X86/diagnose_missing_dwos.test b/llvm/test/tools/llvm-dwp/X86/diagnose_missing_dwos.test deleted file mode 100644 index 8f6c5bf..0000000 --- a/llvm/test/tools/llvm-dwp/X86/diagnose_missing_dwos.test +++ /dev/null @@ -1,28 +0,0 @@ -RUN: rm -rf %t -RUN: mkdir %t -RUN: cd %t -RUN: cp %p/../Inputs/dwos_list_from_exec/b.dwo b.dwo -RUN: cp %p/../Inputs/dwos_list_from_exec/main main -RUN: not llvm-dwp -e binary -o /dev/null 2>&1 | FileCheck %s --check-prefix=CHECK-BIN -RUN: not llvm-dwp -e main -o /dev/null 2>&1 | FileCheck %s --check-prefix=CHECK-1ST-DWO -RUN: cp %p/../Inputs/dwos_list_from_exec/a.dwo a.dwo -RUN: rm b.dwo -RUN: not llvm-dwp -e main -o /dev/null 2>&1 | FileCheck %s --check-prefix=CHECK-2ND-DWO - -Build commands for the test binaries: - -clang++ -Xclang -fdebug-compilation-dir -Xclang "./" -g -O0 -gsplit-dwarf a.cpp b.cpp -o main - -sources: -a.cpp: - void a() {} - -b.cpp: - void b() {} - int main() { - return 0; - } - -CHECK-BIN: error: 'binary': No such file or directory -CHECK-1ST-DWO: error: './a.dwo': No such file or directory -CHECK-2ND-DWO: error: './b.dwo': No such file or directory diff --git a/llvm/tools/llvm-dwp/llvm-dwp.cpp b/llvm/tools/llvm-dwp/llvm-dwp.cpp index f9d1dc4..bc170a1 100644 --- a/llvm/tools/llvm-dwp/llvm-dwp.cpp +++ b/llvm/tools/llvm-dwp/llvm-dwp.cpp @@ -111,13 +111,7 @@ int main(int argc, char **argv) { for (const auto &ExecFilename : ExecFilenames) { auto DWOs = getDWOFilenames(ExecFilename); if (!DWOs) { - logAllUnhandledErrors( - handleErrors(DWOs.takeError(), - [&](std::unique_ptr EC) -> Error { - return createFileError(ExecFilename, - Error(std::move(EC))); - }), - WithColor::error()); + logAllUnhandledErrors(DWOs.takeError(), WithColor::error()); return 1; } DWOFilenames.insert(DWOFilenames.end(), @@ -133,13 +127,7 @@ int main(int argc, char **argv) { auto ErrOrTriple = readTargetTriple(DWOFilenames.front()); if (!ErrOrTriple) { - logAllUnhandledErrors( - handleErrors(ErrOrTriple.takeError(), - [&](std::unique_ptr EC) -> Error { - return createFileError(DWOFilenames.front(), - Error(std::move(EC))); - }), - WithColor::error()); + logAllUnhandledErrors(ErrOrTriple.takeError(), WithColor::error()); return 1; } -- 2.7.4