[previous] 3950 [next] unsigned short value returned from long %s().
Arithmetic type - Implicit conversions

An expression of type unsigned short is being implicitly converted to type signed long. This is not dangerous unless the two types happen to be implemented in the same number of bits. Implicit type conversions from an unsigned type to a signed type are not recommended.

Implicit type conversions of this nature can occur in the context of:


/*PRQA S 2017,3197,3199,3203,3227,3408,3447,3602,3625 ++*/

extern void ef(signed long f);

extern signed long foo(unsigned short n)
{
    signed long f = n;          /* Message 3750 - Initialization */

    f = n;                      /* Message 3750 - Assignment */

    ef(n);                      /* Message 3750 - Function argument */

    return n;                   /* Message 3950 - Function return */
}


No MISRA C:2012 Rules applicable to message 3950


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