Developer Guide and Reference

Contents

Enum Bit-Field Signedness

The Intel® C++ Compiler and the Microsoft* Visual C++* compiler differ in how they attribute signedness to bit fields declared with an
enum
type. Microsoft* Visual C++* always considers
enum
bit fields to be signed, even if not all values of the
enum
type can be represented by the bit field.
The Intel® C++ Compiler considers an
enum
bit field to be unsigned, unless the
enum
type has at least one
enum
constant with a negative value. In any case, the Intel® C++ Compiler produces a warning if the bit field is declared with too few bits to represent all the values of the
enum
type.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804