128 lines · plain
1include "llvm/Option/OptParser.td"2 3// For LLVM-specific options, we prefer a two-dash prefix, but accept one for4// compatibility with llvm-mc. For clear separation from ML.EXE compatible5// options, slash is not accepted.6class LLVMFlag<string name> : Flag<["--", "-"], name>;7class LLVMJoined<string name> : Joined<["--", "-"], name>;8class LLVMJoinedOrSeparate<string name> : JoinedOrSeparate<["--", "-"], name>;9class LLVMSeparate<string name> : Separate<["--", "-"], name>;10class LLVMCommaJoined<string name> : CommaJoined<["--", "-"], name>;11 12def ml_Group : OptionGroup<"<ml options>">,13 HelpText<"ML.EXE COMPATIBILITY OPTIONS">;14class MLFlag<string name> : Flag<["/", "-"], name>, Group<ml_Group>;15class MLJoined<string name> : Joined<["/", "-"], name>, Group<ml_Group>;16class MLJoinedOrSeparate<string name> : JoinedOrSeparate<["/", "-"], name>,17 Group<ml_Group>;18class MLSeparate<string name> : Separate<["/", "-"], name>, Group<ml_Group>;19 20def unsupported_Group : OptionGroup<"unsupported">, Flags<[HelpHidden]>,21 HelpText<"UNSUPPORTED ML.EXE COMPATIBILITY OPTIONS">;22class UnsupportedFlag<string name> : Flag<["/", "-"], name>,23 Group<unsupported_Group>;24class UnsupportedJoined<string name> : Joined<["/", "-"], name>,25 Group<unsupported_Group>;26class UnsupportedJoinedOrSeparate<string name> :27 JoinedOrSeparate<["/", "-"], name>, Group<unsupported_Group>;28class UnsupportedSeparate<string name> : Separate<["/", "-"], name>,29 Group<unsupported_Group>;30 31def bitness : LLVMJoined<"m">, Values<"32,64">,32 HelpText<"Target platform (x86 or x86-64)">;33def as_lex : LLVMFlag<"as-lex">,34 HelpText<"Lex tokens from a file without assembling">;35def debug : LLVMFlag<"debug">, Flags<[HelpHidden]>,36 HelpText<"Enable debug output">;37def debug_only : LLVMCommaJoined<"debug-only=">, Flags<[HelpHidden]>,38 HelpText<"Enable a specific type of debug output (comma "39 "separated list of types)">;40def fatal_warnings : LLVMFlag<"fatal-warnings">,41 HelpText<"Treat warnings as errors">;42def filetype : LLVMJoined<"filetype=">, Values<"obj,s,null">,43 HelpText<"Emit a file with the given type">;44def output_att_asm : LLVMFlag<"output-att-asm">,45 HelpText<"Use ATT syntax for output assembly">;46def show_encoding : LLVMFlag<"show-encoding">,47 HelpText<"Show instruction encodings in output assembly">;48def show_inst : LLVMFlag<"show-inst">,49 HelpText<"Show internal instruction representation in output "50 "assembly">;51def show_inst_operands : LLVMFlag<"show-inst-operands">,52 HelpText<"Show instructions operands as parsed">;53def print_imm_hex : LLVMFlag<"print-imm-hex">,54 HelpText<"Prefer hex format for immediate values in output "55 "assembly">;56def preserve_comments : LLVMFlag<"preserve-comments">,57 HelpText<"Preserve comments in output assembly">;58def save_temp_labels : LLVMFlag<"save-temp-labels">,59 HelpText<"Don't discard temporary labels">;60def timestamp : LLVMJoined<"timestamp=">,61 HelpText<"Specify the assembly timestamp (used for @Date and "62 "@Time built-ins)">;63def utc : LLVMFlag<"utc">,64 HelpText<"Render @Date and @Time built-ins in GMT/UTC">;65def gmtime : LLVMFlag<"gmtime">, Alias<utc>;66 67def help : MLFlag<"?">,68 HelpText<"Display available options">;69def help_long : MLFlag<"help">, Alias<help>;70def assemble_only : MLFlag<"c">, HelpText<"Assemble only; do not link">;71def define : MLJoinedOrSeparate<"D">, MetaVarName<"<macro>=<value>">,72 HelpText<"Define <macro> to <value> (or blank if <value> "73 "omitted)">;74def no_logo : MLFlag<"nologo">, HelpText<"">;75def quiet : MLFlag<"quiet">, HelpText<"">;76def output_file : MLJoinedOrSeparate<"Fo">, HelpText<"Names the output file">;77def include_path : MLJoinedOrSeparate<"I">,78 HelpText<"Sets path for include files">;79def safeseh : MLFlag<"safeseh">,80 HelpText<"Mark resulting object files as either containing no "81 "exception handlers or containing exception handlers "82 "that are all declared with .SAFESEH. Only available in "83 "32-bit.">;84def assembly_file : MLJoinedOrSeparate<"Ta">,85 HelpText<"Assemble source file with the given name. Used "86 "if the filename begins with a forward slash.">;87def error_on_warning : MLFlag<"WX">, Alias<fatal_warnings>;88def parse_only : MLFlag<"Zs">, HelpText<"Run a syntax-check only">,89 Alias<filetype>, AliasArgs<["null"]>;90def ignore_include_envvar : MLFlag<"X">,91 HelpText<"Ignore the INCLUDE environment variable">;92 93def tiny_model_support : UnsupportedFlag<"AT">, HelpText<"">;94def alternate_linker : UnsupportedJoined<"Bl">, HelpText<"">;95def coff_object_file : UnsupportedFlag<"coff">, HelpText<"">;96def preserve_identifier_case : UnsupportedFlag<"Cp">, HelpText<"">;97def uppercase_identifiers : UnsupportedFlag<"Cu">, HelpText<"">;98def preserve_extern_case : UnsupportedFlag<"Cx">, HelpText<"">;99def output_preprocessed : UnsupportedFlag<"EP">, HelpText<"">;100def errorreport : UnsupportedJoined<"ERRORREPORT">, HelpText<"">;101def stacksize : UnsupportedSeparate<"F">, HelpText<"">;102def executable_file : UnsupportedSeparate<"Fe">, HelpText<"">;103def code_listing_file : UnsupportedJoined<"FI">, HelpText<"">;104def linker_map_file : UnsupportedJoined<"Fm">, HelpText<"">;105def fp_emulator_fixups : UnsupportedFlag<"FPi">, HelpText<"">;106def source_browser_file : UnsupportedJoined<"Fr">, HelpText<"">;107def extended_source_browser_file : UnsupportedJoined<"FR">, HelpText<"">;108def pascal_conventions : UnsupportedFlag<"Gc">, HelpText<"">;109def c_conventions : UnsupportedFlag<"Gd">, HelpText<"">;110def stdcall_conventions : UnsupportedFlag<"GZ">, HelpText<"">;111def extern_name_limit : UnsupportedSeparate<"H">, HelpText<"">;112def omf_object_file : UnsupportedFlag<"omf">, HelpText<"">;113def full_listing : UnsupportedFlag<"Sa">, HelpText<"">;114def first_pass_listing : UnsupportedFlag<"Sf">, HelpText<"">;115def listing_width : UnsupportedSeparate<"SI">, HelpText<"">;116def listing_without_symbols : UnsupportedFlag<"Sn">, HelpText<"">;117def listing_page_length : UnsupportedSeparate<"Sp">, HelpText<"">;118def listing_subtitle : UnsupportedSeparate<"Ss">, HelpText<"">;119def listing_title : UnsupportedSeparate<"St">, HelpText<"">;120def listing_false_conditionals : UnsupportedFlag<"Sx">, HelpText<"">;121def extra_warnings : UnsupportedFlag<"w">, HelpText<"">;122def warning_level : UnsupportedJoined<"W">, HelpText<"">;123def line_number_info : UnsupportedFlag<"Zd">, HelpText<"">;124def export_all_symbols : UnsupportedFlag<"Zf">, HelpText<"">;125def codeview_info : UnsupportedFlag<"Zi">, HelpText<"">;126def enable_m510_option : UnsupportedFlag<"Zm">, HelpText<"">;127def structure_packing : UnsupportedJoined<"Zp">, HelpText<"">;128