Difference between revisions of "Compiler Mode"

From Free Pascal wiki
Jump to navigationJump to search
(external link to command line options)
(mention ModeSwitch capability)
Line 2: Line 2:
  
 
The Free Pascal compiler will compile in a specific ''mode''. Each mode dictates what syntax the compiler accepts as valid, and what it considers as invalid. The ''compiler mode'' can be set in the source code with the {$mode } [http://freepascal.org/docs-html/current/prog/progch1.html#x5-40001 compiler directive], or on the command line with the -M [http://www.freepascal.org/docs-html/user/userap1.html command line option].  
 
The Free Pascal compiler will compile in a specific ''mode''. Each mode dictates what syntax the compiler accepts as valid, and what it considers as invalid. The ''compiler mode'' can be set in the source code with the {$mode } [http://freepascal.org/docs-html/current/prog/progch1.html#x5-40001 compiler directive], or on the command line with the -M [http://www.freepascal.org/docs-html/user/userap1.html command line option].  
 +
 +
== Modes ==
  
 
*Free Pascal: {$mode '''FPC'''}<br/>This is the original Free Pascal compiler mode. As of version 3, It is the ''default mode'' of the compiler, so it is not necessary to explicitly add this directive.
 
*Free Pascal: {$mode '''FPC'''}<br/>This is the original Free Pascal compiler mode. As of version 3, It is the ''default mode'' of the compiler, so it is not necessary to explicitly add this directive.
Line 12: Line 14:
  
 
*Mac Pascal: {$mode '''MacPAS'''}<br/>The [[Mac Pascal]] compatibility mode.
 
*Mac Pascal: {$mode '''MacPAS'''}<br/>The [[Mac Pascal]] compatibility mode.
 +
 +
== ModeSwitch ==
 +
As of version 2.3.1 of Free Pascal, the ${ModeSwitch}  compiler directive has been added to allow ''features'' of a compiler mode to be selectively added to the current mode, effectively creating a ''custom mode''.
 +
For example:
 +
 +
<syntaxhighlight>
 +
{$mode FPC}
 +
{$ModeSwitch EXCEPTIONS}
 +
</syntaxhighlight>
 +
 +
Will add exception handling to the FPC compiler mode.

Revision as of 12:12, 13 July 2016

Deutsch (de) English (en) español (es) suomi (fi) français (fr) 中文(中国大陆)‎ (zh_CN)

The Free Pascal compiler will compile in a specific mode. Each mode dictates what syntax the compiler accepts as valid, and what it considers as invalid. The compiler mode can be set in the source code with the {$mode } compiler directive, or on the command line with the -M command line option.

Modes

  • Free Pascal: {$mode FPC}
    This is the original Free Pascal compiler mode. As of version 3, It is the default mode of the compiler, so it is not necessary to explicitly add this directive.
  • Turbo Pascal: {$mode TP}
    This is the Turbo Pascal compatibility mode.
  • Delphi: {$mode DELPHI}
    This is the Delphi compatibility mode.
  • Mac Pascal: {$mode MacPAS}
    The Mac Pascal compatibility mode.

ModeSwitch

As of version 2.3.1 of Free Pascal, the ${ModeSwitch} compiler directive has been added to allow features of a compiler mode to be selectively added to the current mode, effectively creating a custom mode. For example:

{$mode FPC}
{$ModeSwitch EXCEPTIONS}

Will add exception handling to the FPC compiler mode.