EPILOG (C only)

Category

Object code control

Pragma equivalent

#pragma epilog (C only)

Purpose

Enables you to provide your own function exit code for all functions that have extern scope, or for all extern and static functions.

Syntax

Read syntax diagramSkip visual syntax diagram
>>-EPILOG--(--+-"text-string"-------------------+--)-----------><
              '-+-EXTERN-+--(--"text-string"--)-'      
                '-ALL----'                             

Defaults

The compiler generates default epilog code for the functions that do not have user-supplied epilog code.

Parameters

text-string

text-string is a C string, which must contain valid HLASM statements.

If the text-string consists of white-space characters only or if the text-string is not provided, then the compiler ignores the option specification. If the text-string does not contain any white-space characters, then the compiler will insert leading spaces in front. Otherwise, the compiler will insert the text-string into the function epilog location of the generated assembler source. The compiler does not understand or validate the contents of the text-string. In order to satisfy the assembly step later, the given text-string must form valid HLASM code with the surrounding code generated by the compiler.

Note: Special characters like newline and quote are shell (or command line) meta characters, and maybe preprocessed before reaching the compiler. It is advisable to avoid using them. The intended use of this option is to specify an assembler macro as the function epilog.

For more information on valid HLASM statements, see #pragma epilog.

EXTERN
If the EPILOG option is specified with this suboption or without any suboption, the epilog applies to all functions that have external linkage in the compilation unit.
ALL
If the EPILOG option is specified with this suboption, the epilog also applies to static functions defined in the compilation unit.

Usage

For more information on METAL C default epilog code, see z/OS Metal C Programming Guide and Reference.

Notes:
  1. The EPILOG option is only valid when the METAL option is specified.
  2. When the EPILOG option is specified multiple times with the same suboption all or extern, only the function entry code of the last suboption specified will be displayed.
  3. The EPILOG option with the suboption all overwrites the one with extern suboption, or the one without any suboption.

IPA effects

See section Building Metal C programs with IPA in z/OS Metal C Programming Guide and Reference.

Predefined macros

None.

Related information

For more information on the METAL compiler option, see METAL | NOMETAL (C only).

See PROLOG (C only) for information on providing function entry code for system development.