include "llvm/Option/OptParser.td" class F : Flag<["-", "--"], name>, HelpText; multiclass B { def NAME: Flag<["-", "--"], name>, HelpText; def no_ # NAME: Flag<["-", "--"], "no-" # name>, HelpText; } multiclass Eq { def NAME #_EQ : Joined<["-", "--"], name #"=">, HelpText; def : Separate<["-", "--"], name>, Alias(NAME #_EQ)>; } def generic_grp : OptionGroup<"Genric Options">, HelpText<"Generic Options">; def help : F<"help", "Display this help">, Group; def : Flag<["-"], "h">, Alias, HelpText<"Alias for --help">, Group; def version : F<"version", "Display the version">, Group; def : Flag<["-"], "v">, Alias, HelpText<"Alias for --version">, Group; def action_grp : OptionGroup<"Action">, HelpText<"Action (required)">; def print : F<"print", "Print coverage addresses">, Group; def printCoveragePcs : F<"print-coverage-pcs", "Print coverage instrumentation points addresses.">, Group; def coveredFunctions : F<"covered-functions", "Print all covered funcions.">, Group; def notCoveredFunctions : F<"not-covered-functions", "Print all not covered funcions.">, Group; def printCoverageStats : F<"print-coverage-stats", "Print coverage statistics.">, Group; def htmlReport : F<"html-report", "REMOVED. Use -symbolize & coverage-report-server.py.">, Group; def symbolize : F<"symbolize", "Produces a symbolized JSON report from binary report.">, Group; def merge : F<"merge", "Merges reports.">, Group; defm demangle : B<"demangle", "Demangle function names", "Do not demangle function names">; defm skipDeadFiles : B<"skip-dead-files", "Do not list dead source files in reports", "List dead source files in reports">; defm useDefaultIgnoreList : B<"use_default_ignorelist", "Use the default ignore list", "Don't use the default ignore list">, Flags<[HelpHidden]>; // Compatibility aliases def : Flag<["-"], "demangle=0">, Alias, HelpText<"Alias for --no-demangle">; def : Flag<["-"], "skip-dead-files=0">, Alias, HelpText<"Alias for --no-skip-dead-files">; def : Flag<["-"], "use_default_ignorelist=0">, Alias, HelpText<"Alias for --no-use_default_ignore_list">; defm stripPathPrefix : Eq<"strip_path_prefix", "Strip this prefix from files paths in reports">, MetaVarName<"">; defm ignorelist : Eq<"ignorelist", "Ignorelist file (sanitizer ignorelist format)">, MetaVarName<"">;