/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|* Option Parsing Definitions                                                 *|
|*                                                                            *|
|* Automatically generated file, do not edit!                                 *|
|*                                                                            *|
\*===----------------------------------------------------------------------===*/

/////////
// String table

#ifdef OPTTABLE_STR_TABLE_CODE

#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Woverlength-strings"
#endif
static constexpr char OptionStrTableStorage[] =
  "\0"
  "-\0"
  "--\0"
  "<input>\0"
  "<unknown>\0"
  "--allow-multiple-definition\0"
  "--allow-undefined-file=\0"
  "-allow-undefined-file\0"
  "--allow-undefined\0"
  "--Bdynamic\0"
  "--Bstatic\0"
  "--Bsymbolic\0"
  "--build-id=\0"
  "--build-id\0"
  "--call_shared\0"
  "--check-features\0"
  "--color-diagnostics=\0"
  "--color-diagnostics\0"
  "--compress-relocations\0"
  "--demangle\0"
  "--disable-verify\0"
  "--dn\0"
  "--dy\0"
  "--emit-relocs\0"
  "--end-lib\0"
  "--entry=\0"
  "--entry\0"
  "--error-limit=\0"
  "--error-limit\0"
  "--error-unresolved-symbols\0"
  "--experimental-pic\0"
  "--export-all\0"
  "--export-dynamic\0"
  "--export-if-defined=\0"
  "--export-if-defined\0"
  "--export-memory=\0"
  "--export-memory\0"
  "--export-table\0"
  "--export=\0"
  "--export\0"
  "--extra-features=\0"
  "-E\0"
  "-e\0"
  "--fatal-warnings\0"
  "--features=\0"
  "--gc-sections\0"
  "--global-base=\0"
  "--growable-table\0"
  "--help\0"
  "--import-memory=\0"
  "--import-memory\0"
  "--import-table\0"
  "--import-undefined\0"
  "--initial-heap=\0"
  "--initial-memory=\0"
  "-i\0"
  "--keep-section=\0"
  "--keep-section\0"
  "--library-path=\0"
  "--library-path\0"
  "--library=\0"
  "--library\0"
  "--lto-CGO\0"
  "--lto-debug-pass-manager\0"
  "--lto-obj-path=\0"
  "--lto-O\0"
  "--lto-partitions=\0"
  "-L\0"
  "-l\0"
  "--Map=\0"
  "--Map\0"
  "--max-memory=\0"
  "--merge-data-segments\0"
  "--mllvm=\0"
  "--mllvm\0"
  "-M\0"
  "-m\0"
  "--no-allow-multiple-definition\0"
  "--no-check-features\0"
  "--no-color-diagnostics\0"
  "--no-demangle\0"
  "--no-entry\0"
  "--no-export-dynamic\0"
  "--no-fatal-warnings\0"
  "--no-gc-sections\0"
  "--no-growable-memory\0"
  "--no-merge-data-segments\0"
  "--no-pie\0"
  "--no-print-gc-sections\0"
  "--no-shlib-sigcheck\0"
  "--no-stack-first\0"
  "--no-whole-archive\0"
  "--noinhibit-exec\0"
  "--non_shared\0"
  "-O\0"
  "-o\0"
  "--page-size=\0"
  "--pie\0"
  "--print-gc-sections\0"
  "--print-map\0"
  "--relocatable\0"
  "--reproduce=\0"
  "--reproduce\0"
  "--rpath=\0"
  "--rpath\0"
  "--rsp-quoting=\0"
  "--rsp-quoting\0"
  "-r\0"
  "--save-temps\0"
  "--shared-memory\0"
  "--shared\0"
  "--soname=\0"
  "--soname\0"
  "--stack-first\0"
  "--start-lib\0"
  "--static\0"
  "--strip-all\0"
  "--strip-debug\0"
  "-S\0"
  "-s\0"
  "--table-base=\0"
  "--thinlto-cache-dir=\0"
  "--thinlto-cache-policy=\0"
  "--thinlto-cache-policy\0"
  "--thinlto-emit-imports-files\0"
  "--thinlto-emit-index-files\0"
  "--thinlto-index-only=\0"
  "--thinlto-index-only\0"
  "--thinlto-jobs=\0"
  "--thinlto-object-suffix-replace=\0"
  "--thinlto-prefix-replace=\0"
  "--threads=\0"
  "--threads\0"
  "--trace-symbol=\0"
  "--trace-symbol\0"
  "--trace\0"
  "-t\0"
  "--undefined=\0"
  "--undefined\0"
  "--unresolved-symbols=\0"
  "--unresolved-symbols\0"
  "-u\0"
  "--verbose\0"
  "--version\0"
  "-V\0"
  "-v\0"
  "--warn-unresolved-symbols\0"
  "--whole-archive\0"
  "--why-extract=\0"
  "--wrap=\0"
  "--wrap\0"
  "-y\0"
  "-z\0"
  ;
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif

