include "llvm/Option/OptParser.td" class F : Flag<["-"], letter>, HelpText; class FF : Flag<["--"], name>, HelpText; multiclass BB { 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 help : FF<"help", "Display this help">; defm strip_underscore : BB<"strip-underscore", "Strip the leading underscore", "Don't strip the leading underscore">; def types : FF<"types", "Attempt to demangle types as well as function names">; def no_params : FF<"no-params", "Skip function parameters and return types">; def version : FF<"version", "Display the version">; defm : Eq<"format", "Specify mangling format. Currently ignored because only 'gnu' is supported">; def : F<"s", "Alias for --format">; def : F<"_", "Alias for --strip-underscore">, Alias; def : F<"h", "Alias for --help">, Alias; def : F<"n", "Alias for --no-strip-underscore">, Alias; def : F<"p", "Alias for --no-params">, Alias; def : F<"t", "Alias for --types">, Alias;