ada: Fix wrong resolution for hidden discriminant in predicate
[official-gcc.git] / gcc / m2 / lang.opt
blob6dbdf9d3110ad65f5914ebeacb66bbcbb8578a15
1 ; Options for the Modula-2 front end.
3 ; Copyright (C) 2016-2023 Free Software Foundation, Inc.
4 ; Contributed by Gaius Mulley <gaius.mulley@southwales.ac.uk>.
6 ; This file is part of GNU Modula-2.
8 ; GNU Modula-2 is free software; you can redistribute it and/or modify
9 ; it under the terms of the GNU General Public License as published by
10 ; the Free Software Foundation; either version 3, or (at your option)
11 ; any later version.
13 ; GNU Modula-2 is distributed in the hope that it will be useful, but
14 ; WITHOUT ANY WARRANTY; without even the implied warranty of
15 ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16 ; General Public License for more details.
18 ; You should have received a copy of the GNU General Public License
19 ; along with GNU Modula-2; see the file COPYING.  If not,
20 ; see <https://www.gnu.org/licenses/>.  *)
22 ; See the GCC internals manual for a description of this file's format.
24 ; There are two sections:
25 ;  1. Options specific to Modula-2
26 ;  2. Options shared with C or the Driver.
27 ; Please keep any new additions for either case in the relevant section.
28 ; Please try to keep this file in ASCII collating order.
30 Language
31 Modula-2
33 Wpedantic-param-names
34 Modula-2
35 compiler checks to force definition module procedure parameter names with their implementation module counterpart
37 Wpedantic-cast
38 Modula-2
39 compiler warns if a cast is being used on types of differing sizes
41 Wverbose-unbounded
42 Modula-2
43 inform user which parameters will be passed by reference
45 Wstyle
46 Modula-2
47 extra compile time semantic checking, typically tries to catch poor programming style
49 fauto-init
50 Modula-2
51 automatically initializes all pointers to NIL
53 fbounds
54 Modula-2
55 turns on runtime subrange, array index and indirection via NIL pointer checking
57 fcase
58 Modula-2
59 turns on runtime checking to check whether a CASE statement requires an ELSE clause when one was not specified
61 fcpp
62 Modula-2
63 use cpp to preprocess the module
65 fcpp-end
66 Modula-2
67 passed to the preprocessor if -fcpp is used (internal switch)
69 fcpp-begin
70 Modula-2
71 passed to the preprocessor if -fcpp is used (internal switch)
73 fdebug-builtins
74 Modula-2
75 call a real function, rather than the builtin equivalent
78 Modula-2
79 turn on internal debugging of the compiler (internal switch)
81 fdebug-trace-quad
82 Modula-2
83 turn on quadruple tracing (internal switch)
85 fdebug-trace-api
86 Modula-2
87 turn on the Modula-2 api tracing (internal switch)
89 fdebug-function-line-numbers
90 Modula-2
91 turn on the Modula-2 function line number generation (internal switch)
93 fdef=
94 Modula-2 Joined
95 recognise the specified suffix as a definition module filename
97 fdump-system-exports
98 Modula-2
99 display all inbuilt system items
101 fextended-opaque
102 Modula-2
103 allows opaque types to be implemented as any type (a GNU Modula-2 extension)
105 ffloatvalue
106 Modula-2
107 turns on runtime checking to check whether a floating point number will exceed range
109 fgen-module-list=
110 Modula-2 Joined
111 create a topologically sorted module list from all dependent modules used in the application
113 findex
114 Modula-2
115 turns on all range checking for numerical values
117 fiso
118 Modula-2
119 use ISO dialect of Modula-2
121 flibs=
122 Modula-2 Joined
123 specify the library order, the libraries may be specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso.
125 flocation=
126 Modula-2 Joined
127 set all location values to a specific value (internal switch)
129 fm2-g
130 Modula-2
131 generate extra nops to improve debugging, producing an instruction for every code related keyword
133 fm2-lower-case
134 Modula-2
135 generate error messages which render keywords in lower case
137 fm2-pathname=
138 Modula-2 Joined
139 specify the module mangled prefix name for all modules in the following include paths
141 fm2-pathnameI
142 Modula-2 Joined
143 ; For internal use only: used by the driver to copy the user facing -I option
145 fm2-plugin
146 Modula-2
147 insert plugin to identify runtime errors at compiletime
149 fm2-prefix=
150 Modula-2 Joined
151 specify the module mangled prefix name
153 fm2-statistics
154 Modula-2
155 display statistics about the amount of source lines compiled and symbols used
157 fm2-strict-type
158 Modula-2
159 experimental flag to turn on the new strict type checker
161 fm2-whole-program
162 Modula-2
163 compile all implementation modules and program module at once
165 fmod=
166 Modula-2 Joined
167 recognise the specified suffix as implementation and module filenames
169 fnil
170 Modula-2
171 turns on runtime checking to detect accessing data through a NIL value pointer
173 fpim
174 Modula-2
175 use PIM [234] dialect of Modula-2
177 fpim2
178 Modula-2
179 use PIM 2 dialect of Modula-2
181 fpim3
182 Modula-2
183 use PIM 3 dialect of Modula-2
185 fpim4
186 Modula-2
187 use PIM 4 dialect of Modula-2
189 fpositive-mod-floor-div
190 Modula-2
191 force positive result from MOD and DIV result floor
193 fpthread
194 Modula-2
195 link against the pthread library (default on)
198 Modula-2
199 internal compiler debugging information, dump the list of quadruples
201 frange
202 Modula-2
203 turns on all range checking for numerical values
205 freturn
206 Modula-2
207 turns on runtime checking for functions which finish without executing a RETURN statement
209 fruntime-modules=
210 Modula-2 Joined
211 specify the list of runtime modules and their initialization order
213 fscaffold-dynamic
214 Modula-2
215 the modules initialization order is dynamically determined by M2RTS and application dependencies
217 fscaffold-c
218 Modula-2
219 generate a C source scaffold for the current module being compiled
221 fscaffold-c++
222 Modula-2
223 generate a C++ source scaffold for the current module being compiled
225 fscaffold-main
226 Modula-2
227 generate the main function
229 fscaffold-static
230 Modula-2
231 generate static scaffold initialization and finalization for every module inside main
233 fshared
234 Modula-2
235 generate a shared library from the module
237 fsoft-check-all
238 Modula-2
239 turns on all software runtime checking (an abbreviation for -fnil -frange -findex -fwholediv -fcase -freturn -fwholevalue -ffloatvalue)
241 fsources
242 Modula-2
243 display the location of module source files as they are compiled
245 fswig
246 Modula-2
247 create a swig interface file for the module
249 funbounded-by-reference
250 Modula-2
251 optimize non var unbounded parameters by passing it by reference, providing it is not written to within the callee procedure.
253 fuse-list=
254 Modula-2 Joined
255 orders the initialization/finalializations for scaffold-static or force linking of modules if scaffold-dynamic
257 fversion
258 Modula-2
259 ; Documented in common.opt
261 fwholediv
262 Modula-2
263 turns on all division and modulus by zero checking for ordinal values
265 fwholevalue
266 Modula-2
267 turns on runtime checking to check whether a whole number will exceed range
269 static-libgm2
270 Driver
271 Link the standard Modula-2 libraries statically in the compilation.
273 ; Here are C options that we also recognise, either within the compiler
274 ; or to build the preprocessor command lines.
276 Wall
277 Modula-2
278 ; Documented in c.opt
280 Wpedantic
281 Modula-2
282 ; Documented in common.opt
284 Wreturn-type
285 Modula-2
286 ; Documented in common.opt
288 Wunused-variable
289 Modula-2
290 ; Documented in c.opt
292 Wunused-parameter
293 Modula-2
294 ; Documented in c.opt
296 Wuninit-variable-checking
297 Modula-2
298 turns on compile time analysis in the first basic block of a procedure detecting access to uninitialized data.
301 Modula-2
302 ; Documented in c.opt
305 Modula-2
306 ; Documented in c.opt
309 Modula-2
310 ; Documented in c.opt
313 Modula-2 Joined Separate
314 ; Documented in c.opt
317 Modula-2 Joined Separate
318 ; Not documented
321 Modula-2
322 ; Documented in c.opt
325 Modula-2
326 ; Documented in c.opt
329 Modula-2
330 ; Documented in c.opt
333 Modula-2
334 ; Documented in c.opt
337 Modula-2
338 ; Documented in c.opt
341 Modula-2
342 ; Documented in c.opt
344 Mmodules
345 Modula-2
346 ; Documented in c.opt
348 Mno-modules
349 Modula-2
350 ; Documented in c.opt
353 Modula-2
354 ; Documented in c.opt
357 Modula-2
358 ; Documented in c.opt
361 Modula-2
362 ; Documented in c.opt
365 Modula-2
366 ; Documented in c.opt
368 ansi
369 Modula-2
370 ; Documented in c.opt
373 Modula-2
374 ; Documented in c.opt
376 fexceptions
377 Modula-2
378 ; Documented in common.opt
380 fobjc-std=objc1
381 Modula-2
382 ; Documented in c.opt
384 fpreprocessed
385 Modula-2
386 ; Documented in c.opt
388 fworking-directory
389 Modula-2
390 ; Documented in c.opt
392 iprefix
393 Modula-2
394 ; Documented in c.opt
396 iquote
397 Modula-2
398 ; Documented in c.opt
400 isystem
401 Modula-2
402 ; Documented in c.opt
404 idirafter
405 Modula-2
406 ; Documented in c.opt
408 imultilib
409 Modula-2
411 -save-temps
412 Modula-2 Alias(save-temps)
414 save-temps
415 Modula-2
416 save temporary preprocessed files
418 save-temps=
419 Modula-2 Joined
420 save temporary preprocessed files
422 traditional-cpp
423 Modula-2
424 ; Documented in c.opt
426 ; This comment is to ensure we retain the blank line above.