| ; Options for the Modula-2 front end. |
| ; |
| ; Copyright (C) 2016-2023 Free Software Foundation, Inc. |
| ; Contributed by Gaius Mulley <gaius.mulley@southwales.ac.uk>. |
| ; |
| ; This file is part of GNU Modula-2. |
| ; |
| ; GNU Modula-2 is free software; you can redistribute it and/or modify |
| ; it under the terms of the GNU General Public License as published by |
| ; the Free Software Foundation; either version 3, or (at your option) |
| ; any later version. |
| ; |
| ; GNU Modula-2 is distributed in the hope that it will be useful, but |
| ; WITHOUT ANY WARRANTY; without even the implied warranty of |
| ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| ; General Public License for more details. |
| ; |
| ; You should have received a copy of the GNU General Public License |
| ; along with GNU Modula-2; see the file COPYING. If not, |
| ; see <https://www.gnu.org/licenses/>. *) |
| |
| ; See the GCC internals manual for a description of this file's format. |
| |
| ; There are two sections: |
| ; 1. Options specific to Modula-2 |
| ; 2. Options shared with C or the Driver. |
| ; Please keep any new additions for either case in the relevant section. |
| ; Please try to keep this file in ASCII collating order. |
| |
| Language |
| Modula-2 |
| |
| Wpedantic-param-names |
| Modula-2 |
| compiler checks to force definition module procedure parameter names with their implementation module counterpart |
| |
| Wpedantic-cast |
| Modula-2 |
| compiler warns if a cast is being used on types of differing sizes |
| |
| Wverbose-unbounded |
| Modula-2 |
| inform user which parameters will be passed by reference |
| |
| Wstyle |
| Modula-2 |
| extra compile time semantic checking, typically tries to catch poor programming style |
| |
| fauto-init |
| Modula-2 |
| automatically initializes all pointers to NIL |
| |
| fbounds |
| Modula-2 |
| turns on runtime subrange, array index and indirection via NIL pointer checking |
| |
| fcase |
| Modula-2 |
| turns on runtime checking to check whether a CASE statement requires an ELSE clause when one was not specified |
| |
| fcpp |
| Modula-2 |
| use cpp to preprocess the module |
| |
| fcpp-end |
| Modula-2 |
| passed to the preprocessor if -fcpp is used (internal switch) |
| |
| fcpp-begin |
| Modula-2 |
| passed to the preprocessor if -fcpp is used (internal switch) |
| |
| fdebug-builtins |
| Modula-2 |
| call a real function, rather than the builtin equivalent |
| |
| fd |
| Modula-2 |
| turn on internal debugging of the compiler (internal switch) |
| |
| fdebug-trace-quad |
| Modula-2 |
| turn on quadruple tracing (internal switch) |
| |
| fdebug-trace-api |
| Modula-2 |
| turn on the Modula-2 api tracing (internal switch) |
| |
| fdebug-function-line-numbers |
| Modula-2 |
| turn on the Modula-2 function line number generation (internal switch) |
| |
| fdef= |
| Modula-2 Joined |
| recognise the specified suffix as a definition module filename |
| |
| fdump-system-exports |
| Modula-2 |
| display all inbuilt system items |
| |
| fextended-opaque |
| Modula-2 |
| allows opaque types to be implemented as any type (a GNU Modula-2 extension) |
| |
| ffloatvalue |
| Modula-2 |
| turns on runtime checking to check whether a floating point number will exceed range |
| |
| fgen-module-list= |
| Modula-2 Joined |
| create a topologically sorted module list from all dependent modules used in the application |
| |
| findex |
| Modula-2 |
| turns on all range checking for numerical values |
| |
| fiso |
| Modula-2 |
| use ISO dialect of Modula-2 |
| |
| flibs= |
| Modula-2 Joined |
| 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. |
| |
| flocation= |
| Modula-2 Joined |
| set all location values to a specific value (internal switch) |
| |
| fm2-g |
| Modula-2 |
| generate extra nops to improve debugging, producing an instruction for every code related keyword |
| |
| fm2-lower-case |
| Modula-2 |
| generate error messages which render keywords in lower case |
| |
| fm2-pathname= |
| Modula-2 Joined |
| specify the module mangled prefix name for all modules in the following include paths |
| |
| fm2-pathnameI |
| Modula-2 Joined |
| ; For internal use only: used by the driver to copy the user facing -I option |
| |
| fm2-plugin |
| Modula-2 |
| insert plugin to identify runtime errors at compiletime |
| |
| fm2-prefix= |
| Modula-2 Joined |
| specify the module mangled prefix name |
| |
| fm2-statistics |
| Modula-2 |
| display statistics about the amount of source lines compiled and symbols used |
| |
| fm2-strict-type |
| Modula-2 |
| experimental flag to turn on the new strict type checker |
| |
| fm2-whole-program |
| Modula-2 |
| compile all implementation modules and program module at once |
| |
| fmod= |
| Modula-2 Joined |
| recognise the specified suffix as implementation and module filenames |
| |
| fnil |
| Modula-2 |
| turns on runtime checking to detect accessing data through a NIL value pointer |
| |
| fpim |
| Modula-2 |
| use PIM [234] dialect of Modula-2 |
| |
| fpim2 |
| Modula-2 |
| use PIM 2 dialect of Modula-2 |
| |
| fpim3 |
| Modula-2 |
| use PIM 3 dialect of Modula-2 |
| |
| fpim4 |
| Modula-2 |
| use PIM 4 dialect of Modula-2 |
| |
| fpositive-mod-floor-div |
| Modula-2 |
| force positive result from MOD and DIV result floor |
| |
| fpthread |
| Modula-2 |
| link against the pthread library (default on) |
| |
| fq |
| Modula-2 |
| internal compiler debugging information, dump the list of quadruples |
| |
| frange |
| Modula-2 |
| turns on all range checking for numerical values |
| |
| freturn |
| Modula-2 |
| turns on runtime checking for functions which finish without executing a RETURN statement |
| |
| fruntime-modules= |
| Modula-2 Joined |
| specify the list of runtime modules and their initialization order |
| |
| fscaffold-dynamic |
| Modula-2 |
| the modules initialization order is dynamically determined by M2RTS and application dependencies |
| |
| fscaffold-c |
| Modula-2 |
| generate a C source scaffold for the current module being compiled |
| |
| fscaffold-c++ |
| Modula-2 |
| generate a C++ source scaffold for the current module being compiled |
| |
| fscaffold-main |
| Modula-2 |
| generate the main function |
| |
| fscaffold-static |
| Modula-2 |
| generate static scaffold initialization and finalization for every module inside main |
| |
| fshared |
| Modula-2 |
| generate a shared library from the module |
| |
| fsoft-check-all |
| Modula-2 |
| turns on all software runtime checking (an abbreviation for -fnil -frange -findex -fwholediv -fcase -freturn -fwholevalue -ffloatvalue) |
| |
| fsources |
| Modula-2 |
| display the location of module source files as they are compiled |
| |
| fswig |
| Modula-2 |
| create a swig interface file for the module |
| |
| funbounded-by-reference |
| Modula-2 |
| optimize non var unbounded parameters by passing it by reference, providing it is not written to within the callee procedure. |
| |
| fuse-list= |
| Modula-2 Joined |
| orders the initialization/finalializations for scaffold-static or force linking of modules if scaffold-dynamic |
| |
| fversion |
| Modula-2 |
| ; Documented in common.opt |
| |
| fwholediv |
| Modula-2 |
| turns on all division and modulus by zero checking for ordinal values |
| |
| fwholevalue |
| Modula-2 |
| turns on runtime checking to check whether a whole number will exceed range |
| |
| static-libgm2 |
| Driver |
| Link the standard Modula-2 libraries statically in the compilation. |
| |
| ; Here are C options that we also recognise, either within the compiler |
| ; or to build the preprocessor command lines. |
| |
| Wall |
| Modula-2 |
| ; Documented in c.opt |
| |
| Wpedantic |
| Modula-2 |
| ; Documented in common.opt |
| |
| Wreturn-type |
| Modula-2 |
| ; Documented in common.opt |
| |
| Wunused-variable |
| Modula-2 |
| ; Documented in c.opt |
| |
| Wunused-parameter |
| Modula-2 |
| ; Documented in c.opt |
| |
| B |
| Modula-2 |
| ; Documented in c.opt |
| |
| D |
| Modula-2 |
| ; Documented in c.opt |
| |
| E |
| Modula-2 |
| ; Documented in c.opt |
| |
| I |
| Modula-2 Joined Separate |
| ; Documented in c.opt |
| |
| L |
| Modula-2 Joined Separate |
| ; Not documented |
| |
| M |
| Modula-2 |
| ; Documented in c.opt |
| |
| MD |
| Modula-2 |
| ; Documented in c.opt |
| |
| MF |
| Modula-2 |
| ; Documented in c.opt |
| |
| MG |
| Modula-2 |
| ; Documented in c.opt |
| |
| MM |
| Modula-2 |
| ; Documented in c.opt |
| |
| MMD |
| Modula-2 |
| ; Documented in c.opt |
| |
| Mmodules |
| Modula-2 |
| ; Documented in c.opt |
| |
| Mno-modules |
| Modula-2 |
| ; Documented in c.opt |
| |
| MP |
| Modula-2 |
| ; Documented in c.opt |
| |
| MQ |
| Modula-2 |
| ; Documented in c.opt |
| |
| MT |
| Modula-2 |
| ; Documented in c.opt |
| |
| P |
| Modula-2 |
| ; Documented in c.opt |
| |
| ansi |
| Modula-2 |
| ; Documented in c.opt |
| |
| c |
| Modula-2 |
| ; Documented in c.opt |
| |
| fexceptions |
| Modula-2 |
| ; Documented in common.opt |
| |
| fobjc-std=objc1 |
| Modula-2 |
| ; Documented in c.opt |
| |
| fpreprocessed |
| Modula-2 |
| ; Documented in c.opt |
| |
| fworking-directory |
| Modula-2 |
| ; Documented in c.opt |
| |
| iprefix |
| Modula-2 |
| ; Documented in c.opt |
| |
| iquote |
| Modula-2 |
| ; Documented in c.opt |
| |
| isystem |
| Modula-2 |
| ; Documented in c.opt |
| |
| idirafter |
| Modula-2 |
| ; Documented in c.opt |
| |
| imultilib |
| Modula-2 |
| |
| -save-temps |
| Modula-2 Alias(save-temps) |
| |
| save-temps |
| Modula-2 |
| save temporary preprocessed files |
| |
| save-temps= |
| Modula-2 Joined |
| save temporary preprocessed files |
| |
| traditional-cpp |
| Modula-2 |
| ; Documented in c.opt |
| |
| ; This comment is to ensure we retain the blank line above. |