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);