[previous] 2855 [next] Constant: Casting to a signed integer type of insufficient size.
Conversion to signed

A constant expression is being cast to a signed type which is not large enough to represent the value. The results of this operation will be implementation-defined.

For example:


/*PRQA S 274,2017,2984,2982,2983,2986,3120,3203,3211,3408,3602 ++*/

extern void foo(void)
{
    signed char sca;

    sca = (signed char)127;              /*      */
    sca = (signed char)130;              /* 2855 */
    sca = (signed char)(-127);           /*      */
    sca = (signed char)(-130);           /* 2855 */
}


MISRA C:2012 Rules applicable to message 2855:

Dir-1.1  (Required) Any implementation-defined behaviour on which the output of the program depends shall be documented and understood


See also:

QA·C Source Code Analyser 8.1
MISRA C:2012 Compliance Module 1.0
© 2012 Programming Research.
www.programmingresearch.com
Personality Groups | Glossary | Message Index | MISRA C:2012 Rule Index Contents