G++ enums 'underlying type'
Paolo Carlini
pcarlini@suse.de
Sun Dec 26 00:45:00 GMT 2004
Paul Schlie wrote:
>To my understanding, C enums need only be represented as the smallest rank
>signed or unsigned integer type capable of representing it's value range
>(although GCC tends to first unnecessarily promote enums to int, which I
>believe is officially the largest enum equivalent type, and then back them
>down opportunistically; keeping their converted form as small as possible is
>significant to small machine targets, so they should not be unnecessarily
>represented as being any larger than necessary, just as bool/char/short
>types should not be needlessly promoted).
>
>
Ok, thanks, makes sense. Didn't know about the "back them down
oppurtinistically"
thing, which indeed is allowed by the standard and useful. For now, I
will just keep
the code as-is, catching any possible integral type.
Paolo.
More information about the Gcc
mailing list