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

An expression of type unsigned short is being implicitly converted to type signed long 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 ++*/
/****************************
 * OPTIONS: -ex LONGLONG
 ****************************/

extern void ef(signed long long f);

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

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

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

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


No MISRA C:2012 Rules applicable to message 4040


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