Intel® C++ Compiler 16.0 User and Reference Guide
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.