static constexpr llvm::StringTable
OptionStrTable = OptionStrTableStorage;
#endif // OPTTABLE_STR_TABLE_CODE

/////////
// Prefixes

#ifdef OPTTABLE_PREFIXES_TABLE_CODE
static constexpr llvm::StringTable::Offset OptionPrefixesTable[] = {
  0 /* prefixes */,
  1 /* prefixes */, 1 /* '-' */,
  1 /* prefixes */, 3 /* '--' */,
  2 /* prefixes */, 3 /* '--' */, 1 /* '-' */
};
#endif // OPTTABLE_PREFIXES_TABLE_CODE

/////////// SubCommand IDs

#ifdef OPTTABLE_SUBCOMMAND_IDS_TABLE_CODE
static constexpr unsigned OptionSubCommandIDsTable[] = {
  0 /* subcommands */
};
#endif // OPTTABLE_SUBCOMMAND_IDS_TABLE_CODE

/////////
// Prefix Union

#ifdef OPTTABLE_PREFIXES_UNION_CODE
static constexpr llvm::StringTable::Offset OptionPrefixesUnion[] = {
  1 /* '-' */,   3 /* '--' */
};
#endif // OPTTABLE_PREFIXES_UNION_CODE

/////////
// ValuesCode

#ifdef OPTTABLE_VALUES_CODE
#endif
/////////
// Groups

#ifdef OPTION

//////////
// Options

