Difference between revisions of "$extendedSyntax"
From Free Pascal wiki
Jump to navigationJump to search (→affected syntax: add sentence that = and <> pointer comparisons always work) |
(use categorization template) |
||
Line 1: | Line 1: | ||
+ | {{Template:{{BASEPAGENAME}}}} | ||
The [[global compiler directives|global compiler directive]] <syntaxhighlight lang="pascal" inline>{$extendedSyntax on}</syntaxhighlight> turns on additional syntax. | The [[global compiler directives|global compiler directive]] <syntaxhighlight lang="pascal" inline>{$extendedSyntax on}</syntaxhighlight> turns on additional syntax. | ||
The [[FPC]] has this by default ''on''. | The [[FPC]] has this by default ''on''. | ||
Line 14: | Line 15: | ||
== see also == | == see also == | ||
* [[Pascal for C users]] | * [[Pascal for C users]] | ||
− | |||
− |
Revision as of 16:30, 20 February 2021
│ Deutsch (de) │ English (en) │
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
- Standard Pascal does not define any of those “extensions”.
{$X+}
and{$X‑}
in GPC enables and disables full Extended Pascal compliance.