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-----|
              |---hardfloat ----|
              |---- inline------|
              |-----local------|
              |---mwpascal----|
              |-msxabixdefault--|
              --msxabixcdecl---|
              --nostackframe----|
              ----ovpearslocaadl-----|
              -----register-----|
              -----safecall-----|
              ---saveregisters---|
              |---softfloat-----|
              |----stdcall-----|
              |sysvxabixdefault--|
              |-sysvxabixcdecl--|
              |---vectorcall----|
              -----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 hardfloat
  14.9.6 inline
  14.9.7 interrupt
  14.9.8 iocheck
  14.9.9 local
  14.9.10 MS_ABI_Default
  14.9.11 MS_ABI_CDecl
  14.9.12 MWPascal
  14.9.13 noreturn
  14.9.14 nostackframe
  14.9.15 overload
  14.9.16 pascal
  14.9.17 public
  14.9.18 register
  14.9.19 safecall
  14.9.20 saveregisters
  14.9.21 softfloat
  14.9.22 stdcall
  14.9.23 SYSV_ABI_Default
  14.9.24 SYSV_ABI_CDecl
  14.9.25 VectorCall
  14.9.26 varargs
  14.9.27 winapi