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