[llvm] r345855 - [llvm-objcopy] For multiclass Eq, associate help text with --name= , not with --name

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 1 10:20:40 PDT 2018


Author: maskray
Date: Thu Nov  1 10:20:40 2018
New Revision: 345855

URL: http://llvm.org/viewvc/llvm-project?rev=345855&view=rev
Log:
[llvm-objcopy] For multiclass Eq, associate help text with --name= , not with --name

Summary:
Before:
% llvm-objcopy -help
...
 --weaken-symbol=symbol  Mark <symbol> as weak
 --weaken-symbol symbol  Mark <symbol> as weak

After:
% llvm-objcopy -help
...
 --weaken-symbol=symbol  Mark <symbol> as weak

Reviewers: jhenderson, rupprecht, alexshap, jakehehrlich

Reviewed By: jhenderson

Subscribers: llvm-commits, kristina

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

Modified:
    llvm/trunk/tools/llvm-objcopy/ObjcopyOpts.td
    llvm/trunk/tools/llvm-objcopy/StripOpts.td

Modified: llvm/trunk/tools/llvm-objcopy/ObjcopyOpts.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objcopy/ObjcopyOpts.td?rev=345855&r1=345854&r2=345855&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-objcopy/ObjcopyOpts.td (original)
+++ llvm/trunk/tools/llvm-objcopy/ObjcopyOpts.td Thu Nov  1 10:20:40 2018
@@ -1,25 +1,24 @@
 include "llvm/Option/OptParser.td"
 
