The far
directive can be appended to a procedure or function
heading but is ignored by GPC. It is there for Borland compatibility,
only. (Since the GNU compilers provide a flat memory model, the
distinction between near
and far
pointers is void.)
far
is a Borland Pascal extension.
program FarDemo; var p: procedure; {$W no-near-far} { Don't warn about the uselessness of `far' } procedure Foo; far; { `far' has no effect in GPC } begin WriteLn ('Foo') end; begin p := Foo; { Would also work without `far' in GPC. } p end.