[testsuite] [i386] work around fails with --enable-frame-pointer
[official-gcc.git] / gcc / m2 / lang.opt
blob206bd03d09f66a3ed639e31b46d48e263e54a820
1 ; Options for the Modula-2 front end.
3 ; Copyright (C) 2016-2024 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 Wcase-enum
34 Modula-2
35 turns on case statement label compile time checking when using an expression of an enum type.
37 Wpedantic-param-names
38 Modula-2
39 compiler checks to force definition module procedure parameter names with their implementation module counterpart
41 Wpedantic-cast
42 Modula-2
43 compiler warns if a cast is being used on types of differing sizes
45 Wverbose-unbounded
46 Modula-2
47 inform user which parameters will be passed by reference
49 Wstyle
50 Modula-2
51 extra compile time semantic checking, typically tries to catch poor programming style
53 Wuninit-variable-checking
54 Modula-2
55 turns on compile time analysis in the first basic block of a procedure detecting access to uninitialized data.
57 Wuninit-variable-checking=
58 Modula-2 Joined
59 turns on compile time analysis to detect access to uninitialized variables, the checking can be specified by: known,cond,all.
61 fauto-init
62 Modula-2
63 automatically initializes all pointers to NIL
65 fbounds
66 Modula-2
67 turns on runtime subrange, array index and indirection via NIL pointer checking
69 fcase
70 Modula-2
71 turns on runtime checking to check whether a CASE statement requires an ELSE clause when one was not specified
73 fcpp
74 Modula-2
75 use cpp to preprocess the module
77 fcpp-end
78 Modula-2
79 passed to the preprocessor if -fcpp is used (internal switch)
81 fcpp-begin
82 Modula-2
83 passed to the preprocessor if -fcpp is used (internal switch)
85 fdebug-builtins
86 Modula-2
87 call a real function, rather than the builtin equivalent
90 Modula-2
91 turn on internal debugging of the compiler (internal switch)
93 fdebug-function-line-numbers
94 Modula-2
95 turn on tracing of procedure line numbers (internal switch)
97 fdef=
98 Modula-2 Joined
99 recognise the specified suffix as a definition module filename
101 fdump-system-exports
102 Modula-2
103 display all inbuilt system items
105 fextended-opaque
106 Modula-2
107 allows opaque types to be implemented as any type (a GNU Modula-2 extension)
109 ffloatvalue
110 Modula-2
111 turns on runtime checking to check whether a floating point number will exceed range
113 fgen-module-list=
114 Modula-2 Joined
115 create a topologically sorted module list from all dependent modules used in the application
117 findex
118 Modula-2
119 turns on all range checking for numerical values
121 fiso
122 Modula-2
123 use ISO dialect of Modula-2
125 flibs=
126 Modula-2 Joined
127 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.
129 flocation=
130 Modula-2 Joined
131 set all location values to a specific value (internal switch)
133 fm2-debug-trace=
134 Modula-2 Joined
135 turn on internal debug tracing for quad,token,line,all (internal switch)
137 fm2-g
138 Modula-2
139 generate extra nops to improve debugging, producing an instruction for every code related keyword
141 fm2-lower-case
142 Modula-2
143 generate error messages which render keywords in lower case
145 fm2-pathname=
146 Modula-2 Joined
147 specify the module mangled prefix name for all modules in the following include paths
149 fm2-pathnameI
150 Modula-2 Joined
151 ; For internal use only: used by the driver to copy the user facing -I option
153 fm2-plugin
154 Modula-2
155 insert plugin to identify runtime errors at compiletime
157 fm2-prefix=
158 Modula-2 Joined
159 specify the module mangled prefix name
161 fm2-statistics
162 Modula-2
163 display statistics about the amount of source lines compiled and symbols used
165 fm2-strict-type
166 Modula-2
167 experimental flag to turn on the new strict type checker
169 fm2-whole-program
170 Modula-2
171 compile all implementation modules and program module at once
173 fmod=
174 Modula-2 Joined
175 recognise the specified suffix as implementation and module filenames
177 fnil
178 Modula-2
179 turns on runtime checking to detect accessing data through a NIL value pointer
181 fpim
182 Modula-2
183 use PIM [234] dialect of Modula-2
185 fpim2
186 Modula-2
187 use PIM 2 dialect of Modula-2
189 fpim3
190 Modula-2
191 use PIM 3 dialect of Modula-2
193 fpim4
194 Modula-2
195 use PIM 4 dialect of Modula-2
197 fpositive-mod-floor-div
198 Modula-2
199 force positive result from MOD and DIV result floor
201 fpthread
202 Modula-2
203 link against the pthread library (default on)
206 Modula-2
207 internal compiler debugging information, dump the list of quadruples
209 frange
210 Modula-2
211 turns on all range checking for numerical values
213 freturn
214 Modula-2
215 turns on runtime checking for functions which finish without executing a RETURN statement
217 fruntime-modules=
218 Modula-2 Joined
219 specify the list of runtime modules and their initialization order
221 fscaffold-dynamic
222 Modula-2
223 the modules initialization order is dynamically determined by M2RTS and application dependencies
225 fscaffold-c
226 Modula-2
227 generate a C source scaffold for the current module being compiled
229 fscaffold-c++
230 Modula-2
231 generate a C++ source scaffold for the current module being compiled
233 fscaffold-main
234 Modula-2
235 generate the main function
237 fscaffold-static
238 Modula-2
239 generate static scaffold initialization and finalization for every module inside main
241 fshared
242 Modula-2
243 generate a shared library from the module
245 fsoft-check-all
246 Modula-2
247 turns on all software runtime checking (an abbreviation for -fnil -frange -findex -fwholediv -fcase -freturn -fwholevalue -ffloatvalue)
249 fsources
250 Modula-2
251 display the location of module source files as they are compiled
253 fswig
254 Modula-2
255 create a swig interface file for the module
257 funbounded-by-reference
258 Modula-2
259 optimize non var unbounded parameters by passing it by reference, providing it is not written to within the callee procedure.
261 fuse-list=
262 Modula-2 Joined
263 orders the initialization/finalializations for scaffold-static or force linking of modules if scaffold-dynamic
265 fversion
266 Modula-2
267 ; Documented in common.opt
269 fwholediv
270 Modula-2
271 turns on all division and modulus by zero checking for ordinal values
273 fwholevalue
274 Modula-2
275 turns on runtime checking to check whether a whole number will exceed range
277 static-libgm2
278 Driver
279 Link the standard Modula-2 libraries statically in the compilation.
281 ; Here are C options that we also recognise, either within the compiler
282 ; or to build the preprocessor command lines.
284 Wall
285 Modula-2
286 ; Documented in c.opt
288 Wpedantic
289 Modula-2
290 ; Documented in common.opt
292 Wreturn-type
293 Modula-2
294 ; Documented in common.opt
296 Wunused-variable
297 Modula-2
298 ; Documented in c.opt
300 Wunused-parameter
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
314 ; Documented in c.opt
317 Modula-2 Joined Separate
318 ; Documented in c.opt
321 Modula-2 Joined Separate
322 ; Not documented
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
345 Modula-2
346 ; Documented in c.opt
348 Mmodules
349 Modula-2
350 ; Documented in c.opt
352 Mno-modules
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
369 Modula-2
370 ; Documented in c.opt
372 ansi
373 Modula-2
374 ; Documented in c.opt
377 Modula-2
378 ; Documented in c.opt
380 fexceptions
381 Modula-2
382 ; Documented in common.opt
384 fobjc-std=objc1
385 Modula-2
386 ; Documented in c.opt
388 fpreprocessed
389 Modula-2
390 ; Documented in c.opt
392 fworking-directory
393 Modula-2
394 ; Documented in c.opt
396 iprefix
397 Modula-2
398 ; Documented in c.opt
400 iquote
401 Modula-2
402 ; Documented in c.opt
404 isysroot
405 Modula-2
406 ; Documented in c.opt
408 isystem
409 Modula-2
410 ; Documented in c.opt
412 idirafter
413 Modula-2
414 ; Documented in c.opt
416 imultilib
417 Modula-2
419 -save-temps
420 Modula-2 Alias(save-temps)
422 save-temps
423 Modula-2
424 save temporary preprocessed files
426 save-temps=
427 Modula-2 Joined
428 save temporary preprocessed files
430 traditional-cpp
431 Modula-2
432 ; Documented in c.opt
434 ; This comment is to ensure we retain the blank line above.