|ARM Technical Support Knowledge Articles|
Applies to: RealView C Compiler
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);
Article last edited on: 2010-03-23 09:05:26
Did you find this article helpful? Yes No
How can we improve this article?