14.9 Modifiers

A function or procedure declaration can contain modifiers. Here we list the various possibilities:

_________________________________________________________________________________________________________
Modifiers

--modifiers---;-public---------------------------------------------
           | ---------name   string constant--||
           | -----alias -: exsptroinrtg constant -----||
           | -----------interrupt------------||
           | -----------noreturn------------||
           | |----------iocheck ------------||
           | ----------call modifiers--------- |
           ----------------------------------

--call modifiers----- cdecl-----------------------------------------
              --- cppdecl----|
              |---inline-----|
              |----local-----|
              |nostackframe --|
              |--overload----|
              |---pascal ----|
              ----register----|
              -   safecall  --|
              --savseorftegfliosatetrs--|
              ----stdcall----|
              ----varargs----|
___________________________________________________________________

Free Pascal doesn’t support all Turbo Pascal modifiers (although it parses them for compatibility), but does support a number of additional modifiers. They are used mainly for assembler and reference to C object files.

  14.9.1 alias
  14.9.2 cdecl
  14.9.3 cppdecl
  14.9.4 export
  14.9.5 inline
  14.9.6 interrupt
  14.9.7 iocheck
  14.9.8 local
  14.9.9 noreturn
  14.9.10 nostackframe
  14.9.11 overload
  14.9.12 pascal
  14.9.13 public
  14.9.14 register
  14.9.15 safecall
  14.9.16 saveregisters
  14.9.17 softfloat
  14.9.18 stdcall
  14.9.19 varargs
  14.9.20 winapi