/*===- 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"
  "-###\0"
  "--allow-multiple-definition\0"
  "--appcontainer\0"
  "--as-needed\0"
  "--Bdynamic\0"
  "--Bstatic\0"
  "--build-id=\0"
  "--build-id\0"
  "-call_shared\0"
  "--delayload=\0"
  "--delayload\0"
  "--demangle\0"
  "--dependent-load-flag=\0"
  "--dependent-load-flag\0"
  "--disable-auto-image-base\0"
  "--disable-auto-import\0"
  "--disable-dynamicbase\0"
  "--disable-high-entropy-va\0"
  "--disable-no-seh\0"
  "--disable-nxcompat\0"
  "--disable-reloc-section\0"
  "--disable-runtime-pseudo-reloc\0"
  "--disable-stdcall-fixup\0"
  "--disable-tsaware\0"
  "--dll-search-prefix=\0"
  "--dll-search-prefix\0"
  "--dll\0"
  "-dn\0"
  "--dynamicbase\0"
  "-dy\0"
  "--enable-auto-image-base\0"
  "--enable-auto-import\0"
  "--enable-reloc-section\0"
  "--enable-runtime-pseudo-reloc\0"
  "--enable-stdcall-fixup\0"
  "--end-group\0"
  "--entry=\0"
  "--entry\0"
  "--error-limit=\0"
  "--error-limit\0"
  "--exclude-all-symbols\0"
  "--exclude-symbols=\0"
  "--exclude-symbols\0"
  "--export-all-symbols\0"
  "-e\0"
  "--fat-lto-objects\0"
  "--fatal-warnings\0"
  "--file-alignment=\0"
  "--file-alignment\0"
  "--full-shutdown\0"
  "--functionpadmin=\0"
  "--functionpadmin\0"
  "--gc-sections\0"
  "--guard-cf\0"
  "--guard-longjmp\0"
  "--heap=\0"
  "--heap\0"
  "--help\0"
  "--high-entropy-va\0"
  "--icf=\0"
  "--icf\0"
  "--image-base=\0"
  "--image-base\0"
  "--insert-timestamp\0"
  "--kill-at\0"
  "--large-address-aware\0"
  "--lto-CGO\0"
  "--lto-cs-profile-file=\0"
  "--lto-cs-profile-generate\0"
  "--lto-emit-asm\0"
  "--lto-O\0"
  "--lto-sample-profile=\0"
  "-L\0"
  "-l\0"
  "--major-image-version=\0"
  "--major-image-version\0"
  "--major-os-version=\0"
  "--major-os-version\0"
  "--major-subsystem-version=\0"
  "--major-subsystem-version\0"
  "--Map=\0"
  "--Map\0"
  "--minor-image-version=\0"
  "--minor-image-version\0"
  "--minor-os-version=\0"
  "--minor-os-version\0"
  "--minor-subsystem-version=\0"
  "--minor-subsystem-version\0"
  "--mllvm=\0"
  "--mllvm\0"
  "-m\0"
  "--no-allow-multiple-definition\0"
  "--no-demangle\0"
  "--no-dynamicbase\0"
  "--no-fat-lto-objects\0"
  "--no-fatal-warnings\0"
  "--no-gc-sections\0"
  "--no-guard-cf\0"
  "--no-guard-longjmp\0"
  "--no-insert-timestamp\0"
  "--no-seh\0"
  "--no-undefined\0"
  "--no-whole-archive\0"
  "-non_shared\0"
  "--nxcompat\0"
  "--out-implib=\0"
  "--out-implib\0"
  "--output-def=\0"
  "--output-def\0"
  "-O\0"
  "-o\0"
  "--pdb=\0"
  "--pdb\0"
  "--pic-executable\0"
  "--plugin-opt=-fresolution=\0"
  "--plugin-opt=-pass-through=\0"
  "--plugin-opt=-\0"
  "--plugin-opt=cs-profile-generate\0"
  "--plugin-opt=cs-profile-path=\0"
  "--plugin-opt=dwo_dir=\0"
  "--plugin-opt=emit-asm\0"
  "--plugin-opt=emit-llvm\0"
  "--plugin-opt=jobs=\0"
  "--plugin-opt=mcpu=\0"
  "--plugin-opt=O\0"
  "--plugin-opt=thinlto\0"
  "--plugin-opt=\0"
  "--plugin=\0"
  "--plugin\0"
  "--reproduce=\0"
  "--reproduce\0"
  "--require-defined=\0"
  "--require-defined\0"
  "--rpath=\0"
  "--rpath\0"
  "--section-alignment=\0"
  "--section-alignment\0"
  "--shared\0"
  "--sort-common\0"
  "--stack=\0"
  "--stack\0"
  "--start-group\0"
  "-static\0"
  "--strip-all\0"
  "--strip-debug\0"
  "--subsystem=\0"
  "--subsystem\0"
  "--sysroot=\0"
  "--sysroot\0"
  "-S\0"
  "-s\0"
  "--thinlto-cache-dir=\0"
  "--thinlto-cache-policy=\0"
  "--thinlto-cache-policy\0"
  "--thinlto-emit-imports-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"
  "--tsaware\0"
  "--undefined-glob=\0"
  "--undefined-glob\0"
  "--undefined=\0"
  "--undefined\0"
  "-u\0"
  "--verbose\0"
  "--version\0"
  "-v\0"
  "--whole-archive\0"
  "--wrap=\0"
  "--wrap\0"
  "--Xlink=\0"
  "--Xlink\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(1, 24 /* -### */, _HASH_HASH_HASH, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Print (but do not run) the commands to run for this compilation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 29 /* --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, 57 /* --appcontainer */, appcontainer, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Set the appcontainer flag in the executable", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 72 /* --as-needed */, anonymous_8, 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, 84 /* --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, 95 /* --Bstatic */, Bstatic, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Do not 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, 105 /* --build-id= */, build_id, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Generate build ID note (pass none to disable)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "<arg>", nullptr, 0)