-multiclass Eq<string name> {
+multiclass Eq<string name, string help> {
   def NAME: Separate<["--", "-"], name>;
-  def NAME # _eq: Joined<["--", "-"], name # "=">, Alias<!cast<Separate>(NAME)>;
+  def NAME # _eq: Joined<["--", "-"], name # "=">, Alias<!cast<Separate>(NAME)>,
+    HelpText<help>;
 }
 
 def help : Flag<["-", "--"], "help">;
-defm binary_architecture : Eq<"binary-architecture">,
-                           HelpText<"Used when transforming an architecture-less format (such as binary) to another format">;
+defm binary_architecture
+    : Eq<"binary-architecture", "Used when transforming an architecture-less "
+                                "format (such as binary) to another format">;
 def B : JoinedOrSeparate<["-"], "B">,
         Alias<binary_architecture>;
-defm target : Eq<"target">,
-              HelpText<"Format of the input and output file">,
+defm target : Eq<"target", "Format of the input and output file">,
               Values<"binary">;
 def F : JoinedOrSeparate<[ "-" ], "F">, Alias<target>;
-defm input_target : Eq<"input-target">,
-                    HelpText<"Format of the input file">,
+defm input_target : Eq<"input-target", "Format of the input file">,
                     Values<"binary">;
 def I : JoinedOrSeparate<[ "-" ], "I">, Alias<input_target>;
-defm output_target : Eq<"output-target">,
-                     HelpText<"Format of the output file">,
+defm output_target : Eq<"output-target", "Format of the output file">,
                      Values<"binary">;
 def compress_debug_sections : Flag<["--", "-"], "compress-debug-sections">;
 def compress_debug_sections_eq : Joined<["--", "-"], "compress-debug-sections=">,
@@ -31,44 +30,40 @@ def decompress_debug_sections : Flag<["-
                                 HelpText<"Decompress DWARF debug sections.">;
 def O : JoinedOrSeparate<["-"], "O">,
         Alias<output_target>;
-defm split_dwo : Eq<"split-dwo">,
-                 MetaVarName<"dwo-file">,
-                 HelpText<"Equivalent to extract-dwo on the input file to <dwo-file>, then strip-dwo on the input file">;
+defm split_dwo
+    : Eq<"split-dwo", "Equivalent to extract-dwo on the input file to "
+                      "<dwo-file>, then strip-dwo on the input file">,
+      MetaVarName<"dwo-file">;
 
 def preserve_dates : Flag<[ "-", "--" ], "preserve-dates">,
                      HelpText<"Preserve access and modification timestamps">;
 
 def p : Flag<[ "-" ], "p">, Alias<preserve_dates>;
 
-defm add_gnu_debuglink : Eq<"add-gnu-debuglink">,
-                         MetaVarName<"debug-file">,
-                         HelpText<"Add a .gnu_debuglink for <debug-file>">;
-defm remove_section : Eq<"remove-section">,
-                      MetaVarName<"section">,
-                      HelpText<"Remove <section>">;
+defm add_gnu_debuglink : Eq<"add-gnu-debuglink", "Add a .gnu_debuglink for <debug-file>">,
+                         MetaVarName<"debug-file">;
+defm remove_section : Eq<"remove-section", "Remove <section>">,
+                      MetaVarName<"section">;
 defm rename_section
-    : Eq<"rename-section">,
-      MetaVarName<"old=new[,flag1,...]">,
-      HelpText<
-          "Renames a section from old to new, optionally with specified flags. "
-          "Flags supported for GNU compatibility: alloc, load, noload, "
-          "readonly, debug, code, data, rom, share, contents, merge, strings.">;
-defm redefine_symbol : Eq<"redefine-sym">,
-                       MetaVarName<"old=new">,
-                       HelpText<"Change the name of a symbol old to new">;
+    : Eq<"rename-section",
+         "Renames a section from old to new, optionally with specified flags. "
+         "Flags supported for GNU compatibility: alloc, load, noload, "
+         "readonly, debug, code, data, rom, share, contents, merge, strings.">,
+      MetaVarName<"old=new[,flag1,...]">;
+defm redefine_symbol : Eq<"redefine-sym", "Change the name of a symbol old to new">,
+                       MetaVarName<"old=new">;
 def R : JoinedOrSeparate<["-"], "R">,
         Alias<remove_section>;
-defm keep : Eq<"keep">,
-            MetaVarName<"section">,
-            HelpText<"Keep <section>">;
-defm only_keep : Eq<"only-keep">,
-                 MetaVarName<"section">,
-                 HelpText<"Remove all but <section>">;
+defm keep : Eq<"keep", "Keep <section>">,
+            MetaVarName<"section">;
+defm only_keep : Eq<"only-keep", "Remove all but <section>">,
+                 MetaVarName<"section">;
 def j : JoinedOrSeparate<["-"], "j">,
                       Alias<only_keep>;
-defm add_section : Eq<"add-section">,
-                   MetaVarName<"section=file">,
-                   HelpText<"Make a section named <section> with the contents of <file>.">;
+defm add_section
+    : Eq<"add-section",
+         "Make a section named <section> with the contents of <file>.">,
+      MetaVarName<"section=file">;
 def strip_all : Flag<["-", "--"], "strip-all">,
                 HelpText<"Remove non-allocated sections other than .gnu.warning* sections">;
 def S : Flag<["-"], "S">,
@@ -87,38 +82,33 @@ def extract_dwo : Flag<["-", "--"], "ext
                   HelpText<"Remove all sections that are not DWARF .dwo sections from file">;
 def localize_hidden : Flag<["-", "--"], "localize-hidden">,
                       HelpText<"Mark all symbols that have hidden or internal visibility as local">;
-defm localize_symbol : Eq<"localize-symbol">,
-                       MetaVarName<"symbol">,
-                       HelpText<"Mark <symbol> as local">;
+defm localize_symbol : Eq<"localize-symbol", "Mark <symbol> as local">,
+                       MetaVarName<"symbol">;
 def L : JoinedOrSeparate<["-"], "L">,
         Alias<localize_symbol>;
-defm globalize_symbol : Eq<"globalize-symbol">,
-                       MetaVarName<"symbol">,
-                       HelpText<"Mark <symbol> as global">;
+defm globalize_symbol : Eq<"globalize-symbol", "Mark <symbol> as global">,
+                       MetaVarName<"symbol">;
 
 defm keep_global_symbol
-    : Eq<"keep-global-symbol">,
-      MetaVarName<"symbol">,
-      HelpText<"Convert all symbols except <symbol> to local. May be repeated "
-               "to convert all except a set of symbols to local.">;
+    : Eq<"keep-global-symbol", "Convert all symbols except <symbol> to local. May be repeated "
+               "to convert all except a set of symbols to local.">,
+      MetaVarName<"symbol">;
 def G : JoinedOrSeparate<[ "-" ], "G">, Alias<keep_global_symbol>;
 
 defm keep_global_symbols
-    : Eq<"keep-global-symbols">,
-      MetaVarName<"filename">,
-      HelpText<
-          "Reads a list of symbols from <filename> and runs as if "
-	  "--keep-global-symbol=<symbol> is set for each one. <filename> "
-	  "contains one symbol per line and may contain comments beginning "
-	  "with '#'. Leading and trailing whitespace is stripped from each "
-	  "line. May be repeated to read symbols from many files.">;
+    : Eq<"keep-global-symbols",
+         "Reads a list of symbols from <filename> and runs as if "
+	     "--keep-global-symbol=<symbol> is set for each one. <filename> "
+	     "contains one symbol per line and may contain comments beginning "
+	     "with '#'. Leading and trailing whitespace is stripped from each "
+	     "line. May be repeated to read symbols from many files.">,
+      MetaVarName<"filename">;
 
 def version : Flag<[ "-", "--" ], "version">,
               HelpText<"Print the version and exit.">;
 
-defm weaken_symbol : Eq<"weaken-symbol">,
-                       MetaVarName<"symbol">,
-                       HelpText<"Mark <symbol> as weak">;
+defm weaken_symbol : Eq<"weaken-symbol", "Mark <symbol> as weak">,
+                       MetaVarName<"symbol">;
 def W : JoinedOrSeparate<["-"], "W">,
         Alias<weaken_symbol>;
 def weaken : Flag<["-", "--"], "weaken">,
@@ -127,14 +117,12 @@ def discard_all : Flag<["-", "--"], "dis
                       HelpText<"Remove all local symbols except file and section symbols">;
 def x : Flag<["-"], "x">,
         Alias<discard_all>;
-defm strip_symbol : Eq<"strip-symbol">,
-                       MetaVarName<"symbol">,
-                       HelpText<"Remove symbol <symbol>">;
+defm strip_symbol : Eq<"strip-symbol", "Remove symbol <symbol>">,
+                       MetaVarName<"symbol">;
 def N : JoinedOrSeparate<["-"], "N">,
         Alias<strip_symbol>;
-defm keep_symbol : Eq<"keep-symbol">,
-                       MetaVarName<"symbol">,
-                       HelpText<"Do not remove symbol <symbol>">;
+defm keep_symbol : Eq<"keep-symbol", "Do not remove symbol <symbol>">,
+                       MetaVarName<"symbol">;
 def K : JoinedOrSeparate<["-"], "K">,
         Alias<keep_symbol>;
 def only_keep_debug : Flag<["-", "--"], "only-keep-debug">,
@@ -143,9 +131,7 @@ def strip_unneeded : Flag<["-", "--"], "
                       HelpText<"Remove all symbols not needed by relocations">;
 def keep_file_symbols : Flag<["-", "--"], "keep-file-symbols">,
                       HelpText<"Do not remove file symbols">;
-defm dump_section : Eq<"dump-section">,
-                   MetaVarName<"section=file">,
-                   HelpText<"Dump contents of section named <section> into file <file>">;
-defm prefix_symbols : Eq<"prefix-symbols">,
-                       MetaVarName<"prefix">,
-                       HelpText<"Add <prefix> to the start of every symbol name">;
+defm dump_section : Eq<"dump-section", "Dump contents of section named <section> into file <file>">,
+                   MetaVarName<"section=file">;
+defm prefix_symbols : Eq<"prefix-symbols", "Add <prefix> to the start of every symbol name">,
+                       MetaVarName<"prefix">;

Modified: llvm/trunk/tools/llvm-objcopy/StripOpts.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objcopy/StripOpts.td?rev=345855&r1=345854&r2=345855&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-objcopy/StripOpts.td (original)
+++ llvm/trunk/tools/llvm-objcopy/StripOpts.td Thu Nov  1 10:20:40 2018
@@ -1,15 +1,15 @@
 include "llvm/Option/OptParser.td"
 
-multiclass Eq<string name> {
+multiclass Eq<string name, string help> {
   def NAME: Separate<["--", "-"], name>;
-  def NAME # _eq: Joined<["--", "-"], name # "=">, Alias<!cast<Separate>(NAME)>;
+  def NAME # _eq: Joined<["--", "-"], name # "=">, Alias<!cast<Separate>(NAME)>,
+    HelpText<help>;
 }
 
 def help : Flag<["-", "--"], "help">;
 
-defm output : Eq<"o">,
-              MetaVarName<"output">,
-              HelpText<"Write output to <file>">;
+defm output : Eq<"o", "Write output to <file>">,
+              MetaVarName<"output">;
 
 def preserve_dates : Flag<[ "-", "--" ], "preserve-dates">,
                      HelpText<"Preserve access and modification timestamps">;
@@ -34,16 +34,14 @@ def g : Flag<["-"], "g">,
 def S : Flag<["-"], "S">,
         Alias<strip_debug>;
 
-defm remove_section : Eq<"remove-section">,
-                      MetaVarName<"section">,
-                      HelpText<"Remove <section>">;
+defm remove_section : Eq<"remove-section", "Remove <section>">,
+                      MetaVarName<"section">;
 
 def R : JoinedOrSeparate<["-"], "R">,
         Alias<remove_section>;
 
-defm keep_symbol : Eq<"keep-symbol">,
-                   MetaVarName<"symbol">,
-                   HelpText<"Do not remove symbol <symbol>">;
+defm keep_symbol : Eq<"keep-symbol", "Do not remove symbol <symbol>">,
+                   MetaVarName<"symbol">;
 
 def K : JoinedOrSeparate<["-"], "K">,
         Alias<keep_symbol>;




More information about the llvm-commits mailing list