1.3.21 $MODE : Set compiler compatibility mode

The {$MODE} sets the compatibility mode of the compiler. This is equivalent to setting one of the command line options -So, -Sd, -Sp or -S2. it has the following arguments:

Default
Default mode. This reverts back to the mode that was set on the command line.
Delphi
Delphi compatibility mode. All object-pascal extensions are enabled. This is the same as the command line option -Sd. Note that this also implies {$H ON} (i.e., in Delphi mode, ansistrings are the default).
DelphiUnicode
Delphi compatibility mode. All object-pascal extensions are enabled, and additionally the String keyword refers to a unicode string.
ExtendedPascal
Extended pascal mode. Only available in 3.2 and higher.
TP
Turbo pascal compatibility mode. Object pascal extensions are disabled, except ansistrings, which remain valid. This is the same as the command line option -So.
FPC
FPC mode. This is the default, if no command line switch is supplied.
OBJFPC
Object pascal mode. This is the same as the -S2 command line option.
MACPAS
MACPAS mode. In this mode, the compiler tries to be more compatible to commonly used pascal dialects on the Mac OS, such as Think Pascal, Metrowerks Pascal, MPW Pascal.
ISO
Standard Pascal, ISO 7185 mode. In this mode, the compiler complies with the requirements of level 0 and level 1 of ISO/IEC 7185.

For an exact description of each of these modes, see appendix D, on page 719.