OPTION(5, 117 /* --build-id */, anonymous_5, Flag, INVALID, build_id, nullptr, 0, DefaultVis, 0,
       "Alias for --build-id=", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(1, 128 /* -call_shared */, alias_Bdynamic_call_shared, Flag, INVALID, Bdynamic, 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, 141 /* --delayload= */, delayload_eq, Joined, INVALID, delayload, nullptr, 0, DefaultVis, 0,
       "DLL to load only on demand", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 154 /* --delayload */, delayload, 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, 166 /* --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(3, 177 /* --dependent-load-flag= */, dependent_load_flag_eq, Joined, INVALID, dependent_load_flag, nullptr, 0, DefaultVis, 0,
       "Override default LibraryLoad flags", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 200 /* --dependent-load-flag */, dependent_load_flag, 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, 222 /* --disable-auto-image-base */, anonymous_9, 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, 248 /* --disable-auto-import */, disable_auto_import, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Don't automatically import data symbols from other DLLs without dllimport", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 270 /* --disable-dynamicbase */, disable_dynamicbase, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Disable ASLR", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 292 /* --disable-high-entropy-va */, disable_high_entropy_va, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Don't set the 'high entropy VA' flag", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 318 /* --disable-no-seh */, disable_no_seh, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Don't set the 'no SEH' flag", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 335 /* --disable-nxcompat */, disable_nxcompat, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Don't set the 'nxcompat' flag", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 354 /* --disable-reloc-section */, disable_reloc_section, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Disable base relocations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 378 /* --disable-runtime-pseudo-reloc */, disable_runtime_pseudo_reloc, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Don't do automatic imports that require runtime fixups", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 409 /* --disable-stdcall-fixup */, disable_stdcall_fixup, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Don't resolve stdcall/fastcall/vectorcall to undecorated symbols", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 433 /* --disable-tsaware */, disable_tsaware, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Don't set the 'Terminal Server aware' flag", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 451 /* --dll-search-prefix= */, dll_search_prefix_eq, Joined, INVALID, dll_search_prefix, nullptr, 0, DefaultVis, 0,
       "Specify DLL prefix instead of 'lib'", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "<dll_search_prefix>", nullptr, 0)
OPTION(5, 472 /* --dll-search-prefix */, dll_search_prefix, 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} }}), "<dll_search_prefix>", nullptr, 0)
OPTION(5, 492 /* --dll */, alias_dll, Flag, INVALID, shared, 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, 498 /* -dn */, alias_Bstatic_dn, Flag, INVALID, Bstatic, 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, 502 /* --dynamicbase */, dynamicbase, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Enable ASLR", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(1, 516 /* -dy */, alias_Bdynamic_dy, Flag, INVALID, Bdynamic, 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, 520 /* --enable-auto-image-base */, anonymous_10, 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, 545 /* --enable-auto-import */, enable_auto_import, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Automatically import data symbols from other DLLs where needed", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 566 /* --enable-reloc-section */, enable_reloc_section, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Enable base relocations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 589 /* --enable-runtime-pseudo-reloc */, enable_runtime_pseudo_reloc, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Allow automatic imports that require runtime fixups", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 619 /* --enable-stdcall-fixup */, enable_stdcall_fixup, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Resolve stdcall/fastcall/vectorcall to undecorated symbols without warnings", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 642 /* --end-group */, anonymous_11, 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, 654 /* --entry= */, entry_eq, Joined, INVALID, entry, 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(5, 663 /* --entry */, entry, 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} }}), "<entry>", nullptr, 0)
OPTION(3, 671 /* --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, 686 /* --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, 700 /* --exclude-all-symbols */, exclude_all_symbols, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Don't automatically export any symbols", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 722 /* --exclude-symbols= */, exclude_symbols_eq, Joined, INVALID, exclude_symbols, nullptr, 0, DefaultVis, 0,
       "Exclude symbols from automatic export", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "<symbol[,symbol,...]>", nullptr, 0)
