D.5 MAC mode

This mode is selected by the $MODE MAC switch. On the command line, this mode is selected by the -MMAC switch. It mainly switches on some extra features:

  1. Support for the $SETC directive.
  2. Support for the $IFC, $ELSEC and $ENDC directives.
  3. Support for the UNDEFINED construct in macros.
  4. Support for TRUE and FALSE as values in macro expressions.
  5. Macros may be assigned hexadecimal numbers, like $2345.
  6. The Implementation keyword can be omitted if the implementation section is empty.
  7. The cdecl modifier keyword can be abbreviated to C.
  8. UNIV modifer for types in parameter lists is accepted, but is otherwise ignored.
  9. ... (ellipsis) is allowed in procedure declarations, is functionally equal to the varargs keyword.

(Note: Macros are called ’Compiler Variables’ in Mac OS dialects.)

Currently, the following Mac OS pascal extensions are not yet supported in MAC mode: