Make llvm-nm work in "pipe mode"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9172 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/llvm-nm/llvm-nm.cpp b/tools/llvm-nm/llvm-nm.cpp
index 2f59d69..e98f655 100644
--- a/tools/llvm-nm/llvm-nm.cpp
+++ b/tools/llvm-nm/llvm-nm.cpp
@@ -28,7 +28,7 @@
cl::list<std::string>
InputFilenames(cl::Positional, cl::desc("<input bytecode files>"),
- cl::OneOrMore);
+ cl::ZeroOrMore);
cl::opt<bool> UndefinedOnly("undefined-only",
cl::desc("Show only undefined symbols"));
@@ -116,8 +116,12 @@
ToolName = argv[0];
if (BSDFormat) OutputFormat = bsd;
if (POSIXFormat) OutputFormat = posix;
- if (InputFilenames.size () != 1)
- MultipleFiles = true;
+
+ switch (InputFilenames.size()) {
+ case 0: InputFilenames.push_back("-");
+ case 1: break;
+ default: MultipleFiles = true;
+ }
std::for_each (InputFilenames.begin (), InputFilenames.end (),
DumpSymbolNamesFromFile);