#pragma enum

Description

The #pragma enum directive specifies the size of enum variables that follow. The size at the left brace of a declaration is the one that affects that declaration, regardless of whether further enum directives occur within the declaration. This pragma pushes a value on a stack each time it is used, with a reset option available to return to the previously pushed value.

Syntax

#pragma [options] enum ( (small | int | 1 | 2 | 4 | reset | pop) )
#pragma [options] enum = ( (small | int | 1 | 2 | 4 | reset | pop) )

where option can be substituted with one of the following:

Options  
small enum size is the smallest integral type that can contain all variables.
int enum size is 4
1 enum size is 1
2 enum size is 2
4 enum size is 4
pop the option will reset the enum size to the previously set enum size.
reset the option is an alternative method of resetting the enum size to the previous set enum size. This option is provided for backwards compatibility.

Example:

#pragma enum(1)
#pragma enum(2)
#pragma enum(4)
#pragma enum(pop)  	/* will reset enum size to 2 */
#pragma enum(reset)	/* will reset enum size to 1 */