xfail scan-tree-dump-not throw in g++.dg/pr99966.C on hppa*64*-*-*
[official-gcc.git] / gcc / m2 / lang.opt
blob505f4b56e8a95ad25744f83734822325140cf55d
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-trace-quad
94 Modula-2
95 turn on quadruple tracing (internal switch)
97 fdebug-trace-api
98 Modula-2
99 turn on the Modula-2 api tracing (internal switch)
101 fdebug-function-line-numbers
102 Modula-2
103 turn on the Modula-2 function line number generation (internal switch)
105 fdef=
106 Modula-2 Joined
107 recognise the specified suffix as a definition module filename
109 fdump-system-exports
110 Modula-2
111 display all inbuilt system items
113 fextended-opaque
114 Modula-2
115 allows opaque types to be implemented as any type (a GNU Modula-2 extension)
117 ffloatvalue
118 Modula-2
119 turns on runtime checking to check whether a floating point number will exceed range
121 fgen-module-list=
122 Modula-2 Joined
123 create a topologically sorted module list from all dependent modules used in the application
125 findex
126 Modula-2
127 turns on all range checking for numerical values
129 fiso
130 Modula-2
131 use ISO dialect of Modula-2
133 flibs=
134 Modula-2 Joined
135 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.
137 flocation=
138 Modula-2 Joined
139 set all location values to a specific value (internal switch)
141 fm2-g
142 Modula-2
143 generate extra nops to improve debugging, producing an instruction for every code related keyword
145 fm2-lower-case
146 Modula-2
147 generate error messages which render keywords in lower case
149 fm2-pathname=
150 Modula-2 Joined
151 specify the module mangled prefix name for all modules in the following include paths
153 fm2-pathnameI
154 Modula-2 Joined
155 ; For internal use only: used by the driver to copy the user facing -I option
157 fm2-plugin
158 Modula-2
159 insert plugin to identify runtime errors at compiletime
161 fm2-prefix=
162 Modula-2 Joined
163 specify the module mangled prefix name
165 fm2-statistics
166 Modula-2
167 display statistics about the amount of source lines compiled and symbols used
169 fm2-strict-type
170 Modula-2
171 experimental flag to turn on the new strict type checker
173 fm2-whole-program
174 Modula-2
175 compile all implementation modules and program module at once
177 fmod=
178 Modula-2 Joined
179 recognise the specified suffix as implementation and module filenames
181 fnil
182 Modula-2
183 turns on runtime checking to detect accessing data through a NIL value pointer
185 fpim
186 Modula-2
187 use PIM [234] dialect of Modula-2
189 fpim2
190 Modula-2
191 use PIM 2 dialect of Modula-2
193 fpim3
194 Modula-2
195 use PIM 3 dialect of Modula-2
197 fpim4
198 Modula-2
199 use PIM 4 dialect of Modula-2
201 fpositive-mod-floor-div
202 Modula-2
203 force positive result from MOD and DIV result floor
205 fpthread
206 Modula-2
207 link against the pthread library (default on)
210 Modula-2
211 internal compiler debugging information, dump the list of quadruples
213 frange
214 Modula-2
215 turns on all range checking for numerical values
217 freturn
218 Modula-2
219 turns on runtime checking for functions which finish without executing a RETURN statement
221 fruntime-modules=
222 Modula-2 Joined
223 specify the list of runtime modules and their initialization order
225 fscaffold-dynamic
226 Modula-2
227 the modules initialization order is dynamically determined by M2RTS and application dependencies
229 fscaffold-c
230 Modula-2
231 generate a C source scaffold for the current module being compiled
233 fscaffold-c++
234 Modula-2
235 generate a C++ source scaffold for the current module being compiled
237 fscaffold-main
238 Modula-2
239 generate the main function
241 fscaffold-static
242 Modula-2
243 generate static scaffold initialization and finalization for every module inside main
245 fshared
246 Modula-2
247 generate a shared library from the module
249 fsoft-check-all
250 Modula-2
251 turns on all software runtime checking (an abbreviation for -fnil -frange -findex -fwholediv -fcase -freturn -fwholevalue -ffloatvalue)
253 fsources
254 Modula-2
255 display the location of module source files as they are compiled
257 fswig
258 Modula-2
259 create a swig interface file for the module
261 funbounded-by-reference
262 Modula-2
263 optimize non var unbounded parameters by passing it by reference, providing it is not written to within the callee procedure.
265 fuse-list=
266 Modula-2 Joined
267 orders the initialization/finalializations for scaffold-static or force linking of modules if scaffold-dynamic
269 fversion
270 Modula-2
271 ; Documented in common.opt
273 fwholediv
274 Modula-2
275 turns on all division and modulus by zero checking for ordinal values
277 fwholevalue
278 Modula-2
279 turns on runtime checking to check whether a whole number will exceed range
281 static-libgm2
282 Driver
283 Link the standard Modula-2 libraries statically in the compilation.
285 ; Here are C options that we also recognise, either within the compiler
286 ; or to build the preprocessor command lines.
288 Wall
289 Modula-2
290 ; Documented in c.opt
292 Wpedantic
293 Modula-2
294 ; Documented in common.opt
296 Wreturn-type
297 Modula-2
298 ; Documented in common.opt
300 Wunused-variable
301 Modula-2
302 ; Documented in c.opt
304 Wunused-parameter
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
318 ; Documented in c.opt
321 Modula-2 Joined Separate
322 ; Documented in c.opt
325 Modula-2 Joined Separate
326 ; Not documented
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
349 Modula-2
350 ; Documented in c.opt
352 Mmodules
353 Modula-2
354 ; Documented in c.opt
356 Mno-modules
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
373 Modula-2
374 ; Documented in c.opt
376 ansi
377 Modula-2
378 ; Documented in c.opt
381 Modula-2
382 ; Documented in c.opt
384 fexceptions
385 Modula-2
386 ; Documented in common.opt
388 fobjc-std=objc1
389 Modula-2
390 ; Documented in c.opt
392 fpreprocessed
393 Modula-2
394 ; Documented in c.opt
396 fworking-directory
397 Modula-2
398 ; Documented in c.opt
400 iprefix
401 Modula-2
402 ; Documented in c.opt
404 iquote
405 Modula-2
406 ; Documented in c.opt
408 isysroot
409 Modula-2
410 ; Documented in c.opt
412 isystem
413 Modula-2
414 ; Documented in c.opt
416 idirafter
417 Modula-2
418 ; Documented in c.opt
420 imultilib
421 Modula-2
423 -save-temps
424 Modula-2 Alias(save-temps)
426 save-temps
427 Modula-2
428 save temporary preprocessed files
430 save-temps=
431 Modula-2 Joined
432 save temporary preprocessed files
434 traditional-cpp
435 Modula-2
436 ; Documented in c.opt
438 ; This comment is to ensure we retain the blank line above.