Node: Special Parameters, Next: Miscellaneous, Previous: Built-in Procedures and Functions, Up: Borland Pascal

### Special Parameters

- Untyped reference parameters can be denoted by

                procedure Foo (var x);

  like in Borland Pascal. In GNU Pascal, you can also use

                procedure Foo (var x: Void);

- GNU Pascal defines ellipsis parameters for variable argument lists:

                procedure Foo (a: Integer; ...);

  However, GPC does not (yet) provide a portable mechanism to access the additional arguments.

- Structured function result types: According to Extended Pascal, GNU Pascal allows functions to return records and arrays.
- BP style open array parameters

                procedure Foo (a: array of Integer);

  are implemented. However, Standard Pascal `conformant array parameters` are usually a cleaner mechanism to pass arrays of variable size.
- Besides BP compatible procedural types and procedure pointers (see BP Procedural Types), GNU Pascal supports Standard Pascal's procedural parameters:

                procedure DrawGraph (function f (x: Real): Real);