Hans Wennborg | 6981330 | 2013-07-27 00:23:45 +0000 | [diff] [blame] | 1 | //===--- CLCompatOptions.td - Options for clang-cl ------------------------===// |
| 2 | // |
| 3 | // The LLVM Compiler Infrastructure |
| 4 | // |
| 5 | // This file is distributed under the University of Illinois Open Source |
| 6 | // License. See LICENSE.TXT for details. |
| 7 | // |
| 8 | //===----------------------------------------------------------------------===// |
| 9 | // |
| 10 | // This file defines the options accepted by clang-cl. |
| 11 | // |
| 12 | //===----------------------------------------------------------------------===// |
| 13 | |
| 14 | def cl_Group : OptionGroup<"<clang-cl options>">, |
Hans Wennborg | 78d0fbf | 2013-07-31 20:51:53 +0000 | [diff] [blame] | 15 | HelpText<"CL.EXE COMPATIBILITY OPTIONS">; |
Hans Wennborg | 6981330 | 2013-07-27 00:23:45 +0000 | [diff] [blame] | 16 | |
Hans Wennborg | d8df3f7 | 2013-09-17 00:03:41 +0000 | [diff] [blame] | 17 | def cl_compile_Group : OptionGroup<"<clang-cl compile-only options>">, |
| 18 | Group<cl_Group>; |
| 19 | |
Hans Wennborg | 09c3463 | 2013-08-02 22:24:50 +0000 | [diff] [blame] | 20 | def cl_ignored_Group : OptionGroup<"<clang-cl ignored options>">, |
| 21 | Group<cl_Group>; |
| 22 | |
Hans Wennborg | 6981330 | 2013-07-27 00:23:45 +0000 | [diff] [blame] | 23 | class CLFlag<string name> : Option<["/", "-"], name, KIND_FLAG>, |
Hans Wennborg | 78d0fbf | 2013-07-31 20:51:53 +0000 | [diff] [blame] | 24 | Group<cl_Group>, Flags<[CLOption, DriverOption]>; |
Hans Wennborg | 6981330 | 2013-07-27 00:23:45 +0000 | [diff] [blame] | 25 | |
Hans Wennborg | d8df3f7 | 2013-09-17 00:03:41 +0000 | [diff] [blame] | 26 | class CLCompileFlag<string name> : Option<["/", "-"], name, KIND_FLAG>, |
| 27 | Group<cl_compile_Group>, Flags<[CLOption, DriverOption]>; |
| 28 | |
Hans Wennborg | 09c3463 | 2013-08-02 22:24:50 +0000 | [diff] [blame] | 29 | class CLIgnoredFlag<string name> : Option<["/", "-"], name, KIND_FLAG>, |
Alp Toker | 9b28079 | 2013-11-06 22:36:09 +0000 | [diff] [blame] | 30 | Group<cl_ignored_Group>, Flags<[CLOption, DriverOption, HelpHidden]>; |
Hans Wennborg | 09c3463 | 2013-08-02 22:24:50 +0000 | [diff] [blame] | 31 | |
| 32 | class CLJoined<string name> : Option<["/", "-"], name, KIND_JOINED>, |
| 33 | Group<cl_Group>, Flags<[CLOption, DriverOption]>; |
| 34 | |
Hans Wennborg | d8df3f7 | 2013-09-17 00:03:41 +0000 | [diff] [blame] | 35 | class CLCompileJoined<string name> : Option<["/", "-"], name, KIND_JOINED>, |
| 36 | Group<cl_compile_Group>, Flags<[CLOption, DriverOption]>; |
| 37 | |
Hans Wennborg | 09c3463 | 2013-08-02 22:24:50 +0000 | [diff] [blame] | 38 | class CLIgnoredJoined<string name> : Option<["/", "-"], name, KIND_JOINED>, |
Alp Toker | 00b0f7e | 2013-11-06 23:17:02 +0000 | [diff] [blame] | 39 | Group<cl_ignored_Group>, Flags<[CLOption, DriverOption, HelpHidden]>; |
Hans Wennborg | 09c3463 | 2013-08-02 22:24:50 +0000 | [diff] [blame] | 40 | |
| 41 | class CLJoinedOrSeparate<string name> : Option<["/", "-"], name, |
| 42 | KIND_JOINED_OR_SEPARATE>, Group<cl_Group>, Flags<[CLOption, DriverOption]>; |
| 43 | |
Hans Wennborg | d8df3f7 | 2013-09-17 00:03:41 +0000 | [diff] [blame] | 44 | class CLCompileJoinedOrSeparate<string name> : Option<["/", "-"], name, |
| 45 | KIND_JOINED_OR_SEPARATE>, Group<cl_compile_Group>, |
| 46 | Flags<[CLOption, DriverOption]>; |
| 47 | |
Hans Wennborg | 5db9527 | 2013-08-13 23:38:57 +0000 | [diff] [blame] | 48 | class CLRemainingArgs<string name> : Option<["/", "-"], name, |
| 49 | KIND_REMAINING_ARGS>, Group<cl_Group>, Flags<[CLOption, DriverOption]>; |
| 50 | |
Hans Wennborg | 09c3463 | 2013-08-02 22:24:50 +0000 | [diff] [blame] | 51 | // Aliases: |
Hans Wennborg | d8df3f7 | 2013-09-17 00:03:41 +0000 | [diff] [blame] | 52 | // (We don't put any of these in cl_compile_Group as the options they alias are |
| 53 | // already in the right group.) |
Hans Wennborg | 09c3463 | 2013-08-02 22:24:50 +0000 | [diff] [blame] | 54 | |
Hans Wennborg | d378144 | 2013-11-15 18:29:58 +0000 | [diff] [blame] | 55 | def _SLASH_C : CLFlag<"C">, HelpText<"Don't discard comments when preprocessing">, |
| 56 | Alias<C>; |
Hans Wennborg | 78d0fbf | 2013-07-31 20:51:53 +0000 | [diff] [blame] | 57 | def _SLASH_c : CLFlag<"c">, HelpText<"Compile only">, Alias<c>; |
Hans Wennborg | 09c3463 | 2013-08-02 22:24:50 +0000 | [diff] [blame] | 58 | def _SLASH_D : CLJoinedOrSeparate<"D">, HelpText<"Define macro">, |
| 59 | MetaVarName<"<macro[=value]>">, Alias<D>; |
Stephen Hines | 651f13c | 2014-04-23 16:59:28 -0700 | [diff] [blame] | 60 | def _SLASH_E : CLFlag<"E">, HelpText<"Preprocess to stdout">, Alias<E>; |
Pirama Arumuga Nainar | 33337ca | 2015-05-06 11:48:57 -0700 | [diff] [blame] | 61 | def _SLASH_fp_except : CLFlag<"fp:except">, HelpText<"">, Alias<ftrapping_math>; |
| 62 | def _SLASH_fp_except_ : CLFlag<"fp:except-">, HelpText<"">, Alias<fno_trapping_math>; |
| 63 | def _SLASH_fp_fast : CLFlag<"fp:fast">, HelpText<"">, Alias<ffast_math>; |
| 64 | def _SLASH_fp_precise : CLFlag<"fp:precise">, HelpText<"">, Alias<fno_fast_math>; |
| 65 | def _SLASH_fp_strict : CLFlag<"fp:strict">, HelpText<"">, Alias<fno_fast_math>; |
Stephen Hines | c568f1e | 2014-07-21 00:47:37 -0700 | [diff] [blame] | 66 | def _SLASH_GR : CLFlag<"GR">, HelpText<"Enable emission of RTTI data">; |
| 67 | def _SLASH_GR_ : CLFlag<"GR-">, HelpText<"Disable emission of RTTI data">; |
Reid Kleckner | 5c7a04a | 2013-10-07 23:19:01 +0000 | [diff] [blame] | 68 | def _SLASH_GF_ : CLFlag<"GF-">, HelpText<"Disable string pooling">, |
| 69 | Alias<fwritable_strings>; |
Stephen Hines | 0e2c34f | 2015-03-23 12:09:02 -0700 | [diff] [blame] | 70 | def _SLASH_Gs : CLJoined<"Gs">, HelpText<"Set stack probe size">, |
| 71 | Alias<mstack_probe_size>; |
Stephen Hines | 651f13c | 2014-04-23 16:59:28 -0700 | [diff] [blame] | 72 | def _SLASH_Gy : CLFlag<"Gy">, HelpText<"Put each function in its own section">, |
| 73 | Alias<ffunction_sections>; |
| 74 | def _SLASH_Gy_ : CLFlag<"Gy-">, HelpText<"Don't put each function in its own section">, |
| 75 | Alias<fno_function_sections>; |
Stephen Hines | 6bcf27b | 2014-05-29 04:14:42 -0700 | [diff] [blame] | 76 | def _SLASH_Gw : CLFlag<"Gw">, HelpText<"Put each data item in its own section">, |
| 77 | Alias<fdata_sections>; |
| 78 | def _SLASH_Gw_ : CLFlag<"Gw-">, HelpText<"Don't put each data item in its own section">, |
| 79 | Alias<fno_data_sections>; |
Hans Wennborg | 78d0fbf | 2013-07-31 20:51:53 +0000 | [diff] [blame] | 80 | def _SLASH_help : CLFlag<"help">, Alias<help>, |
| 81 | HelpText<"Display available options">; |
Hans Wennborg | d378144 | 2013-11-15 18:29:58 +0000 | [diff] [blame] | 82 | def _SLASH_HELP : CLFlag<"HELP">, Alias<help>; |
Hans Wennborg | 09c3463 | 2013-08-02 22:24:50 +0000 | [diff] [blame] | 83 | def _SLASH_I : CLJoinedOrSeparate<"I">, |
| 84 | HelpText<"Add directory to include search path">, MetaVarName<"<dir>">, |
| 85 | Alias<I>; |
| 86 | def _SLASH_J : CLFlag<"J">, HelpText<"Make char type unsigned">, |
| 87 | Alias<funsigned_char>; |
Stephen Hines | 0e2c34f | 2015-03-23 12:09:02 -0700 | [diff] [blame] | 88 | def _SLASH_O0 : CLFlag<"O0">, Alias<O0>; |
Hans Wennborg | 09c3463 | 2013-08-02 22:24:50 +0000 | [diff] [blame] | 89 | def _SLASH_O : CLJoined<"O">, HelpText<"Optimization level">, |
| 90 | MetaVarName<"<n>">, Alias<O>; |
| 91 | def _SLASH_Ob0 : CLFlag<"Ob0">, HelpText<"Disable inlining">, |
| 92 | Alias<fno_inline>; |
| 93 | def _SLASH_Od : CLFlag<"Od">, HelpText<"Disable optimization">, Alias<O0>; |
Hans Wennborg | c8e8e8f | 2013-08-08 23:44:01 +0000 | [diff] [blame] | 94 | def _SLASH_Oi : CLFlag<"Oi">, HelpText<"Enable use of builtin functions">, |
| 95 | Alias<fbuiltin>; |
| 96 | def _SLASH_Oi_ : CLFlag<"Oi-">, HelpText<"Disable use of builtin functions">, |
| 97 | Alias<fno_builtin>; |
Hans Wennborg | 09c3463 | 2013-08-02 22:24:50 +0000 | [diff] [blame] | 98 | def _SLASH_Os : CLFlag<"Os">, HelpText<"Optimize for size">, Alias<O>, |
| 99 | AliasArgs<["s"]>; |
| 100 | def _SLASH_Ot : CLFlag<"Ot">, HelpText<"Optimize for speed">, Alias<O>, |
| 101 | AliasArgs<["2"]>; |
| 102 | def _SLASH_Ox : CLFlag<"Ox">, HelpText<"Maximum optimization">, Alias<O>, |
| 103 | AliasArgs<["3"]>; |
| 104 | def _SLASH_Oy : CLFlag<"Oy">, HelpText<"Enable frame pointer omission">, |
| 105 | Alias<fomit_frame_pointer>; |
| 106 | def _SLASH_Oy_ : CLFlag<"Oy-">, HelpText<"Disable frame pointer omission">, |
| 107 | Alias<fno_omit_frame_pointer>; |
Hans Wennborg | 09c3463 | 2013-08-02 22:24:50 +0000 | [diff] [blame] | 108 | def _SLASH_QUESTION : CLFlag<"?">, Alias<help>, |
| 109 | HelpText<"Display available options">; |
Hans Wennborg | 708002e | 2013-08-09 00:32:23 +0000 | [diff] [blame] | 110 | def _SLASH_showIncludes : CLFlag<"showIncludes">, |
| 111 | HelpText<"Print info about included files to stderr">, |
| 112 | Alias<show_includes>; |
Hans Wennborg | 09c3463 | 2013-08-02 22:24:50 +0000 | [diff] [blame] | 113 | def _SLASH_U : CLJoinedOrSeparate<"U">, HelpText<"Undefine macro">, |
| 114 | MetaVarName<"<macro>">, Alias<U>; |
Stephen Hines | 651f13c | 2014-04-23 16:59:28 -0700 | [diff] [blame] | 115 | def _SLASH_vmb : CLFlag<"vmb">, |
| 116 | HelpText<"Use a best-case representation method for member pointers">; |
| 117 | def _SLASH_vmg : CLFlag<"vmg">, |
| 118 | HelpText<"Use a most-general representation for member pointers">; |
| 119 | def _SLASH_vms : CLFlag<"vms">, |
| 120 | HelpText<"Set the default most-general representation to single inheritance">; |
| 121 | def _SLASH_vmm : CLFlag<"vmm">, |
| 122 | HelpText<"Set the default most-general representation to multiple inheritance">; |
| 123 | def _SLASH_vmv : CLFlag<"vmv">, |
| 124 | HelpText<"Set the default most-general representation to virtual inheritance">; |
Hans Wennborg | 78d0fbf | 2013-07-31 20:51:53 +0000 | [diff] [blame] | 125 | def _SLASH_W0 : CLFlag<"W0">, HelpText<"Disable all warnings">, Alias<w>; |
| 126 | def _SLASH_W1 : CLFlag<"W1">, HelpText<"Enable -Wall">, Alias<Wall>; |
Hans Wennborg | 09c3463 | 2013-08-02 22:24:50 +0000 | [diff] [blame] | 127 | def _SLASH_W2 : CLFlag<"W2">, HelpText<"Enable -Wall">, Alias<Wall>; |
| 128 | def _SLASH_W3 : CLFlag<"W3">, HelpText<"Enable -Wall">, Alias<Wall>; |
| 129 | def _SLASH_W4 : CLFlag<"W4">, HelpText<"Enable -Wall">, Alias<Wall>; |
| 130 | def _SLASH_Wall : CLFlag<"Wall">, HelpText<"Enable -Wall">, Alias<Wall>; |
| 131 | def _SLASH_WX : CLFlag<"WX">, HelpText<"Treat warnings as errors">, |
| 132 | Alias<W_Joined>, AliasArgs<["error"]>; |
| 133 | def _SLASH_WX_ : CLFlag<"WX-">, HelpText<"Do not treat warnings as errors">, |
| 134 | Alias<W_Joined>, AliasArgs<["no-error"]>; |
| 135 | def _SLASH_w_flag : CLFlag<"w">, HelpText<"Disable all warnings">, Alias<w>; |
Stephen Hines | 6bcf27b | 2014-05-29 04:14:42 -0700 | [diff] [blame] | 136 | def _SLASH_wd4005 : CLFlag<"wd4005">, Alias<W_Joined>, |
| 137 | AliasArgs<["no-macro-redefined"]>; |
Stephen Hines | 0e2c34f | 2015-03-23 12:09:02 -0700 | [diff] [blame] | 138 | def _SLASH_wd4996 : CLFlag<"wd4996">, Alias<W_Joined>, |
| 139 | AliasArgs<["no-deprecated-declarations"]>; |
Stephen Hines | 651f13c | 2014-04-23 16:59:28 -0700 | [diff] [blame] | 140 | def _SLASH_vd : CLJoined<"vd">, HelpText<"Control vtordisp placement">, |
| 141 | Alias<vtordisp_mode_EQ>; |
Stephen Hines | 0e2c34f | 2015-03-23 12:09:02 -0700 | [diff] [blame] | 142 | def _SLASH_Zc_strictStrings : CLFlag<"Zc:strictStrings">, |
| 143 | HelpText<"Treat string literals as const">, Alias<W_Joined>, |
| 144 | AliasArgs<["error=c++11-compat-deprecated-writable-strings"]>; |
Pirama Arumuga Nainar | 3ea9e33 | 2015-04-08 08:57:32 -0700 | [diff] [blame] | 145 | def _SLASH_Zc_threadSafeInit : CLFlag<"Zc:threadSafeInit">, |
| 146 | HelpText<"Enable thread-safe initialization of static variables">, |
| 147 | Alias<fthreadsafe_statics>; |
| 148 | def _SLASH_Zc_threadSafeInit_ : CLFlag<"Zc:threadSafeInit-">, |
| 149 | HelpText<"Disable thread-safe initialization of static variables">, |
| 150 | Alias<fno_threadsafe_statics>; |
Stephen Hines | 0e2c34f | 2015-03-23 12:09:02 -0700 | [diff] [blame] | 151 | def _SLASH_Zc_trigraphs : CLFlag<"Zc:trigraphs">, |
| 152 | HelpText<"Enable trigraphs">, Alias<ftrigraphs>; |
| 153 | def _SLASH_Zc_trigraphs_off : CLFlag<"Zc:trigraphs-">, |
| 154 | HelpText<"Disable trigraphs (default)">, Alias<fno_trigraphs>; |
Stephen Hines | 651f13c | 2014-04-23 16:59:28 -0700 | [diff] [blame] | 155 | def _SLASH_Z7 : CLFlag<"Z7">, Alias<gline_tables_only>; |
| 156 | def _SLASH_Zi : CLFlag<"Zi">, HelpText<"Enable debug information">, |
| 157 | Alias<gline_tables_only>; |
Stephen Hines | 176edba | 2014-12-01 14:53:08 -0800 | [diff] [blame] | 158 | def _SLASH_Zp : CLJoined<"Zp">, |
| 159 | HelpText<"Specify the default maximum struct packing alignment">, |
| 160 | Alias<fpack_struct_EQ>; |
| 161 | def _SLASH_Zp_flag : CLFlag<"Zp">, |
| 162 | HelpText<"Set the default maximum struct packing alignment to 1">, |
| 163 | Alias<fpack_struct_EQ>, AliasArgs<["1"]>; |
Hans Wennborg | 09c3463 | 2013-08-02 22:24:50 +0000 | [diff] [blame] | 164 | def _SLASH_Zs : CLFlag<"Zs">, HelpText<"Syntax-check only">, |
| 165 | Alias<fsyntax_only>; |
| 166 | |
| 167 | |
Hans Wennborg | 4c58753 | 2013-08-06 00:20:31 +0000 | [diff] [blame] | 168 | // Non-aliases: |
| 169 | |
Stephen Hines | 176edba | 2014-12-01 14:53:08 -0800 | [diff] [blame] | 170 | def _SLASH_arch : CLCompileJoined<"arch:">, |
| 171 | HelpText<"Set architecture for code generation">; |
| 172 | |
Hans Wennborg | d8df3f7 | 2013-09-17 00:03:41 +0000 | [diff] [blame] | 173 | def _SLASH_M_Group : OptionGroup<"</M group>">, Group<cl_compile_Group>; |
Stephen Hines | 0e2c34f | 2015-03-23 12:09:02 -0700 | [diff] [blame] | 174 | def _SLASH_volatile_Group : OptionGroup<"</volatile group>">, Group<cl_compile_Group>; |
Hans Wennborg | 42ade49 | 2013-09-11 16:38:41 +0000 | [diff] [blame] | 175 | |
Stephen Hines | c568f1e | 2014-07-21 00:47:37 -0700 | [diff] [blame] | 176 | def _SLASH_EH : CLJoined<"EH">, HelpText<"Exception handling model">; |
| 177 | def _SLASH_EP : CLFlag<"EP">, |
| 178 | HelpText<"Disable linemarker output and preprocess to stdout">; |
Hans Wennborg | 82a2911 | 2013-10-17 16:16:23 +0000 | [diff] [blame] | 179 | def _SLASH_FA : CLFlag<"FA">, |
| 180 | HelpText<"Output assembly code file during compilation">; |
| 181 | def _SLASH_Fa : CLJoined<"Fa">, |
| 182 | HelpText<"Output assembly code to this file during compilation">, |
| 183 | MetaVarName<"<file or directory>">; |
Hans Wennborg | c8ba0a0 | 2013-09-19 20:32:16 +0000 | [diff] [blame] | 184 | def _SLASH_fallback : CLCompileFlag<"fallback">, |
| 185 | HelpText<"Fall back to cl.exe if clang-cl fails to compile">; |
Rafael Espindola | 799bcc7 | 2013-10-29 19:42:01 +0000 | [diff] [blame] | 186 | def _SLASH_FI : CLJoinedOrSeparate<"FI">, |
Reid Kleckner | 0e4bdb0 | 2013-09-26 17:41:14 +0000 | [diff] [blame] | 187 | HelpText<"Include file before parsing">, Alias<include_>; |
Hans Wennborg | c65c72d | 2013-08-12 21:56:42 +0000 | [diff] [blame] | 188 | def _SLASH_Fe : CLJoined<"Fe">, |
| 189 | HelpText<"Set output executable file or directory (ends in / or \\)">, |
| 190 | MetaVarName<"<file or directory>">; |
Stephen Hines | c568f1e | 2014-07-21 00:47:37 -0700 | [diff] [blame] | 191 | def _SLASH_Fi : CLCompileJoined<"Fi">, |
| 192 | HelpText<"Set preprocess output file name">, |
| 193 | MetaVarName<"<file>">; |
Hans Wennborg | d8df3f7 | 2013-09-17 00:03:41 +0000 | [diff] [blame] | 194 | def _SLASH_Fo : CLCompileJoined<"Fo">, |
Hans Wennborg | ab50ccd | 2013-08-06 22:11:28 +0000 | [diff] [blame] | 195 | HelpText<"Set output object file, or directory (ends in / or \\)">, |
| 196 | MetaVarName<"<file or directory>">; |
Hans Wennborg | 6d0a8d5 | 2013-09-10 20:18:04 +0000 | [diff] [blame] | 197 | def _SLASH_LD : CLFlag<"LD">, HelpText<"Create DLL">; |
| 198 | def _SLASH_LDd : CLFlag<"LDd">, HelpText<"Create debug DLL">; |
Hans Wennborg | 5db9527 | 2013-08-13 23:38:57 +0000 | [diff] [blame] | 199 | def _SLASH_link : CLRemainingArgs<"link">, |
| 200 | HelpText<"Forward options to the linker">, MetaVarName<"<options>">; |
Hans Wennborg | 42ade49 | 2013-09-11 16:38:41 +0000 | [diff] [blame] | 201 | def _SLASH_MD : Option<["/", "-"], "MD", KIND_FLAG>, Group<_SLASH_M_Group>, |
| 202 | Flags<[CLOption, DriverOption]>, HelpText<"Use DLL run-time">; |
| 203 | def _SLASH_MDd : Option<["/", "-"], "MDd", KIND_FLAG>, Group<_SLASH_M_Group>, |
| 204 | Flags<[CLOption, DriverOption]>, HelpText<"Use DLL debug run-time">; |
| 205 | def _SLASH_MT : Option<["/", "-"], "MT", KIND_FLAG>, Group<_SLASH_M_Group>, |
| 206 | Flags<[CLOption, DriverOption]>, HelpText<"Use static run-time">; |
| 207 | def _SLASH_MTd : Option<["/", "-"], "MTd", KIND_FLAG>, Group<_SLASH_M_Group>, |
| 208 | Flags<[CLOption, DriverOption]>, HelpText<"Use static debug run-time">; |
Stephen Hines | 176edba | 2014-12-01 14:53:08 -0800 | [diff] [blame] | 209 | def _SLASH_o : CLJoinedOrSeparate<"o">, |
| 210 | HelpText<"Set output file or directory (ends in / or \\)">, |
| 211 | MetaVarName<"<file or directory>">; |
Stephen Hines | 651f13c | 2014-04-23 16:59:28 -0700 | [diff] [blame] | 212 | def _SLASH_P : CLFlag<"P">, HelpText<"Preprocess to file">; |
Hans Wennborg | d8df3f7 | 2013-09-17 00:03:41 +0000 | [diff] [blame] | 213 | def _SLASH_Tc : CLCompileJoinedOrSeparate<"Tc">, |
| 214 | HelpText<"Specify a C source file">, MetaVarName<"<filename>">; |
| 215 | def _SLASH_TC : CLCompileFlag<"TC">, HelpText<"Treat all source files as C">; |
| 216 | def _SLASH_Tp : CLCompileJoinedOrSeparate<"Tp">, |
| 217 | HelpText<"Specify a C++ source file">, MetaVarName<"<filename>">; |
| 218 | def _SLASH_TP : CLCompileFlag<"TP">, HelpText<"Treat all source files as C++">; |
Stephen Hines | 0e2c34f | 2015-03-23 12:09:02 -0700 | [diff] [blame] | 219 | def _SLASH_volatile_iso : Option<["/", "-"], "volatile:iso", KIND_FLAG>, Group<_SLASH_volatile_Group>, |
| 220 | Flags<[CLOption, DriverOption]>, HelpText<"Volatile loads and stores have standard semantics">; |
| 221 | def _SLASH_volatile_ms : Option<["/", "-"], "volatile:ms", KIND_FLAG>, Group<_SLASH_volatile_Group>, |
| 222 | Flags<[CLOption, DriverOption]>, HelpText<"Volatile loads and stores have acquire and release semantics">; |
Hans Wennborg | 4c58753 | 2013-08-06 00:20:31 +0000 | [diff] [blame] | 223 | |
Hans Wennborg | 09c3463 | 2013-08-02 22:24:50 +0000 | [diff] [blame] | 224 | // Ignored: |
| 225 | |
| 226 | def _SLASH_analyze_ : CLIgnoredFlag<"analyze-">; |
Stephen Hines | 0e2c34f | 2015-03-23 12:09:02 -0700 | [diff] [blame] | 227 | def _SLASH_cgthreads : CLIgnoredJoined<"cgthreads">; |
Stephen Hines | 176edba | 2014-12-01 14:53:08 -0800 | [diff] [blame] | 228 | def _SLASH_d2Zi_PLUS : CLIgnoredFlag<"d2Zi+">; |
Hans Wennborg | 09c3463 | 2013-08-02 22:24:50 +0000 | [diff] [blame] | 229 | def _SLASH_errorReport : CLIgnoredJoined<"errorReport">; |
Stephen Hines | 0e2c34f | 2015-03-23 12:09:02 -0700 | [diff] [blame] | 230 | def _SLASH_Fd : CLIgnoredJoined<"Fd">; |
Alp Toker | 6e99044 | 2013-11-06 21:01:23 +0000 | [diff] [blame] | 231 | def _SLASH_FS : CLIgnoredFlag<"FS">, HelpText<"Force synchronous PDB writes">; |
Stephen Hines | 0e2c34f | 2015-03-23 12:09:02 -0700 | [diff] [blame] | 232 | def _SLASH_Gd : CLIgnoredFlag<"Gd">; |
Reid Kleckner | 5c7a04a | 2013-10-07 23:19:01 +0000 | [diff] [blame] | 233 | def _SLASH_GF : CLIgnoredFlag<"GF">; |
Hans Wennborg | 007ef4f | 2013-09-17 23:27:39 +0000 | [diff] [blame] | 234 | def _SLASH_GS_ : CLIgnoredFlag<"GS-">; |
Hans Wennborg | d378144 | 2013-11-15 18:29:58 +0000 | [diff] [blame] | 235 | def _SLASH_kernel_ : CLIgnoredFlag<"kernel-">; |
Hans Wennborg | 09c3463 | 2013-08-02 22:24:50 +0000 | [diff] [blame] | 236 | def _SLASH_nologo : CLIgnoredFlag<"nologo">; |
| 237 | def _SLASH_Ob1 : CLIgnoredFlag<"Ob1">; |
| 238 | def _SLASH_Ob2 : CLIgnoredFlag<"Ob2">; |
Pirama Arumuga Nainar | 3ea9e33 | 2015-04-08 08:57:32 -0700 | [diff] [blame] | 239 | def _SLASH_openmp_ : CLIgnoredFlag<"openmp-">; |
Hans Wennborg | c64bbe8 | 2013-09-06 20:26:25 +0000 | [diff] [blame] | 240 | def _SLASH_RTC : CLIgnoredJoined<"RTC">; |
Hans Wennborg | 7949acf | 2013-10-08 16:56:54 +0000 | [diff] [blame] | 241 | def _SLASH_sdl : CLIgnoredFlag<"sdl">; |
| 242 | def _SLASH_sdl_ : CLIgnoredFlag<"sdl-">; |
Reid Kleckner | 5c7a04a | 2013-10-07 23:19:01 +0000 | [diff] [blame] | 243 | def _SLASH_w : CLIgnoredJoined<"w">; |
Stephen Hines | 0e2c34f | 2015-03-23 12:09:02 -0700 | [diff] [blame] | 244 | def _SLASH_Zc_auto : CLIgnoredFlag<"Zc:auto">; |
Hans Wennborg | 09c3463 | 2013-08-02 22:24:50 +0000 | [diff] [blame] | 245 | def _SLASH_Zc_forScope : CLIgnoredFlag<"Zc:forScope">; |
Stephen Hines | c568f1e | 2014-07-21 00:47:37 -0700 | [diff] [blame] | 246 | def _SLASH_Zc_inline : CLIgnoredFlag<"Zc:inline">; |
| 247 | def _SLASH_Zc_rvalueCast : CLIgnoredFlag<"Zc:rvalueCast">; |
Hans Wennborg | 09c3463 | 2013-08-02 22:24:50 +0000 | [diff] [blame] | 248 | def _SLASH_Zc_wchar_t : CLIgnoredFlag<"Zc:wchar_t">; |
Reid Kleckner | 5c7a04a | 2013-10-07 23:19:01 +0000 | [diff] [blame] | 249 | def _SLASH_Zm : CLIgnoredJoined<"Zm">; |
Stephen Hines | 176edba | 2014-12-01 14:53:08 -0800 | [diff] [blame] | 250 | def _SLASH_Zo : CLIgnoredFlag<"Zo">; |
| 251 | def _SLASH_Zo_ : CLIgnoredFlag<"Zo-">; |
Hans Wennborg | 09c3463 | 2013-08-02 22:24:50 +0000 | [diff] [blame] | 252 | |
| 253 | |
| 254 | // Unsupported: |
| 255 | |
Hans Wennborg | d378144 | 2013-11-15 18:29:58 +0000 | [diff] [blame] | 256 | def _SLASH_AI : CLJoined<"AI">; |
Reid Kleckner | 5c7a04a | 2013-10-07 23:19:01 +0000 | [diff] [blame] | 257 | def _SLASH_bigobj : CLFlag<"bigobj">; |
Hans Wennborg | d378144 | 2013-11-15 18:29:58 +0000 | [diff] [blame] | 258 | def _SLASH_clr : CLJoined<"clr">; |
| 259 | def _SLASH_doc : CLJoined<"doc">; |
Hans Wennborg | 82a2911 | 2013-10-17 16:16:23 +0000 | [diff] [blame] | 260 | def _SLASH_FA_joined : CLJoined<"FA">; |
Hans Wennborg | d378144 | 2013-11-15 18:29:58 +0000 | [diff] [blame] | 261 | def _SLASH_favor : CLJoined<"favor">; |
| 262 | def _SLASH_FC : CLFlag<"FC">; |
| 263 | def _SLASH_F : CLFlag<"F">; |
Hans Wennborg | d378144 | 2013-11-15 18:29:58 +0000 | [diff] [blame] | 264 | def _SLASH_Fm : CLJoined<"Fm">; |
Hans Wennborg | d378144 | 2013-11-15 18:29:58 +0000 | [diff] [blame] | 265 | def _SLASH_Fp : CLJoined<"Fp">; |
| 266 | def _SLASH_Fr : CLJoined<"Fr">; |
| 267 | def _SLASH_FR : CLJoined<"FR">; |
| 268 | def _SLASH_FU : CLJoinedOrSeparate<"FU">; |
| 269 | def _SLASH_Fx : CLFlag<"Fx">; |
| 270 | def _SLASH_G1 : CLFlag<"G1">; |
| 271 | def _SLASH_G2 : CLFlag<"G2">; |
| 272 | def _SLASH_GA : CLFlag<"GA">; |
Hans Wennborg | d378144 | 2013-11-15 18:29:58 +0000 | [diff] [blame] | 273 | def _SLASH_Ge : CLFlag<"Ge">; |
| 274 | def _SLASH_Gh : CLFlag<"Gh">; |
| 275 | def _SLASH_GH : CLFlag<"GH">; |
Hans Wennborg | 09c3463 | 2013-08-02 22:24:50 +0000 | [diff] [blame] | 276 | def _SLASH_GL : CLFlag<"GL">; |
| 277 | def _SLASH_GL_ : CLFlag<"GL-">; |
| 278 | def _SLASH_Gm : CLFlag<"Gm">; |
| 279 | def _SLASH_Gm_ : CLFlag<"Gm-">; |
Hans Wennborg | d378144 | 2013-11-15 18:29:58 +0000 | [diff] [blame] | 280 | def _SLASH_Gr : CLFlag<"Gr">; |
Hans Wennborg | 09c3463 | 2013-08-02 22:24:50 +0000 | [diff] [blame] | 281 | def _SLASH_GS : CLFlag<"GS">; |
Hans Wennborg | a2f1ed0 | 2013-11-12 19:21:50 +0000 | [diff] [blame] | 282 | def _SLASH_GT : CLFlag<"GT">; |
Hans Wennborg | d378144 | 2013-11-15 18:29:58 +0000 | [diff] [blame] | 283 | def _SLASH_GX : CLFlag<"GX">; |
Stephen Hines | 0e2c34f | 2015-03-23 12:09:02 -0700 | [diff] [blame] | 284 | def _SLASH_Gv : CLFlag<"Gv">; |
Hans Wennborg | d378144 | 2013-11-15 18:29:58 +0000 | [diff] [blame] | 285 | def _SLASH_Gz : CLFlag<"Gz">; |
Hans Wennborg | 09c3463 | 2013-08-02 22:24:50 +0000 | [diff] [blame] | 286 | def _SLASH_GZ : CLFlag<"GZ">; |
Hans Wennborg | d378144 | 2013-11-15 18:29:58 +0000 | [diff] [blame] | 287 | def _SLASH_H : CLFlag<"H">; |
| 288 | def _SLASH_homeparams : CLFlag<"homeparams">; |
| 289 | def _SLASH_hotpatch : CLFlag<"hotpatch">; |
| 290 | def _SLASH_kernel : CLFlag<"kernel">; |
| 291 | def _SLASH_LN : CLFlag<"LN">; |
Reid Kleckner | 12627e5 | 2013-08-19 23:52:36 +0000 | [diff] [blame] | 292 | def _SLASH_MP : CLJoined<"MP">; |
Hans Wennborg | d378144 | 2013-11-15 18:29:58 +0000 | [diff] [blame] | 293 | def _SLASH_openmp : CLFlag<"openmp">; |
| 294 | def _SLASH_Qfast_transcendentals : CLFlag<"Qfast_transcendentals">; |
| 295 | def _SLASH_QIfist : CLFlag<"QIfist">; |
| 296 | def _SLASH_Qimprecise_fwaits : CLFlag<"Qimprecise_fwaits">; |
| 297 | def _SLASH_Qpar : CLFlag<"Qpar">; |
| 298 | def _SLASH_Qvec_report : CLJoined<"Qvec-report">; |
| 299 | def _SLASH_u : CLFlag<"u">; |
| 300 | def _SLASH_V : CLFlag<"V">; |
Hans Wennborg | d378144 | 2013-11-15 18:29:58 +0000 | [diff] [blame] | 301 | def _SLASH_WL : CLFlag<"WL">; |
| 302 | def _SLASH_Wp64 : CLFlag<"Wp64">; |
| 303 | def _SLASH_X : CLFlag<"X">; |
Hans Wennborg | 86e2a6f | 2013-11-12 22:35:26 +0000 | [diff] [blame] | 304 | def _SLASH_Yc : CLJoined<"Yc">; |
Hans Wennborg | d378144 | 2013-11-15 18:29:58 +0000 | [diff] [blame] | 305 | def _SLASH_Y_ : CLFlag<"Y-">; |
| 306 | def _SLASH_Yd : CLFlag<"Yd">; |
| 307 | def _SLASH_Yl : CLJoined<"Yl">; |
Hans Wennborg | 6334fd6 | 2013-10-30 17:36:27 +0000 | [diff] [blame] | 308 | def _SLASH_Yu : CLJoined<"Yu">; |
Reid Kleckner | a32c523 | 2013-08-08 19:33:10 +0000 | [diff] [blame] | 309 | def _SLASH_Za : CLFlag<"Za">; |
Hans Wennborg | 09c3463 | 2013-08-02 22:24:50 +0000 | [diff] [blame] | 310 | def _SLASH_Zc : CLJoined<"Zc:">; |
Hans Wennborg | d378144 | 2013-11-15 18:29:58 +0000 | [diff] [blame] | 311 | def _SLASH_Ze : CLFlag<"Ze">; |
| 312 | def _SLASH_Zg : CLFlag<"Zg">; |
Hans Wennborg | d378144 | 2013-11-15 18:29:58 +0000 | [diff] [blame] | 313 | def _SLASH_ZI : CLFlag<"ZI">; |
| 314 | def _SLASH_Zl : CLFlag<"Zl">; |
Hans Wennborg | d378144 | 2013-11-15 18:29:58 +0000 | [diff] [blame] | 315 | def _SLASH_ZW : CLJoined<"ZW">; |