[lld] dcb1ce6 - [LLD][MinGW] Cleanup Options.td file. NFC.

Martin Storsjö via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 25 23:38:37 PDT 2020


Author: Mateusz Mikuła
Date: 2020-08-26T09:38:11+03:00
New Revision: dcb1ce61b84203ab8ece771d7bbab6e3345a31b3

URL: https://github.com/llvm/llvm-project/commit/dcb1ce61b84203ab8ece771d7bbab6e3345a31b3
DIFF: https://github.com/llvm/llvm-project/commit/dcb1ce61b84203ab8ece771d7bbab6e3345a31b3.diff

LOG: [LLD][MinGW] Cleanup Options.td file. NFC.

Based on ELF driver Options.td.

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

Added: 
    

Modified: 
    lld/MinGW/Options.td

Removed: 
    


################################################################################
diff  --git a/lld/MinGW/Options.td b/lld/MinGW/Options.td
index fe4416660050..e0f9e794dd9d 100644
--- a/lld/MinGW/Options.td
+++ b/lld/MinGW/Options.td
@@ -16,6 +16,11 @@ multiclass EqLong<string name, string help> {
     HelpText<help>;
 }
 
+multiclass B<string name, string help1, string help2> {
+  def NAME: Flag<["--", "-"], name>, HelpText<help1>;
+  def no_ # NAME: Flag<["--", "-"], "no-" # name>, HelpText<help2>;
+}
+
 def L: JoinedOrSeparate<["-"], "L">, MetaVarName<"<dir>">,
   HelpText<"Add a directory to the library search path">;
 def Bdynamic: F<"Bdynamic">, HelpText<"Link against shared libraries">;
@@ -35,12 +40,15 @@ def exclude_all_symbols: F<"exclude-all-symbols">,
 def export_all_symbols: F<"export-all-symbols">,
     HelpText<"Export all symbols even if a def file or dllexport attributes are used">;
 defm file_alignment: Eq<"file-alignment", "Set file alignment">;
-def gc_sections: F<"gc-sections">, HelpText<"Remove unused sections">;
+defm gc_sections: B<"gc-sections",
+    "Remove unused sections",
+    "Don't remove unused sections">;
 def help: F<"help">, HelpText<"Print option help">;
 def icf: J<"icf=">, HelpText<"Identical code folding">;
 def image_base: S<"image-base">, HelpText<"Base address of the program">;
-def insert_timestamp: F<"insert-timestamp">,
-    HelpText<"Include PE header timestamp">;
+defm insert_timestamp: B<"insert-timestamp",
+    "Include PE header timestamp",
+    "Don't include PE header timestamp">;
 def kill_at: F<"kill-at">, HelpText<"Remove @n from exported symbols">;
 def l: JoinedOrSeparate<["-"], "l">, MetaVarName<"<libName>">,
   HelpText<"Root name of library to use">;
@@ -54,14 +62,9 @@ defm minor_os_version: EqLong<"minor-os-version",
      "Set the OS and subsystem minor version">;
 defm minor_subsystem_version: EqLong<"minor-subsystem-version",
      "Set the OS and subsystem minor version">;
-def no_insert_timestamp: F<"no-insert-timestamp">,
-    HelpText<"Don't include PE header timestamp">;
 def no_seh: F<"no-seh">, HelpText<"Set the 'no SEH' flag in the executable">;
-def no_whole_archive: F<"no-whole-archive">,
-    HelpText<"No longer include all object files for following archives">;
 def large_address_aware: Flag<["--"], "large-address-aware">,
     HelpText<"Enable large addresses">;
-def no_gc_sections: F<"no-gc-sections">, HelpText<"Don't remove unused sections">;
 def o: JoinedOrSeparate<["-"], "o">, MetaVarName<"<path>">,
   HelpText<"Path to file to write output">;
 defm out_implib: Eq<"out-implib", "Import library name">;
@@ -76,8 +79,9 @@ def strip_debug: F<"strip-debug">,
     HelpText<"Omit all debug information, but keep symbol information">;
 defm reproduce: Eq<"reproduce", "Write a tar file containing input files and command line options to reproduce link">;
 defm undefined: Eq<"undefined", "Include symbol in the link, if available">;
-def whole_archive: F<"whole-archive">,
-    HelpText<"Include all object files for following archives">;
+defm whole_archive: B<"whole-archive",
+    "Include all object files for following archives",
+    "No longer include all object files for following archives">;
 def v: Flag<["-"], "v">, HelpText<"Display the version number">;
 def verbose: F<"verbose">, HelpText<"Verbose mode">;
 def version: F<"version">, HelpText<"Display the version number and exit">;


        


More information about the llvm-commits mailing list