include "llvm/Option/OptParser.td"

multiclass BB<string name, string help1, string help2> {
  def NAME: Flag<["--"], name>, HelpText<help1>;
  def no_ # NAME: Flag<["--"], "no-" # name>, HelpText<help2>;
}

def build_accelerator: Separate<["--", "-"], "build-accelerator">,
  MetaVarName<"[none,DWARF]">,
  HelpText<"Build accelerator tables(default: none)\n"
  "    =none - Do not build accelerators\n"
  "    =DWARF - .debug_names are generated for all DWARF versions\n"
  >;
def: Joined<["--", "-"], "build-accelerator=">, Alias<build_accelerator>;

def help : Flag<["--"], "help">,
  HelpText<"Prints this help output">;

def h : Flag<["-"], "h">,
  Alias<help>,
  HelpText<"Alias for --help">;

defm odr_deduplication : BB<"odr-deduplication",
  "Do ODR deduplication for debug types(default)",
  "Don`t do ODR deduplication for debug types">;

def odr : Flag<["--"], "odr">,
  Alias<odr_deduplication>,
  HelpText<"Alias for --odr-deduplication">;

def no_odr : Flag<["--"], "no-odr">,
  Alias<no_odr_deduplication>,
  HelpText<"Alias for --no-odr-deduplication">;

defm garbage_collection : BB<"garbage-collection",
  "Do garbage collection for debug info(default)",
  "Don`t do garbage collection for debug info">;

defm separate_debug_file : BB<"separate-debug-file",
  "Create two output files: file w/o debug tables and file with debug tables",
  "Create single output file, containing debug tables(default)">;

def tombstone: Separate<["--", "-"], "tombstone">,
  MetaVarName<"[bfd,maxpc,exec,universal]">,
  HelpText<"Tombstone value used as a marker of invalid address(default: universal)\n"
  "    =bfd - Zero for all addresses and [1,1] for DWARF v4 (or less) address ranges and exec\n"
  "    =maxpc - Minus 1 for all addresses and minus 2 for DWARF v4 (or less) address ranges\n"
  "    =exec - Match with address ranges of executable sections\n"
  "    =universal - Both: bfd and maxpc"
  >;
def: Joined<["--", "-"], "tombstone=">, Alias<tombstone>;

def threads: Separate<["--", "-"], "num-threads">,
  MetaVarName<"<threads>">,
  HelpText<"Number of available threads for multi-threaded execution. "
  "Defaults to the number of cores on the current machine">;

def: Separate<["-"], "j">,
  Alias<threads>,
  HelpText<"Alias for --num-threads">;

def verbose : Flag<["--"], "verbose">,
  HelpText<"Enable verbose logging">;

def verify : Flag<["--"], "verify">,
  HelpText<"Run the DWARF verifier on the resulting debug info">;

def version : Flag<["--"], "version">,
  HelpText<"Print the version and exit">;

def V : Flag<["-"], "V">,
  Alias<version>,
  HelpText<"Alias for --version">;
