for more information on these options, see also Programmers guide
-
-Mmode
- set language mode to mode, which can be one of the following:
-
delphi
- tries to be Delphi compatible. This is more strict than the objfpc mode, since
some Free Pascal extensions are switched o .
-
fpc
- free pascal dialect (default)
-
gpc
- tries to be gpc compatible.
-
macpas
- tries to be compatible to the macintosh pascal dialects.
-
objfpc
- switch some Delphi 2 extensions on. This is di erent from Delphi mode.
because some Free Pascal constructs are still available.
-
tp
- tries to be TP/BP 7.0 compatible. This means, no function overloading etc.
-
-Rxxx
- Speci es what kind of assembler you use in your asm assembler code blocks. Here xxx is
one of the following:
-
att
- asm blocks contain AT&T-style assembler. This is the default style.
-
intel
- asm blocks contain Intel-style assembler.
-
direct
- asm blocks should be copied as-is in the assembler, only replacing certain
variables. le.
-
-S2
- Switch on Delphi 2 extensions (objfpc mode). Deprecated, use -Mobjfpc instead.
-
-Sa
- Include assert statements in compiled code. Omitting this option will cause assert statements
to be ignored.
-
-Sc
- Support C-style operators, i.e. *=, +=, /= and -=.
-
-Sd
- Tells the compiler to be Delphi compatible. Deprecated, use -Mdelphi instead.
-
-SeN
- The compiler stops after the N-th error. Normally, the compiler tries to continue compiling
after an error, until 50 errors are reached, or a fatal error is reached, and then it stops. With
this switch, the compiler will stop after the N-th error (if N is omitted, a default of 1 is
assumed). Instead of a number, one of n, h or w can also be speci ed, in that case the
compiler will consider notes, hints or warnings as errors and stop when one is
encountered.
-
-Sg
- Support the label and goto commands. By default these are not supported. You must also
specify this option if you use labels in assembler statements. (if you use the AT&T style
assember)
-
-Sh
- Use ansistrings by default for strings. If this keyword is speci ed, the compiler will interpret
the string keyword as a ansistring. Otherwise it is supposed to be a short strings (TP
style).
-
-Si
- Support C++ style INLINE.
-
-SIXXX
- set interfaces style to XXX.
-
-Sm
- Support C-style macros.
-
-So
- Try to be Borland TP 7.0 compatible. Deprecated, use -Mtp instead.
-
-Sp
- Try to be gpc (gnu pascal compiler) compatible. Deprecated, use -Mgpc instead.
-
-Ss
- The name of constructors must be init, and the name of destructors should be
done.
-
-St
- Allow the static keyword in objects.
-
-Un
- Do not check the unit name. Normally, the unit name is the same as the lename. This
option allows both to be di erent.
-
-Us
- Compile a system unit. This option causes the compiler to de ne only some very basic
types.