[llvm] r317301 - [llvm-nm] Don't error out on multiple occurrances of the -g/--external-only flag

Martin Storsjo via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 3 00:18:21 PDT 2017


Author: mstorsjo
Date: Fri Nov  3 00:18:21 2017
New Revision: 317301

URL: http://llvm.org/viewvc/llvm-project?rev=317301&view=rev
Log:
[llvm-nm] Don't error out on multiple occurrances of the -g/--external-only flag

GNU binutils nm doesn't error out on this, and some projects' build
systems can end up doing that in some cases. Allowing that seems like
a better target than trying to avoid user projects passing multiple
-g parameters to $NM.

Differential Revision: https://reviews.llvm.org/D39539

Modified:
    llvm/trunk/test/tools/llvm-nm/X86/externalonly.test
    llvm/trunk/tools/llvm-nm/llvm-nm.cpp

Modified: llvm/trunk/test/tools/llvm-nm/X86/externalonly.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-nm/X86/externalonly.test?rev=317301&r1=317300&r2=317301&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-nm/X86/externalonly.test (original)
+++ llvm/trunk/test/tools/llvm-nm/X86/externalonly.test Fri Nov  3 00:18:21 2017
@@ -1,4 +1,5 @@
 # RUN: llvm-nm -g %p/Inputs/hello.obj.macho-x86_64 | FileCheck %s
+# RUN: llvm-nm -g -g %p/Inputs/hello.obj.macho-x86_64 | FileCheck %s
 
 # CHECK-NOT: EH_frame0
 # CHECK: _main

Modified: llvm/trunk/tools/llvm-nm/llvm-nm.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-nm/llvm-nm.cpp?rev=317301&r1=317300&r2=317301&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-nm/llvm-nm.cpp (original)
+++ llvm/trunk/tools/llvm-nm/llvm-nm.cpp Fri Nov  3 00:18:21 2017
@@ -85,9 +85,11 @@ cl::alias DefinedOnly2("U", cl::desc("Al
                        cl::aliasopt(DefinedOnly), cl::Grouping);
 
 cl::opt<bool> ExternalOnly("extern-only",
-                           cl::desc("Show only external symbols"));
+                           cl::desc("Show only external symbols"),
+                           cl::ZeroOrMore);
 cl::alias ExternalOnly2("g", cl::desc("Alias for --extern-only"),
-                        cl::aliasopt(ExternalOnly), cl::Grouping);
+                        cl::aliasopt(ExternalOnly), cl::Grouping,
+                        cl::ZeroOrMore);
 
 cl::opt<bool> BSDFormat("B", cl::desc("Alias for --format=bsd"),
                         cl::Grouping);




More information about the llvm-commits mailing list