From 9cce93fd45cde604f2185ebf5e43fb9f1d0a564b Mon Sep 17 00:00:00 2001
From: James Henderson <jh7370@my.bristol.ac.uk>
Date: Fri, 21 Jun 2019 11:22:20 +0000
Subject: [PATCH] [llvm-dwarfdump] Remove unnecessary explicit -h behaviour

--help and -h are automatically supported by the command-line parser,
unless overridden by the tool. The behaviour of the PrintHelpMessage
being used for -h prior to this patch is subtly different to that
provided by --help automatically (it omits certain elements of help text
and options, such as --help-list), so overriding the default is not
desirable, without good reason. This patch removes the explicit
specification of -h and its behaviour, so that the default behaviour is
used.

Reviewed by: hintonda

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364029 91177308-0d34-0410-b5e6-96231b3b80d8
---
 test/Support/check-default-options.txt  | 9 ---------
 test/tools/llvm-dwarfdump/cmdline.test  | 4 ++++
 tools/llvm-dwarfdump/llvm-dwarfdump.cpp | 7 -------
 3 files changed, 4 insertions(+), 16 deletions(-)

diff --git a/test/Support/check-default-options.txt b/test/Support/check-default-options.txt
index 6f2bff94f33..352471ed9ef 100644
--- a/test/Support/check-default-options.txt
+++ b/test/Support/check-default-options.txt
@@ -2,17 +2,8 @@
 # RUN: llvm-readobj --help-hidden %t | FileCheck --check-prefix=CHECK-READOBJ %s
 # RUN: llvm-tblgen --help-hidden %t | FileCheck --check-prefix=CHECK-TBLGEN %s
 # RUN: llvm-opt-report --help-hidden %t | FileCheck --check-prefix=CHECK-OPT-RPT %s
-# RUN: llvm-dwarfdump --help-hidden %t | FileCheck --check-prefix=CHECK-DWARF %s
-# RUN: llvm-dwarfdump -h %t | FileCheck --check-prefix=CHECK-DWARF-H %s
-
 
 # CHECK-OBJDUMP: -h  - Alias for --section-headers
 # CHECK-READOBJ: -h  - Alias for --file-headers
 # CHECK-TBLGEN:  -h  - Alias for --help
 # CHECK-OPT-RPT: -h  - Alias for --help
-# CHECK-DWARF:   -h  - Alias for -help
-
-# llvm-dwarfdump declares `-h` option and prints special help in that case,
-# which is weird, but makes for a good test, i.e., shows the default `-h`
-# wasn't used.
-# CHECK-DWARF-H-NOT: --help-list  - Display list of available options (--help-list-hidden for more)
diff --git a/test/tools/llvm-dwarfdump/cmdline.test b/test/tools/llvm-dwarfdump/cmdline.test
index 8d19745825c..9aa0a1527b2 100644
--- a/test/tools/llvm-dwarfdump/cmdline.test
+++ b/test/tools/llvm-dwarfdump/cmdline.test
@@ -3,6 +3,10 @@ RUN: llvm-dwarfdump --help 2>&1 | FileCheck --check-prefix=HELP %s --implicit-ch
 HELP: USAGE: llvm-dwarfdump{{[^ ]*}} [options] <input object files or .dSYM bundles>
 HELP: Color Options
 HELP: -color
+HELP: Generic Options
+HELP: -help
+HELP: -help-list
+HELP: -version
 HELP: Section-specific Dump Options
 HELP: -debug-info            - Dump the .debug_info section
 HELP: -eh-frame
diff --git a/tools/llvm-dwarfdump/llvm-dwarfdump.cpp b/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
index 1efc96df665..701efade286 100644
--- a/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
+++ b/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
@@ -92,8 +92,6 @@ namespace {
 using namespace cl;
 
 OptionCategory DwarfDumpCategory("Specific Options");
-static opt<bool> Help("h", desc("Alias for -help"), Hidden,
-                      cat(DwarfDumpCategory));
 static list<std::string>
     InputFilenames(Positional, desc("<input object files or .dSYM bundles>"),
                    ZeroOrMore, cat(DwarfDumpCategory));
@@ -575,11 +573,6 @@ int main(int argc, char **argv) {
       "pretty-print DWARF debug information in object files"
       " and debug info archives.\n");
 
-  if (Help) {
-    PrintHelpMessage(/*Hidden =*/false, /*Categorized =*/true);
-    return 0;
-  }
-
   // FIXME: Audit interactions between these two options and make them
   //        compatible.
   if (Diff && Verbose) {
-- 
2.40.0