[MinGW] Add --insert-timestamp as complement to the --no-insert-timestamp option

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

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@353342 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/MinGW/Driver.cpp b/MinGW/Driver.cpp
index 71e86f5..920afd1 100644
--- a/MinGW/Driver.cpp
+++ b/MinGW/Driver.cpp
@@ -187,7 +187,7 @@
       Args.getLastArgValue(OPT_m) != "arm64pe" && !Args.hasArg(OPT_dynamicbase))
     Add("-dynamicbase:no");
 
-  if (Args.hasArg(OPT_no_insert_timestamp))
+  if (Args.hasFlag(OPT_no_insert_timestamp, OPT_insert_timestamp, false))
     Add("-timestamp:0");
 
   if (Args.hasFlag(OPT_gc_sections, OPT_no_gc_sections, false))
diff --git a/MinGW/Options.td b/MinGW/Options.td
index d5c1763..1eee1ca 100644
--- a/MinGW/Options.td
+++ b/MinGW/Options.td
@@ -16,6 +16,8 @@
 def gc_sections: F<"gc-sections">, HelpText<"Remove unused sections">;
 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">;
 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">;
diff --git a/test/MinGW/driver.test b/test/MinGW/driver.test
index b853527..f944994 100644
--- a/test/MinGW/driver.test
+++ b/test/MinGW/driver.test
@@ -153,4 +153,7 @@
 LIBPATH: -libpath:libpath
 
 RUN: ld.lld -### -m i386pep foo.o --no-insert-timestamp | FileCheck -check-prefix NOTIMESTAMP %s
+RUN: ld.lld -### -m i386pep foo.o --insert-timestamp --no-insert-timestamp | FileCheck -check-prefix NOTIMESTAMP %s
 NOTIMESTAMP: -timestamp:0
+RUN: ld.lld -### -m i386pep foo.o --no-insert-timestamp --insert-timestamp | FileCheck -check-prefix TIMESTAMP %s
+TIMESTAMP-NOT: -timestamp:0