[PATCH] D83704: [llvm-readobj] Print error when executed with no input files

Elvina Yakubova via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 16 08:21:00 PDT 2020


Elvina updated this revision to Diff 278489.
Elvina added a comment.

@jhenderson Sure, done!


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D83704/new/

https://reviews.llvm.org/D83704

Files:
  llvm/docs/CommandGuide/llvm-readelf.rst
  llvm/docs/CommandGuide/llvm-readobj.rst
  llvm/docs/ReleaseNotes.rst
  llvm/test/tools/llvm-readobj/basic.test
  llvm/tools/llvm-readobj/llvm-readobj.cpp


Index: llvm/tools/llvm-readobj/llvm-readobj.cpp
===================================================================
--- llvm/tools/llvm-readobj/llvm-readobj.cpp
+++ llvm/tools/llvm-readobj/llvm-readobj.cpp
@@ -689,6 +689,11 @@
   }
 
   cl::ParseCommandLineOptions(argc, argv, "LLVM Object Reader\n");
+ 
+  // Default to print error if no filename is specified.
+  if (opts::InputFilenames.empty()) {
+    error("no input files specified");
+  }
 
   if (opts::All) {
     opts::FileHeaders = true;
@@ -714,10 +719,6 @@
     opts::SectionHeaders = true;
   }
 
-  // Default to stdin if no filename is specified.
-  if (opts::InputFilenames.empty())
-    opts::InputFilenames.push_back("-");
-
   ScopedPrinter Writer(fouts());
   for (const std::string &I : opts::InputFilenames)
     dumpInput(I, Writer);
Index: llvm/test/tools/llvm-readobj/basic.test
===================================================================
--- llvm/test/tools/llvm-readobj/basic.test
+++ llvm/test/tools/llvm-readobj/basic.test
@@ -4,6 +4,11 @@
 
 ENOENT: llvm-[[TOOL]]{{(\.exe)?}}: error: '{{.*}}.blah': {{[Nn]}}o such file or directory
 
+# Test case with no input file.
+RUN: not llvm-readobj 2>&1 | FileCheck %s --check-prefix=NO-FILE
+RUN: not llvm-readelf 2>&1  | FileCheck %s --check-prefix=NO-FILE
+NO-FILE: error: no input files specified
+
 # Test case where input file is too small to be a recognised object file.
 RUN: touch %t.empty
 RUN: not llvm-readobj %t.empty 2>&1 | FileCheck --check-prefix=EMPTY %s
Index: llvm/docs/ReleaseNotes.rst
===================================================================
--- llvm/docs/ReleaseNotes.rst
+++ llvm/docs/ReleaseNotes.rst
@@ -123,7 +123,7 @@
 Changes to the LLVM tools
 ---------------------------------
 
-During this release ...
+* llvm-readobj behavior is changed. Currently it prints error when executed with no input files. Reading from stdin can be achieved via a '-'.
 
 Changes to LLDB
 ===============
Index: llvm/docs/CommandGuide/llvm-readobj.rst
===================================================================
--- llvm/docs/CommandGuide/llvm-readobj.rst
+++ llvm/docs/CommandGuide/llvm-readobj.rst
@@ -14,7 +14,7 @@
 The :program:`llvm-readobj` tool displays low-level format-specific information
 about one or more object files.
 
-If ``input`` is "``-``" or omitted, :program:`llvm-readobj` reads from standard
+If ``input`` is "``-``", :program:`llvm-readobj` reads from standard
 input. Otherwise, it will read from the specified ``filenames``.
 
 DIFFERENCES TO LLVM-READELF
Index: llvm/docs/CommandGuide/llvm-readelf.rst
===================================================================
--- llvm/docs/CommandGuide/llvm-readelf.rst
+++ llvm/docs/CommandGuide/llvm-readelf.rst
@@ -14,7 +14,7 @@
 The :program:`llvm-readelf` tool displays low-level format-specific information
 about one or more object files.
 
-If ``input`` is "``-``" or omitted, :program:`llvm-readelf` reads from standard
+If ``input`` is "``-``", :program:`llvm-readelf` reads from standard
 input. Otherwise, it will read from the specified ``filenames``.
 
 OPTIONS


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D83704.278489.patch
Type: text/x-patch
Size: 3106 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200716/7cff7046/attachment.bin>


More information about the llvm-commits mailing list