Pragma Keep_Names (GNAT Reference Manual)

### 2.97 Pragma Keep_Names ¶

Syntax:

    pragma Keep_Names ([On =>] enumeration_first_subtype_LOCAL_NAME);

The `LOCAL_NAME` argument must refer to an enumeration first subtype in the current declarative part. The effect is to retain the enumeration literal names for use by `Image` and `Value` even if a global `Discard_Names` pragma applies. This is useful when you want to generally suppress enumeration literal names and for example you therefore use a `Discard_Names` pragma in the `gnat.adc` file, but you want to retain the names for specific enumeration types.