[llvm] [llvm-link] Improve missing file error message (PR #82514)

Michael Halkenhäuser via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 21 13:33:22 PST 2024


================
@@ -393,8 +393,17 @@ static bool linkFiles(const char *argv0, LLVMContext &Context, Linker &L,
   // Similar to some flags, internalization doesn't apply to the first file.
   bool InternalizeLinkedSymbols = false;
   for (const auto &File : Files) {
+    auto ErrOrExpected = MemoryBuffer::getFileOrSTDIN(File);
+
+    // When we encounter a missing file, print all missing files to stderr.
+    if (auto EC = ErrOrExpected.getError())
+      if (EC == std::errc::no_such_file_or_directory)
+        for (auto &F : Files)
+          if (!llvm::sys::fs::exists(F))
+            errs() << "No such file or directory: '" << F << "'\n";
+
     std::unique_ptr<MemoryBuffer> Buffer =
-        ExitOnErr(errorOrToExpected(MemoryBuffer::getFileOrSTDIN(File)));
+        ExitOnErr(errorOrToExpected(std::move(ErrOrExpected)));
----------------
mhalk wrote:

Great, thank you!

https://github.com/llvm/llvm-project/pull/82514


More information about the llvm-commits mailing list