ARMCC: WARNING #61-D: INTEGER OPERATION RESULT IS OUT OF RANGE
Information in this article applies to:
I have written the following code:
unsigned int i; i = (u32)(3<<30);
However this generates a warning:
warning: #61-D: integer operation result is out of range
Can I avoid this warning somehow?
The compiler overflow warning is correct, because the expression 3<<30 represents a signed int. To avoid the warning, explicitly define the constant 3 as an unsigned value using the U postfix. For example:
unsigned int i; i = (u32)(3U<<30);
The following Discussion Forum threads may provide information related to this topic.
Last Reviewed: Tuesday, March 23, 2010
of your data.