Improve costs for DImode shifts of interger constants.
[official-gcc.git] / gcc / d / lang.opt
blobb88fe6f301f05ff847638a87d0b27126250cd06b
1 ; lang.opt -- Options for the D front end.
2 ; Copyright (C) 2006-2020 Free Software Foundation, Inc.
4 ; GCC is free software; you can redistribute it and/or modify it under
5 ; the terms of the GNU General Public License as published by the Free
6 ; Software Foundation; either version 3, or (at your option) any later
7 ; version.
9 ; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
10 ; WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 ; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12 ; for more details.
14 ; You should have received a copy of the GNU General Public License
15 ; along with GCC; see the file COPYING3.  If not see
16 ; <http://www.gnu.org/licenses/>.
18 ; See the GCC internals manual for a description of this file's format.
20 ; Please try to keep this file in ASCII collating order.
22 Language
25 -dependencies
26 D Alias(M)
27 ; Documented in C
29 -print-missing-file-dependencies
30 D Alias(MG)
31 ; Documented in C
33 -user-dependencies
34 D Alias(MM)
35 ; Documented in C
37 -write-dependencies
38 D NoDriverArg Separate Alias(MD)
39 ; Documented in C
41 -write-user-dependencies
42 D NoDriverArg Separate Alias(MMD)
43 ; Documented in C
47 ; Different from documented use in C.
50 D Joined Separate
51 -Hd <dir>       Write D interface files to directory <dir>.
54 D Joined Separate
55 -Hf <file>      Write D interface to <file>.
58 D Joined Separate
59 ; Documented in C
62 D Joined Separate
63 ; Different from documented use in Fortran.
67 ; Documented in C
70 D Separate NoDriverArg
71 ; Documented in C
74 D Joined Separate
75 ; Documented in C
79 ; Documented in C
83 ; Documented in C
85 MMD
86 D Separate NoDriverArg
87 ; Documented in C
91 ; Documented in C
94 D Joined Separate
95 ; Documented in C
98 D Joined Separate
99 ; Documented in C
101 Waddress
102 D Warning Var(warn_address) LangEnabledBy(D, Wextra)
103 ; Documented in C
105 Wall
107 ; Documented in C
109 Walloca
111 ; Documented in C
113 Walloca-larger-than=
115 ; Documented in C
117 Wno-alloca-larger-than
119 ; Documented in C
121 Wcast-result
122 D Warning Var(warn_cast_result) LangEnabledBy(D, Wextra)
123 Warn about casts that will produce a null result.
125 Wdeprecated
127 ; Documented in common.opt
129 Werror
131 ; Documented in common.opt
133 Wpsabi
135 ; Documented in C
137 Wspeculative
139 Warn from speculative compiles such as __traits(compiles).
141 Wtemplates
143 ; Documented in C
145 Wunknown-pragmas
146 D Var(warn_unknown_pragmas) LangEnabledBy(D, Wextra)
147 ; Documented in C
149 Wvarargs
151 ; Documented in C
155 Generate JSON file.
158 D Joined Separate
159 -Xf <file>      Write JSON output to the given <file>.
161 debuglib=
162 Driver Joined
163 Debug library to use instead of phobos.
165 defaultlib=
166 Driver Joined
167 Default library to use instead of phobos.
169 dstartfiles
170 Driver
171 Do link the standard D startup files in the compilation.
173 -verbose
174 D Alias(v)
176 fall-instantiations
178 Generate code for all template instantiations.
180 fassert
181 D Var(flag_assert)
182 Generate code for assert contracts.
184 fbounds-check
186 ; Documented in common.opt
188 fbounds-check=
189 D Joined RejectNegative Enum(bounds_check) Var(flag_bounds_check)
190 -fbounds-check=[on|safeonly|off]        Turn array bounds checks on, in @safe code only, or off.
192 Enum
193 Name(bounds_check) Type(int) UnknownError(unknown array bounds setting %qs)
195 EnumValue
196 Enum(bounds_check) String(off) Value(0)
198 EnumValue
199 Enum(bounds_check) String(safeonly) Value(1)
201 EnumValue
202 Enum(bounds_check) String(on) Value(2)
204 ; Generates a secondary ModuleInfo symbol for linking in unittests
205 fbuilding-libphobos-tests
206 D Undocumented Var(flag_building_libphobos_tests)
208 fbuiltin
209 D Var(flag_no_builtin, 0)
210 ; Documented in C
212 fdebug
214 Compile in debug code.
216 fdebug=
217 D Joined RejectNegative
218 -fdebug=<level|ident>   Compile in debug code, code <= <level>, or code identified by <ident>.
220 fdoc
222 Generate documentation.
224 fdoc-dir=
225 D Joined RejectNegative
226 -fdoc-dir=<dir> Write documentation file to directory <dir>.
228 fdoc-file=
229 D Joined RejectNegative
230 -fdoc-file=<file>       Write documentation to <file>.
232 fdoc-inc=
233 D Joined RejectNegative
234 -fdoc-inc=<file>        Include a Ddoc macro <file>.
236 fdruntime
238 Assume that standard D runtime libraries and \"D main\" exist.
240 fdump-d-original
242 Display the frontend AST after parsing and semantic passes.
244 fignore-unknown-pragmas
246 Ignore unsupported pragmas.
248 finvariants
249 D Var(flag_invariants)
250 Generate code for class invariant contracts.
252 fmain
253 D RejectNegative
254 Generate a default D main() function when compiling.
256 fmodule-file=
257 D Joined RejectNegative
258 -fmodule-file=<package.module>=<filespec>       use <filespec> as source file for <package.module>.
260 fmoduleinfo
261 D Var(flag_moduleinfo)
262 Generate ModuleInfo struct for output module.
264 fonly=
265 D Joined RejectNegative
266 Process all modules specified on the command line, but only generate code for the module specified by the argument.
268 fpostconditions
269 D Var(flag_postconditions)
270 Generate code for postcondition contracts.
272 fpreconditions
273 D Var(flag_preconditions)
274 Generate code for precondition contracts.
276 frelease
278 Compile release version.
280 frtti
282 ; Documented in C
284 fswitch-errors
285 D Var(flag_switch_errors)
286 Generate code for switches without a default case.
288 ftransition=all
289 D RejectNegative
290 List information on all language changes.
292 ftransition=checkimports
293 D RejectNegative
294 Give deprecation messages about -ftransition=import anomalies.
296 ftransition=complex
297 D RejectNegative
298 List all usages of complex or imaginary types.
300 ftransition=dip1000
301 D RejectNegative
302 Implement DIP1000: Scoped pointers (experimental).
304 ftransition=dip25
305 D RejectNegative
306 Implement DIP25: Sealed references (experimental).
308 ftransition=field
309 D RejectNegative
310 List all non-mutable fields which occupy an object instance.
312 ftransition=import
313 D RejectNegative
314 Revert to single phase name lookup.
316 ftransition=nogc
317 D RejectNegative
318 List all hidden GC allocations.
320 ftransition=tls
321 D RejectNegative
322 List all variables going into thread local storage.
324 funittest
326 Compile in unittest code.
328 fversion=
329 D Joined RejectNegative
330 -fversion=<level|ident> Compile in version code >= <level> or identified by <ident>.
332 fweak
333 D Var(flag_weak) Init(1)
334 Emit common-like symbols as weak symbols.
336 imultilib
337 D Joined Separate
338 ; Documented in C
340 iprefix
341 D Joined Separate
342 ; Documented in C
344 isysroot
345 D Joined Separate
346 ; Documented in C
348 isystem
349 D Joined Separate
350 ; Documented in C
352 nophoboslib
353 Driver
354 Do not link the standard D library in the compilation.
356 nostdinc
358 ; Documented in C
360 static-libphobos
361 Driver
362 Link the standard D library statically in the compilation.
364 shared-libphobos
365 Driver
366 Link the standard D library dynamically in the compilation.
370 ; Documented in C