18fee2ee9SEric Astorinclude "llvm/Option/OptParser.td" 28fee2ee9SEric Astor 38fee2ee9SEric Astor// For LLVM-specific options, we prefer a two-dash prefix, but accept one for 48fee2ee9SEric Astor// compatibility with llvm-mc. For clear separation from ML.EXE compatible 58fee2ee9SEric Astor// options, slash is not accepted. 68fee2ee9SEric Astorclass LLVMFlag<string name> : Flag<["--", "-"], name>; 78fee2ee9SEric Astorclass LLVMJoined<string name> : Joined<["--", "-"], name>; 88fee2ee9SEric Astorclass LLVMJoinedOrSeparate<string name> : JoinedOrSeparate<["--", "-"], name>; 98fee2ee9SEric Astorclass LLVMSeparate<string name> : Separate<["--", "-"], name>; 1082ecf9a0SEric Astorclass LLVMCommaJoined<string name> : CommaJoined<["--", "-"], name>; 118fee2ee9SEric Astor 128fee2ee9SEric Astordef ml_Group : OptionGroup<"<ml options>">, 138fee2ee9SEric Astor HelpText<"ML.EXE COMPATIBILITY OPTIONS">; 148fee2ee9SEric Astorclass MLFlag<string name> : Flag<["/", "-"], name>, Group<ml_Group>; 158fee2ee9SEric Astorclass MLJoined<string name> : Joined<["/", "-"], name>, Group<ml_Group>; 168fee2ee9SEric Astorclass MLJoinedOrSeparate<string name> : JoinedOrSeparate<["/", "-"], name>, 178fee2ee9SEric Astor Group<ml_Group>; 188fee2ee9SEric Astorclass MLSeparate<string name> : Separate<["/", "-"], name>, Group<ml_Group>; 198fee2ee9SEric Astor 208fee2ee9SEric Astordef unsupported_Group : OptionGroup<"unsupported">, Flags<[HelpHidden]>, 218fee2ee9SEric Astor HelpText<"UNSUPPORTED ML.EXE COMPATIBILITY OPTIONS">; 228fee2ee9SEric Astorclass UnsupportedFlag<string name> : Flag<["/", "-"], name>, 238fee2ee9SEric Astor Group<unsupported_Group>; 248fee2ee9SEric Astorclass UnsupportedJoined<string name> : Joined<["/", "-"], name>, 258fee2ee9SEric Astor Group<unsupported_Group>; 268fee2ee9SEric Astorclass UnsupportedJoinedOrSeparate<string name> : 278fee2ee9SEric Astor JoinedOrSeparate<["/", "-"], name>, Group<unsupported_Group>; 288fee2ee9SEric Astorclass UnsupportedSeparate<string name> : Separate<["/", "-"], name>, 298fee2ee9SEric Astor Group<unsupported_Group>; 308fee2ee9SEric Astor 318fee2ee9SEric Astordef bitness : LLVMJoined<"m">, Values<"32,64">, 328fee2ee9SEric Astor HelpText<"Target platform (x86 or x86-64)">; 338fee2ee9SEric Astordef as_lex : LLVMFlag<"as-lex">, 34ae38e488SAlan Zhao HelpText<"Lex tokens from a file without assembling">; 3582ecf9a0SEric Astordef debug : LLVMFlag<"debug">, Flags<[HelpHidden]>, 3682ecf9a0SEric Astor HelpText<"Enable debug output">; 3782ecf9a0SEric Astordef debug_only : LLVMCommaJoined<"debug-only=">, Flags<[HelpHidden]>, 3882ecf9a0SEric Astor HelpText<"Enable a specific type of debug output (comma " 3982ecf9a0SEric Astor "separated list of types)">; 400499a9d6SEric Astordef fatal_warnings : LLVMFlag<"fatal-warnings">, 410499a9d6SEric Astor HelpText<"Treat warnings as errors">; 428fee2ee9SEric Astordef filetype : LLVMJoined<"filetype=">, Values<"obj,s,null">, 438fee2ee9SEric Astor HelpText<"Emit a file with the given type">; 448fee2ee9SEric Astordef output_att_asm : LLVMFlag<"output-att-asm">, 458fee2ee9SEric Astor HelpText<"Use ATT syntax for output assembly">; 468fee2ee9SEric Astordef show_encoding : LLVMFlag<"show-encoding">, 478fee2ee9SEric Astor HelpText<"Show instruction encodings in output assembly">; 488fee2ee9SEric Astordef show_inst : LLVMFlag<"show-inst">, 498fee2ee9SEric Astor HelpText<"Show internal instruction representation in output " 508fee2ee9SEric Astor "assembly">; 518fee2ee9SEric Astordef show_inst_operands : LLVMFlag<"show-inst-operands">, 528fee2ee9SEric Astor HelpText<"Show instructions operands as parsed">; 538fee2ee9SEric Astordef print_imm_hex : LLVMFlag<"print-imm-hex">, 548fee2ee9SEric Astor HelpText<"Prefer hex format for immediate values in output " 558fee2ee9SEric Astor "assembly">; 568fee2ee9SEric Astordef preserve_comments : LLVMFlag<"preserve-comments">, 578fee2ee9SEric Astor HelpText<"Preserve comments in output assembly">; 588fee2ee9SEric Astordef save_temp_labels : LLVMFlag<"save-temp-labels">, 598fee2ee9SEric Astor HelpText<"Don't discard temporary labels">; 605fba6058SEric Astordef timestamp : LLVMJoined<"timestamp=">, 615fba6058SEric Astor HelpText<"Specify the assembly timestamp (used for @Date and " 625fba6058SEric Astor "@Time built-ins)">; 635fba6058SEric Astordef utc : LLVMFlag<"utc">, 645fba6058SEric Astor HelpText<"Render @Date and @Time built-ins in GMT/UTC">; 655fba6058SEric Astordef gmtime : LLVMFlag<"gmtime">, Alias<utc>; 668fee2ee9SEric Astor 671236dbc2SEric Astordef help : MLFlag<"?">, 681236dbc2SEric Astor HelpText<"Display available options">; 691236dbc2SEric Astordef help_long : MLFlag<"help">, Alias<help>; 701236dbc2SEric Astordef assemble_only : MLFlag<"c">, HelpText<"Assemble only; do not link">; 711236dbc2SEric Astordef define : MLJoinedOrSeparate<"D">, MetaVarName<"<macro>=<value>">, 721236dbc2SEric Astor HelpText<"Define <macro> to <value> (or blank if <value> " 731236dbc2SEric Astor "omitted)">; 74912551dcSAlan Zhaodef no_logo : MLFlag<"nologo">, HelpText<"">; 75*310b0a1cSMatt Bolithodef quiet : MLFlag<"quiet">, HelpText<"">; 761236dbc2SEric Astordef output_file : MLJoinedOrSeparate<"Fo">, HelpText<"Names the output file">; 771236dbc2SEric Astordef include_path : MLJoinedOrSeparate<"I">, 781236dbc2SEric Astor HelpText<"Sets path for include files">; 791236dbc2SEric Astordef safeseh : MLFlag<"safeseh">, 801236dbc2SEric Astor HelpText<"Mark resulting object files as either containing no " 811236dbc2SEric Astor "exception handlers or containing exception handlers " 821236dbc2SEric Astor "that are all declared with .SAFESEH. Only available in " 831236dbc2SEric Astor "32-bit.">; 841236dbc2SEric Astordef assembly_file : MLJoinedOrSeparate<"Ta">, 85ae38e488SAlan Zhao HelpText<"Assemble source file with the given name. Used " 86ae38e488SAlan Zhao "if the filename begins with a forward slash.">; 870499a9d6SEric Astordef error_on_warning : MLFlag<"WX">, Alias<fatal_warnings>; 881236dbc2SEric Astordef parse_only : MLFlag<"Zs">, HelpText<"Run a syntax-check only">, 891236dbc2SEric Astor Alias<filetype>, AliasArgs<["null"]>; 904b5317e9SEric Astordef ignore_include_envvar : MLFlag<"X">, 914b5317e9SEric Astor HelpText<"Ignore the INCLUDE environment variable">; 921236dbc2SEric Astor 938fee2ee9SEric Astordef tiny_model_support : UnsupportedFlag<"AT">, HelpText<"">; 948fee2ee9SEric Astordef alternate_linker : UnsupportedJoined<"Bl">, HelpText<"">; 958fee2ee9SEric Astordef coff_object_file : UnsupportedFlag<"coff">, HelpText<"">; 968fee2ee9SEric Astordef preserve_identifier_case : UnsupportedFlag<"Cp">, HelpText<"">; 978fee2ee9SEric Astordef uppercase_identifiers : UnsupportedFlag<"Cu">, HelpText<"">; 988fee2ee9SEric Astordef preserve_extern_case : UnsupportedFlag<"Cx">, HelpText<"">; 998fee2ee9SEric Astordef output_preprocessed : UnsupportedFlag<"EP">, HelpText<"">; 1008fee2ee9SEric Astordef errorreport : UnsupportedJoined<"ERRORREPORT">, HelpText<"">; 1018fee2ee9SEric Astordef stacksize : UnsupportedSeparate<"F">, HelpText<"">; 1028fee2ee9SEric Astordef executable_file : UnsupportedSeparate<"Fe">, HelpText<"">; 1038fee2ee9SEric Astordef code_listing_file : UnsupportedJoined<"FI">, HelpText<"">; 1048fee2ee9SEric Astordef linker_map_file : UnsupportedJoined<"Fm">, HelpText<"">; 1058fee2ee9SEric Astordef fp_emulator_fixups : UnsupportedFlag<"FPi">, HelpText<"">; 1068fee2ee9SEric Astordef source_browser_file : UnsupportedJoined<"Fr">, HelpText<"">; 1078fee2ee9SEric Astordef extended_source_browser_file : UnsupportedJoined<"FR">, HelpText<"">; 1088fee2ee9SEric Astordef pascal_conventions : UnsupportedFlag<"Gc">, HelpText<"">; 1098fee2ee9SEric Astordef c_conventions : UnsupportedFlag<"Gd">, HelpText<"">; 1108fee2ee9SEric Astordef stdcall_conventions : UnsupportedFlag<"GZ">, HelpText<"">; 1118fee2ee9SEric Astordef extern_name_limit : UnsupportedSeparate<"H">, HelpText<"">; 1128fee2ee9SEric Astordef omf_object_file : UnsupportedFlag<"omf">, HelpText<"">; 1138fee2ee9SEric Astordef full_listing : UnsupportedFlag<"Sa">, HelpText<"">; 1148fee2ee9SEric Astordef first_pass_listing : UnsupportedFlag<"Sf">, HelpText<"">; 1158fee2ee9SEric Astordef listing_width : UnsupportedSeparate<"SI">, HelpText<"">; 1168fee2ee9SEric Astordef listing_without_symbols : UnsupportedFlag<"Sn">, HelpText<"">; 1178fee2ee9SEric Astordef listing_page_length : UnsupportedSeparate<"Sp">, HelpText<"">; 1188fee2ee9SEric Astordef listing_subtitle : UnsupportedSeparate<"Ss">, HelpText<"">; 1198fee2ee9SEric Astordef listing_title : UnsupportedSeparate<"St">, HelpText<"">; 1208fee2ee9SEric Astordef listing_false_conditionals : UnsupportedFlag<"Sx">, HelpText<"">; 1218fee2ee9SEric Astordef extra_warnings : UnsupportedFlag<"w">, HelpText<"">; 1228fee2ee9SEric Astordef warning_level : UnsupportedJoined<"W">, HelpText<"">; 1238fee2ee9SEric Astordef line_number_info : UnsupportedFlag<"Zd">, HelpText<"">; 1248fee2ee9SEric Astordef export_all_symbols : UnsupportedFlag<"Zf">, HelpText<"">; 1258fee2ee9SEric Astordef codeview_info : UnsupportedFlag<"Zi">, HelpText<"">; 1268fee2ee9SEric Astordef enable_m510_option : UnsupportedFlag<"Zm">, HelpText<"">; 1278fee2ee9SEric Astordef structure_packing : UnsupportedJoined<"Zp">, HelpText<"">; 128