$extendedSyntax

From Free Pascal wiki
Revision as of 14:54, 20 February 2021 by Kai Burghardt (talk | contribs) (→‎affected syntax: add sentence that = and <> pointer comparisons always work)
Jump to navigationJump to search

The global compiler directive {$extendedSyntax on} turns on additional syntax. The FPC has this by default on. The short notation is {$X+}/{$X‑}.

affected syntax

  • Functions can be called as if they were procedures. The function result is discarded. This is potentially harmful if, for example, the function allocated new memory space and returned a pointer to it.
  • Integer arithmetic operations are allowed on pointers. The directive {$pointerMath} had to be on for that during the respective pointer type’s definition.
  • Pointers become ordered and can be compared using <,>, <= and >=. Typed pointers have to correspond to each other. The = and <> comparisons work regardless of the {$extendedSyntax} state.

comparative remarks

see also