11.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------------||
           | -----------iochecks------------||
           | ----------call modifiers---------||
           ----------------------------------

--call modifiers----- cdecl-----------------------------------------
              ----inline-----|
              -----local-----|
              |nostackframe --|
              |--overload----|
              |---pascal ----|
              |-- register----|
              |---safecall----|
              --saveregisters--|
              ---softfloat----|
              ----svtdarcaarlgls----|
___________________________________________________________________

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.

  11.9.1 alias
  11.9.2 cdecl
  11.9.3 export
  11.9.4 inline
  11.9.5 interrupt
  11.9.6 iocheck
  11.9.7 local
  11.9.8 nostackframe
  11.9.9 overload
  11.9.10 pascal
  11.9.11 public
  11.9.12 register
  11.9.13 safecall
  11.9.14 saveregisters
  11.9.15 softfloat
  11.9.16 stdcall
  11.9.17 varargs