Free Pascal supports compiler directives in the source file: Basically the same directives as in Turbo Pascal, Delphi and Mac OS pascal compilers. Some are recognized for compatibility only, and have no effect. There is a distinction between local and global directives:
Some directives can only take a boolean value, a ’+’ to switch them on, or a ’-’ to switch them off. These directives are also known as switches. Many switches have a long form also. If they do, then the name of the long form is given also.
For long switches, the + or - character to switch the option on or off, may be replaced by the ON or OFF keywords.
Thus {$I+} is equivalent to {$IOCHECKS ON} or {$IOCHECKS +} and {$C-} is equivalent to {$ASSERTIONS OFF} or {$ASSERTIONS -}
The long forms of the switches are the same as their Delphi counterparts.