All the following works in GPC:
procedure Foo (protected a, b, c: Integer); { 3 arguments } procedure Foo (a, b, c, protected: Integer); { 4 arguments } procedure Foo (a, b, protected, c: Integer); { 4 arguments } procedure Foo (protected: Integer); { 1 argument } procedure Foo (var protected: Integer); { 1 argument } procedure Foo (protected protected: Integer); { 1 argument }
Furthermore, GPC supports const
, according to BP, which is
equivalent to either protected
or protected var
, up to
the compiler's discretion.