[PATCH] D106055: [llvm][tools] Hide unrelated llvm-cfi-verify options

Timm Bäder via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 15 04:10:25 PDT 2021


tbaeder created this revision.
tbaeder requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Another per-tool follow-up of https://reviews.llvm.org/D104363


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D106055

Files:
  llvm/test/tools/llvm-cfi-verify/help.test
  llvm/tools/llvm-cfi-verify/llvm-cfi-verify.cpp


Index: llvm/tools/llvm-cfi-verify/llvm-cfi-verify.cpp
===================================================================
--- llvm/tools/llvm-cfi-verify/llvm-cfi-verify.cpp
+++ llvm/tools/llvm-cfi-verify/llvm-cfi-verify.cpp
@@ -32,21 +32,24 @@
 using namespace llvm::object;
 using namespace llvm::cfi_verify;
 
+static cl::OptionCategory CFIVerifyCategory("CFI Verify Options");
+
 cl::opt<std::string> InputFilename(cl::Positional, cl::desc("<input file>"),
-                                   cl::Required);
+                                   cl::Required, cl::cat(CFIVerifyCategory));
 cl::opt<std::string> BlacklistFilename(cl::Positional,
                                        cl::desc("[blacklist file]"),
-                                       cl::init("-"));
+                                       cl::init("-"),
+                                       cl::cat(CFIVerifyCategory));
 cl::opt<bool> PrintGraphs(
     "print-graphs",
     cl::desc("Print graphs around indirect CF instructions in DOT format."),
-    cl::init(false));
+    cl::init(false), cl::cat(CFIVerifyCategory));
 cl::opt<unsigned> PrintBlameContext(
     "blame-context",
     cl::desc("Print the blame context (if possible) for BAD instructions. This "
              "specifies the number of lines of context to include, where zero "
              "disables this feature."),
-    cl::init(0));
+    cl::init(0), cl::cat(CFIVerifyCategory));
 cl::opt<unsigned> PrintBlameContextAll(
     "blame-context-all",
     cl::desc("Prints the blame context (if possible) for ALL instructions. "
@@ -54,9 +57,9 @@
              "instructions (see --blame-context). If --blame-context is "
              "unspecified, it prints this number of contextual lines for BAD "
              "instructions as well."),
-    cl::init(0));
+    cl::init(0), cl::cat(CFIVerifyCategory));
 cl::opt<bool> Summarize("summarize", cl::desc("Print the summary only."),
-                        cl::init(false));
+                        cl::init(false), cl::cat(CFIVerifyCategory));
 
 ExitOnError ExitOnErr;
 
@@ -245,6 +248,7 @@
 }
 
 int main(int argc, char **argv) {
+  cl::HideUnrelatedOptions({&CFIVerifyCategory, &ColorCategory});
   cl::ParseCommandLineOptions(
       argc, argv,
       "Identifies whether Control Flow Integrity protects all indirect control "
Index: llvm/test/tools/llvm-cfi-verify/help.test
===================================================================
--- /dev/null
+++ llvm/test/tools/llvm-cfi-verify/help.test
@@ -0,0 +1,7 @@
+# RUN: llvm-cfi-verify --help | FileCheck %s --check-prefix HELP --implicit-check-not='{{[Oo]}}ptions:'
+
+# HELP: OVERVIEW:
+# HELP: USAGE:
+# HELP: CFI Verify Options:
+# HELP: Color Options:
+# HELP: Generic Options:


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D106055.358914.patch
Type: text/x-patch
Size: 2742 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210715/04a7554e/attachment.bin>


More information about the llvm-commits mailing list