OPTION(0, 6 /* <input> */, INPUT, Input, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(0, 14 /* <unknown> */, UNKNOWN, Unknown, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 24 /* --allow-multiple-definition */, allow_multiple_definition, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Allow multiple definitions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 52 /* --allow-undefined-file= */, allow_undefined_file, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Allow symbols listed in <file> to be undefined in linked binary", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(1, 76 /* -allow-undefined-file */, allow_undefined_file_s, Separate, INVALID, allow_undefined_file, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 98 /* --allow-undefined */, allow_undefined, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Allow undefined symbols in linked binary. This options is equivalent to --import-undefined and --unresolved-symbols=ignore-all", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 116 /* --Bdynamic */, Bdynamic, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Link against shared libraries", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 127 /* --Bstatic */, Bstatic, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Do not link against shared libraries (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 137 /* --Bsymbolic */, Bsymbolic, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Bind defined symbols locally", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 149 /* --build-id= */, build_id_eq, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Generate build ID note", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "[fast,sha1,uuid,0x<hexstring>]", nullptr, 0)
OPTION(5, 161 /* --build-id */, build_id, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Alias for --build-id=fast", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 172 /* --call_shared */, anonymous_2, Flag, INVALID, Bdynamic, nullptr, 0, DefaultVis, 0,
       "Alias for --Bdynamic", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 186 /* --check-features */, check_features, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Check feature compatibility of linked objects (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 203 /* --color-diagnostics= */, color_diagnostics_eq, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Use colors in diagnostics (default: auto)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "[auto,always,never]", nullptr, 0)
OPTION(5, 224 /* --color-diagnostics */, color_diagnostics, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Alias for --color-diagnostics=always", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 244 /* --compress-relocations */, compress_relocations, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Compress the relocation targets in the code section.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 267 /* --demangle */, demangle, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Demangle symbol names (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 278 /* --disable-verify */, disable_verify, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 295 /* --dn */, anonymous_4, Flag, INVALID, Bstatic, nullptr, 0, DefaultVis, 0,
       "Alias for --Bstatic", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 300 /* --dy */, anonymous_3, Flag, INVALID, Bdynamic, nullptr, 0, DefaultVis, 0,
       "Alias for --Bdynamic", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 305 /* --emit-relocs */, emit_relocs, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Generate relocations in output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 319 /* --end-lib */, end_lib, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "End a grouping of objects that should be treated as if they were together in an archive", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 329 /* --entry= */, anonymous_1, Joined, INVALID, entry, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 338 /* --entry */, entry, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Name of entry point symbol", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "<entry>", nullptr, 0)
OPTION(3, 346 /* --error-limit= */, error_limit_eq, Joined, INVALID, error_limit, nullptr, 0, DefaultVis, 0,
       "Maximum number of errors to emit before stopping (0 = no limit)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 361 /* --error-limit */, error_limit, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 375 /* --error-unresolved-symbols */, error_unresolved_symbols, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Report unresolved symbols as errors", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 402 /* --experimental-pic */, experimental_pic, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Enable Experimental PIC", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 421 /* --export-all */, export_all, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Export all symbols (normally combined with --no-gc-sections)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 434 /* --export-dynamic */, export_dynamic, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Put symbols in the dynamic symbol table", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 451 /* --export-if-defined= */, export_if_defined_eq, Joined, INVALID, export_if_defined, nullptr, 0, DefaultVis, 0,
       "Force a symbol to be exported, if it is defined in the input", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 472 /* --export-if-defined */, export_if_defined, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 492 /* --export-memory= */, export_memory_with_name, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Export the module's memory with the passed name", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 509 /* --export-memory */, export_memory, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Export the module's memory with the default name of \"memory\"", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 525 /* --export-table */, export_table, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Export function table to the environment", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 540 /* --export= */, export_eq, Joined, INVALID, export, nullptr, 0, DefaultVis, 0,
       "Force a symbol to be exported", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 550 /* --export */, export, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 559 /* --extra-features= */, extra_features, CommaJoined, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Comma-separated list of features to add to the default set of features inferred from input objects.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(1, 577 /* -E */, anonymous_7, Flag, INVALID, export_dynamic, nullptr, 0, DefaultVis, 0,
       "Alias for --export-dynamic", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(1, 580 /* -e */, anonymous_0, JoinedOrSeparate, INVALID, entry, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 583 /* --fatal-warnings */, fatal_warnings, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Treat warnings as errors", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 600 /* --features= */, features, CommaJoined, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Comma-separated used features, inferred from input objects by default.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 612 /* --gc-sections */, gc_sections, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Enable garbage collection of unused sections (defualt)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 626 /* --global-base= */, global_base, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Memory offset at which to place global data (Defaults to 1024)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 641 /* --growable-table */, growable_table, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Remove maximum size from function table, allowing table to grow", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 658 /* --help */, help, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Print option help", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 665 /* --import-memory= */, import_memory_with_name, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Import the module's memory from the passed module with the passed name.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "<module>,<name>", nullptr, 0)
OPTION(3, 682 /* --import-memory */, import_memory, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Import the module's memory from the default module of \"env\" with the name \"memory\".", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 698 /* --import-table */, import_table, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Import function table from the environment", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 713 /* --import-undefined */, import_undefined, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Turn undefined symbols into imports where possible", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 732 /* --initial-heap= */, initial_heap, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Initial size of the heap", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 748 /* --initial-memory= */, initial_memory, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Initial size of the linear memory", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(1, 766 /* -i */, anonymous_8, Flag, INVALID, initial_memory, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 769 /* --keep-section= */, keep_section_eq, Joined, INVALID, keep_section, nullptr, 0, DefaultVis, 0,
       "Preserve a section even when --strip-all is given. This is useful for compiler drivers such as clang or emcc that, for example, depend on the features section for post-link processing. Can be specified multiple times to keep multiple sections", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 785 /* --keep-section */, keep_section, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 800 /* --library-path= */, anonymous_12, Joined, INVALID, library_path, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 816 /* --library-path */, anonymous_11, Separate, INVALID, library_path, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 831 /* --library= */, anonymous_10, Joined, INVALID, library, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 842 /* --library */, anonymous_9, Separate, INVALID, library, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 852 /* --lto-CGO */, lto_CGO, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Codegen optimization level for LTO", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "<cgopt-level>", nullptr, 0)
OPTION(3, 862 /* --lto-debug-pass-manager */, lto_debug_pass_manager, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Debug new pass manager", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 887 /* --lto-obj-path= */, lto_obj_path_eq, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 903 /* --lto-O */, lto_O, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Optimization level for LTO", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "<opt-level>", nullptr, 0)
OPTION(3, 911 /* --lto-partitions= */, lto_partitions, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Number of LTO codegen partitions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(1, 929 /* -L */, library_path, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Add a directory to the library search path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "<dir>", nullptr, 0)
OPTION(1, 932 /* -l */, library, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Root name of library to use", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "<libName>", nullptr, 0)
OPTION(5, 935 /* --Map= */, Map_eq, Joined, INVALID, Map, nullptr, 0, DefaultVis, 0,
       "Print a link map to the specified file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 942 /* --Map */, Map, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 948 /* --max-memory= */, max_memory, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Maximum size of the linear memory", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 962 /* --merge-data-segments */, merge_data_segments, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Enable merging data segments (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 984 /* --mllvm= */, mllvm_eq, Joined, INVALID, mllvm, nullptr, 0, DefaultVis, 0,
       "Additional arguments to forward to LLVM's option processing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 993 /* --mllvm */, mllvm, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(1, 1001 /* -M */, anonymous_13, Flag, INVALID, print_map, nullptr, 0, DefaultVis, 0,
       "Alias for --print-map", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(1, 1004 /* -m */, m, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Set target emulation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1007 /* --no-allow-multiple-definition */, no_allow_multiple_definition, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Do not allow multiple definitions (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1038 /* --no-check-features */, no_check_features, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Ignore feature compatibility of linked objects", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1058 /* --no-color-diagnostics */, no_color_diagnostics, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Alias for --color-diagnostics=never", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1081 /* --no-demangle */, no_demangle, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Do not demangle symbol names", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1095 /* --no-entry */, no_entry, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Do not output any entry point", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1106 /* --no-export-dynamic */, no_export_dynamic, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Do not put symbols in the dynamic symbol table (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1126 /* --no-fatal-warnings */, no_fatal_warnings, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Do not treat warnings as errors (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1146 /* --no-gc-sections */, no_gc_sections, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Disable garbage collection of unused sections", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1163 /* --no-growable-memory */, no_growable_memory, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Set maximum size of the linear memory to its initial size", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1184 /* --no-merge-data-segments */, no_merge_data_segments, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Disable merging data segments", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1209 /* --no-pie */, no_pie, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Do not create a position independent executable (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1218 /* --no-print-gc-sections */, no_print_gc_sections, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Do not list removed unused sections (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1241 /* --no-shlib-sigcheck */, no_shlib_sigcheck, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Do not check signatures of functions defined in shared libraries.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1261 /* --no-stack-first */, no_stack_first, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Place the stack after static data region", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1278 /* --no-whole-archive */, no_whole_archive, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Do not force load of all members in a static library (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1297 /* --noinhibit-exec */, noinhibit_exec, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Retain the executable output file whenever it is still usable", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1314 /* --non_shared */, anonymous_5, Flag, INVALID, Bstatic, nullptr, 0, DefaultVis, 0,
       "Alias for --Bstatic", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(1, 1327 /* -O */, O, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Optimize output file size", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(1, 1330 /* -o */, o, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Path to file to write output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "<path>", nullptr, 0)
OPTION(3, 1333 /* --page-size= */, page_size, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "The Wasm page size (Defaults to 65536)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1346 /* --pie */, pie, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Create a position independent executable", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1352 /* --print-gc-sections */, print_gc_sections, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "List removed unused sections", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1372 /* --print-map */, print_map, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Print a link map to the standard output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1384 /* --relocatable */, relocatable, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Create relocatable object file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1398 /* --reproduce= */, reproduce_eq, Joined, INVALID, reproduce, nullptr, 0, DefaultVis, 0,
       "Dump linker invocation and input files for debugging", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1411 /* --reproduce */, reproduce, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1423 /* --rpath= */, rpath_eq, Joined, INVALID, rpath, nullptr, 0, DefaultVis, 0,
       "Add a DT_RUNPATH to the output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1432 /* --rpath */, rpath, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1440 /* --rsp-quoting= */, rsp_quoting_eq, Joined, INVALID, rsp_quoting, nullptr, 0, DefaultVis, 0,
       "Quoting style for response files", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "[posix,windows]", nullptr, 0)
OPTION(5, 1455 /* --rsp-quoting */, rsp_quoting, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "[posix,windows]", nullptr, 0)
OPTION(1, 1469 /* -r */, anonymous_14, Flag, INVALID, relocatable, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1472 /* --save-temps */, save_temps, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Save intermediate LTO compilation results", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1485 /* --shared-memory */, shared_memory, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Use shared linear memory", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1501 /* --shared */, shared, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Build a shared object", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1510 /* --soname= */, soname_eq, Joined, INVALID, soname, nullptr, 0, DefaultVis, 0,
       "Set the module name in the generated name section", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1520 /* --soname */, soname, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1529 /* --stack-first */, stack_first, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Place stack at start of linear memory (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1543 /* --start-lib */, start_lib, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Start a grouping of objects that should be treated as if they were together in an archive", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1555 /* --static */, anonymous_6, Flag, INVALID, Bstatic, nullptr, 0, DefaultVis, 0,
       "Alias for --Bstatic", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1564 /* --strip-all */, strip_all, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Strip all symbols", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1576 /* --strip-debug */, strip_debug, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Strip debugging information", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(1, 1590 /* -S */, anonymous_16, Flag, INVALID, strip_debug, nullptr, 0, DefaultVis, 0,
       "Alias for --strip-debug", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(1, 1593 /* -s */, anonymous_15, Flag, INVALID, strip_all, nullptr, 0, DefaultVis, 0,
       "Alias for --strip-all", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1596 /* --table-base= */, table_base, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Table offset at which to place address taken functions (Defaults to 1)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1610 /* --thinlto-cache-dir= */, thinlto_cache_dir, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Path to ThinLTO cached object file directory", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1631 /* --thinlto-cache-policy= */, thinlto_cache_policy_eq, Joined, INVALID, thinlto_cache_policy, nullptr, 0, DefaultVis, 0,
       "Pruning policy for the ThinLTO cache", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1655 /* --thinlto-cache-policy */, thinlto_cache_policy, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1678 /* --thinlto-emit-imports-files */, thinlto_emit_imports_files, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1707 /* --thinlto-emit-index-files */, thinlto_emit_index_files, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1734 /* --thinlto-index-only= */, thinlto_index_only_eq, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1756 /* --thinlto-index-only */, thinlto_index_only, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1777 /* --thinlto-jobs= */, thinlto_jobs, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Number of ThinLTO jobs. Default to --threads=", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1793 /* --thinlto-object-suffix-replace= */, thinlto_object_suffix_replace_eq, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1826 /* --thinlto-prefix-replace= */, thinlto_prefix_replace_eq, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1852 /* --threads= */, threads_eq, Joined, INVALID, threads, nullptr, 0, DefaultVis, 0,
       "Number of threads. '1' disables multi-threading. By default all available hardware threads are used", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1863 /* --threads */, threads, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1873 /* --trace-symbol= */, trace_symbol_eq, Joined, INVALID, trace_symbol, nullptr, 0, DefaultVis, 0,
       "Trace references to symbols", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1889 /* --trace-symbol */, trace_symbol, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1904 /* --trace */, trace, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Print the names of the input files", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(1, 1912 /* -t */, anonymous_17, Flag, INVALID, trace, nullptr, 0, DefaultVis, 0,
       "Alias for --trace", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1915 /* --undefined= */, undefined_eq, Joined, INVALID, undefined, nullptr, 0, DefaultVis, 0,
       "Force undefined symbol during linking", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1928 /* --undefined */, undefined, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1940 /* --unresolved-symbols= */, unresolved_symbols_eq, Joined, INVALID, unresolved_symbols, nullptr, 0, DefaultVis, 0,
       "Determine how to handle unresolved symbols", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1962 /* --unresolved-symbols */, unresolved_symbols, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(1, 1983 /* -u */, anonymous_19, JoinedOrSeparate, INVALID, undefined, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1986 /* --verbose */, verbose, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Verbose mode", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1996 /* --version */, version, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Display the version number and exit", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(1, 2006 /* -V */, anonymous_20, Flag, INVALID, v, nullptr, 0, DefaultVis, 0,
       "Alias for -v", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(1, 2009 /* -v */, v, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Display the version number", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 2012 /* --warn-unresolved-symbols */, warn_unresolved_symbols, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Report unresolved symbols as warnings", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 2038 /* --whole-archive */, whole_archive, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Force load of all members in a static library", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 2054 /* --why-extract= */, why_extract, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Print to a file about why archive members are extracted", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 2069 /* --wrap= */, wrap_eq, Joined, INVALID, wrap, nullptr, 0, DefaultVis, 0,
       "Use wrapper functions for symbol", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "<symbol>=<symbol>", nullptr, 0)
OPTION(5, 2077 /* --wrap */, wrap, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "<symbol>=<symbol>", nullptr, 0)
OPTION(1, 2084 /* -y */, anonymous_18, JoinedOrSeparate, INVALID, trace_symbol, nullptr, 0, DefaultVis, 0,
       "Alias for --trace-symbol", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(1, 2087 /* -z */, z, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Linker option extensions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "<option>", nullptr, 0)
#endif // OPTION

#ifdef SIMPLE_ENUM_VALUE_TABLE

struct SimpleEnumValue {
  const char *Name;
  unsigned Value;
};

struct SimpleEnumValueTable {
  const SimpleEnumValue *Table;
  unsigned Size;
};
static const SimpleEnumValueTable SimpleEnumValueTables[] = {};
static const unsigned SimpleEnumValueTablesSize = std::size(SimpleEnumValueTables);
#endif // SIMPLE_ENUM_VALUE_TABLE

/////////

// SubCommands

#ifdef OPTTABLE_SUBCOMMANDS_CODE
static constexpr llvm::opt::OptTable::SubCommand OptionSubCommands[] = {
};
#endif // OPTTABLE_SUBCOMMANDS_CODE


