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

An expression of type signed long is being implicitly converted to type unsigned long long. A conversion of this type is dangerous; the result of converting any negative value will probably be meaningless.

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(unsigned long long up);

extern unsigned long long foo(signed long s)
{
    unsigned long long u = s;   /* Message 3847 - Initialization */

    u = s;                      /* Message 3847 - Assignment */

    ef(s);                      /* Message 3847 - Function argument */

    return s;                   /* Message 4047 - Function return */
}


No MISRA C:2012 Rules applicable to message 4047


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