[llvm] 2b9bfa6 - [sancov] --help: hide unrelated options

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 21 18:00:38 PDT 2022


Author: Fangrui Song
Date: 2022-07-21T18:00:30-07:00
New Revision: 2b9bfa6044b946de72e10b93742610ef9938a54e

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

LOG: [sancov] --help: hide unrelated options

Added: 
    

Modified: 
    llvm/tools/sancov/sancov.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/tools/sancov/sancov.cpp b/llvm/tools/sancov/sancov.cpp
index e711e1e29b08a..0336b610e1392 100644
--- a/llvm/tools/sancov/sancov.cpp
+++ b/llvm/tools/sancov/sancov.cpp
@@ -57,6 +57,8 @@ namespace {
 
 // --------- COMMAND LINE FLAGS ---------
 
+cl::OptionCategory Cat("sancov Options");
+
 enum ActionType {
   CoveredFunctionsAction,
   HtmlReportAction,
@@ -84,39 +86,46 @@ cl::opt<ActionType> Action(
                    "REMOVED. Use -symbolize & coverage-report-server.py."),
         clEnumValN(SymbolizeAction, "symbolize",
                    "Produces a symbolized JSON report from binary report."),
-        clEnumValN(MergeAction, "merge", "Merges reports.")));
+        clEnumValN(MergeAction, "merge", "Merges reports.")),
+    cl::cat(Cat));
 
 static cl::list<std::string>
     ClInputFiles(cl::Positional, cl::OneOrMore,
                  cl::desc("<action> <binary files...> <.sancov files...> "
-                          "<.symcov files...>"));
+                          "<.symcov files...>"),
+                 cl::cat(Cat));
 
 static cl::opt<bool> ClDemangle("demangle", cl::init(true),
-                                cl::desc("Print demangled function name."));
+                                cl::desc("Print demangled function name"),
+                                cl::cat(Cat));
 
 static cl::opt<bool>
     ClSkipDeadFiles("skip-dead-files", cl::init(true),
-                    cl::desc("Do not list dead source files in reports."));
+                    cl::desc("Do not list dead source files in reports"),
+                    cl::cat(Cat));
 
-static cl::opt<std::string> ClStripPathPrefix(
-    "strip_path_prefix", cl::init(""),
-    cl::desc("Strip this prefix from file paths in reports."));
+static cl::opt<std::string>
+    ClStripPathPrefix("strip_path_prefix", cl::init(""),
+                      cl::desc("Strip this prefix from file paths in reports"),
+                      cl::cat(Cat));
 
 static cl::opt<std::string>
     ClIgnorelist("ignorelist", cl::init(""),
-                 cl::desc("Ignorelist file (sanitizer ignorelist format)."));
+                 cl::desc("Ignorelist file (sanitizer ignorelist format)"),
+                 cl::cat(Cat));
 
 static cl::opt<std::string>
     ClBlacklist("blacklist", cl::init(""), cl::Hidden,
-                cl::desc("ignorelist file (sanitizer ignorelist format)."));
+                cl::desc("ignorelist file (sanitizer ignorelist format)"),
+                cl::cat(Cat));
 
 static cl::opt<bool> ClUseDefaultBlacklist(
     "use_default_blacklist", cl::init(true), cl::Hidden,
-    cl::desc("Controls if default ignorelist should be used."));
+    cl::desc("Controls if default ignorelist should be used"), cl::cat(Cat));
 
 static cl::opt<bool> ClUseDefaultIgnorelist(
     "use_default_ignorelist", cl::init(true), cl::Hidden,
-    cl::desc("Controls if default ignorelist should be used."));
+    cl::desc("Controls if default ignorelist should be used"), cl::cat(Cat));
 
 static const char *const DefaultIgnorelistStr = "fun:__sanitizer_.*\n"
                                                 "src:/usr/include/.*\n"
@@ -1149,6 +1158,7 @@ readSymbolizeAndMergeCmdArguments(std::vector<std::string> FileNames) {
 
 int main(int Argc, char **Argv) {
   llvm::InitLLVM X(Argc, Argv);
+  cl::HideUnrelatedOptions(Cat);
 
   llvm::InitializeAllTargetInfos();
   llvm::InitializeAllTargetMCs();


        


More information about the llvm-commits mailing list