OPTION(5, 741 /* --exclude-symbols */, exclude_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} }}), "<symbol[,symbol,...]>", nullptr, 0)
OPTION(5, 759 /* --export-all-symbols */, export_all_symbols, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Export all symbols even if a def file or dllexport attributes are used", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(1, 780 /* -e */, alias_entry_e, 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(3, 783 /* --fat-lto-objects */, fat_lto_objects, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Use the .llvm.lto section, which contains LLVM bitcode, in fat LTO object files to perform LTO.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 801 /* --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, 818 /* --file-alignment= */, file_alignment_eq, Joined, INVALID, file_alignment, nullptr, 0, DefaultVis, 0,
       "Set file alignment", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 836 /* --file-alignment */, file_alignment, 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, 853 /* --full-shutdown */, anonymous_12, 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, 869 /* --functionpadmin= */, functionpadmin, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Prepares an image for hotpatching", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "<arg>", nullptr, 0)
OPTION(5, 887 /* --functionpadmin */, anonymous_6, Flag, INVALID, functionpadmin, nullptr, 0, DefaultVis, 0,
       "Alias for --functionpadmin=", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 904 /* --gc-sections */, gc_sections, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Remove 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, 918 /* --guard-cf */, guard_cf, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Enable Control Flow Guard", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 929 /* --guard-longjmp */, guard_longjmp, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Enable Control Flow Guard long jump hardening (default for --guard-cf)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 945 /* --heap= */, heap_eq, Joined, INVALID, heap, nullptr, 0, DefaultVis, 0,
       "Set size of the initial heap", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 953 /* --heap */, heap, 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, 960 /* --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(5, 967 /* --high-entropy-va */, high_entropy_va, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Set the 'high entropy VA' flag", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 985 /* --icf= */, icf_eq, Joined, INVALID, icf, nullptr, 0, DefaultVis, 0,
       "Identical code folding", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 992 /* --icf */, icf, 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, 998 /* --image-base= */, image_base_eq, Joined, INVALID, image_base, nullptr, 0, DefaultVis, 0,
       "Base address of the program", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1012 /* --image-base */, image_base, 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, 1025 /* --insert-timestamp */, insert_timestamp, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Include PE header timestamp", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1044 /* --kill-at */, kill_at, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Remove @n from exported symbols", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1054 /* --large-address-aware */, large_address_aware, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Enable large addresses", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1076 /* --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, 1086 /* --lto-cs-profile-file= */, lto_cs_profile_file, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Context sensitive profile file path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1109 /* --lto-cs-profile-generate */, lto_cs_profile_generate, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Perform context sensitive PGO instrumentation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1135 /* --lto-emit-asm */, lto_emit_asm, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Emit assembly code", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1150 /* --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, 1158 /* --lto-sample-profile= */, lto_sample_profile, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Sample profile file path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(1, 1180 /* -L */, L, 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, 1183 /* -l */, l, 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, 1186 /* --major-image-version= */, anonymous_13_eq, Joined, INVALID, anonymous_13, 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, 1209 /* --major-image-version */, anonymous_13, 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, 1231 /* --major-os-version= */, major_os_version_eq, Joined, INVALID, major_os_version, nullptr, 0, DefaultVis, 0,
       "Set the OS and subsystem major version", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1251 /* --major-os-version */, major_os_version, 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, 1270 /* --major-subsystem-version= */, major_subsystem_version_eq, Joined, INVALID, major_subsystem_version, nullptr, 0, DefaultVis, 0,
       "Set the OS and subsystem major version", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1297 /* --major-subsystem-version */, major_subsystem_version, 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, 1323 /* --Map= */, map_eq, Joined, INVALID, map, nullptr, 0, DefaultVis, 0,
       "Output a linker map", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1330 /* --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(5, 1336 /* --minor-image-version= */, anonymous_14_eq, Joined, INVALID, anonymous_14, 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, 1359 /* --minor-image-version */, anonymous_14, 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, 1381 /* --minor-os-version= */, minor_os_version_eq, Joined, INVALID, minor_os_version, nullptr, 0, DefaultVis, 0,
       "Set the OS and subsystem minor version", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1401 /* --minor-os-version */, minor_os_version, 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, 1420 /* --minor-subsystem-version= */, minor_subsystem_version_eq, Joined, INVALID, minor_subsystem_version, nullptr, 0, DefaultVis, 0,
       "Set the OS and subsystem minor version", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 1447 /* --minor-subsystem-version */, minor_subsystem_version, 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, 1473 /* --mllvm= */, mllvm_eq, Joined, INVALID, mllvm, 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, 1482 /* --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, 1490 /* -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, 1493 /* --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(5, 1524 /* --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(5, 1538 /* --no-dynamicbase */, alias_no_dynamicbase, Flag, INVALID, disable_dynamicbase, 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, 1555 /* --no-fat-lto-objects */, no_fat_lto_objects, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Ignore the .llvm.lto section in relocatable object files (default).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1576 /* --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, 1596 /* --no-gc-sections */, no_gc_sections, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Don't remove 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, 1613 /* --no-guard-cf */, no_guard_cf, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Do not enable Control Flow Guard (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1627 /* --no-guard-longjmp */, no_guard_longjmp, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Do not enable Control Flow Guard long jump hardening", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1646 /* --no-insert-timestamp */, no_insert_timestamp, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Don't include PE header timestamp", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1668 /* --no-seh */, no_seh, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Set the 'no SEH' flag in the executable", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1677 /* --no-undefined */, anonymous_15, 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, 1692 /* --no-whole-archive */, no_whole_archive, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "No longer include all object files for following archives", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(1, 1711 /* -non_shared */, alias_Bstatic_non_shared, Flag, INVALID, Bstatic, 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, 1723 /* --nxcompat */, nxcompat, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Set the 'nxcompat' flag in the executable", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1734 /* --out-implib= */, out_implib_eq, Joined, INVALID, out_implib, nullptr, 0, DefaultVis, 0,
       "Import library name", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1748 /* --out-implib */, out_implib, 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, 1761 /* --output-def= */, output_def_eq, Joined, INVALID, output_def, nullptr, 0, DefaultVis, 0,
       "Output def file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1775 /* --output-def */, output_def, 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, 1788 /* -O */, anonymous_7, 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(1, 1791 /* -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(5, 1794 /* --pdb= */, pdb_eq, Joined, INVALID, pdb, nullptr, 0, DefaultVis, 0,
       "Output PDB debug info file, chosen implicitly if the argument is empty", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1801 /* --pdb */, pdb, 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, 1807 /* --pic-executable */, anonymous_16, 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, 1824 /* --plugin-opt=-fresolution= */, anonymous_21, 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, 1851 /* --plugin-opt=-pass-through= */, anonymous_22, 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, 1879 /* --plugin-opt=- */, plugin_opt_eq_minus, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Specify an LLVM option for compatibility with LLVMgold.so", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1894 /* --plugin-opt=cs-profile-generate */, anonymous_2, Flag, INVALID, lto_cs_profile_generate, nullptr, 0, DefaultVis, 0,
       "Alias for --lto-cs-profile-generate", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1927 /* --plugin-opt=cs-profile-path= */, anonymous_3, Joined, INVALID, lto_cs_profile_file, nullptr, 0, DefaultVis, 0,
       "Alias for --lto-cs-profile-file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 1957 /* --plugin-opt=dwo_dir= */, plugin_opt_dwo_dir_eq, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Directory to store .dwo files when LTO and debug fission 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, 1979 /* --plugin-opt=emit-asm */, plugin_opt_emit_asm, Flag, INVALID, lto_emit_asm, nullptr, 0, DefaultVis, 0,
       "Alias for --lto-emit-asm", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 2001 /* --plugin-opt=emit-llvm */, plugin_opt_emit_llvm, 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, 2024 /* --plugin-opt=jobs= */, anonymous_4, Joined, INVALID, thinlto_jobs_eq, nullptr, 0, DefaultVis, 0,
       "Alias for --thinlto-jobs=", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 2043 /* --plugin-opt=mcpu= */, plugin_opt_mcpu_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, 2062 /* --plugin-opt=O */, anonymous_1, Joined, INVALID, lto_O, nullptr, 0, DefaultVis, 0,
       "Alias for --lto-O", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 2077 /* --plugin-opt=thinlto */, anonymous_0, 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, 2098 /* --plugin-opt= */, plugin_opt_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, 2112 /* --plugin= */, anonymous_17_eq, Joined, INVALID, anonymous_17, 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, 2122 /* --plugin */, anonymous_17, 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, 2131 /* --reproduce= */, reproduce_eq, Joined, INVALID, reproduce, nullptr, 0, DefaultVis, 0,
       "Write a tar file containing input files and command line options to reproduce link", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 2144 /* --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, 2156 /* --require-defined= */, require_defined_eq, Joined, INVALID, require_defined, nullptr, 0, DefaultVis, 0,
       "Force symbol to be added to symbol table as an undefined one", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 2175 /* --require-defined */, require_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(5, 2193 /* --rpath= */, rpath_eq, Joined, INVALID, rpath, 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, 2202 /* --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, 2210 /* --section-alignment= */, section_alignment_eq, Joined, INVALID, section_alignment, nullptr, 0, DefaultVis, 0,
       "Set section alignment", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 2231 /* --section-alignment */, section_alignment, 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, 2251 /* --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, 2260 /* --sort-common */, anonymous_19, 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, 2274 /* --stack= */, stack_eq, Joined, INVALID, stack, nullptr, 0, DefaultVis, 0,
       "Set size of the initial stack", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 2283 /* --stack */, stack, 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, 2291 /* --start-group */, anonymous_20, 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(1, 2305 /* -static */, alias_Bstatic_static, Flag, INVALID, Bstatic, 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, 2313 /* --strip-all */, strip_all, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Omit all symbol information from the output binary", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 2325 /* --strip-debug */, strip_debug, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Omit all debug information, but keep symbol information", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 2339 /* --subsystem= */, subs_eq, Joined, INVALID, subs, nullptr, 0, DefaultVis, 0,
       "Specify subsystem", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 2352 /* --subsystem */, subs, 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, 2364 /* --sysroot= */, anonymous_18_eq, Joined, INVALID, anonymous_18, 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, 2375 /* --sysroot */, anonymous_18, 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, 2385 /* -S */, alias_strip_S, Flag, INVALID, strip_debug, 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, 2388 /* -s */, alias_strip_s, Flag, INVALID, strip_all, 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, 2391 /* --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, 2412 /* --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, 2436 /* --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, 2459 /* --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, 2488 /* --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, 2510 /* --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, 2531 /* --thinlto-jobs= */, thinlto_jobs_eq, 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, 2547 /* --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, 2580 /* --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(3, 2606 /* --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(3, 2617 /* --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, 2627 /* --tsaware */, tsaware, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Set the 'Terminal Server aware' flag", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(3, 2637 /* --undefined-glob= */, undefined_glob_eq, Joined, INVALID, undefined_glob, 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} }}), "<pattern>", nullptr, 0)
OPTION(3, 2655 /* --undefined-glob */, undefined_glob, 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} }}), "<pattern>", nullptr, 0)
OPTION(5, 2672 /* --undefined= */, undefined_eq, Joined, INVALID, undefined, nullptr, 0, DefaultVis, 0,
       "Include symbol in the link, if available", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 2685 /* --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(1, 2697 /* -u */, alias_undefined_u, 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, 2700 /* --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, 2710 /* --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, 2720 /* -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, 2723 /* --whole-archive */, whole_archive, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
       "Include all object files for following archives", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
OPTION(5, 2739 /* --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>", nullptr, 0)
OPTION(5, 2747 /* --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>", nullptr, 0)
OPTION(5, 2754 /* --Xlink= */, Xlink_eq, Joined, INVALID, Xlink, nullptr, 0, DefaultVis, 0,
       "Pass <arg> to the COFF linker", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "<arg>", nullptr, 0)
OPTION(5, 2763 /* --Xlink */, Xlink, 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} }}), "<arg>", 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


