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

An expression of type signed long long is being implicitly converted to type unsigned short. 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 short up);

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

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

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

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

See also:

QA·C Source Code Analyser 8.1.2
© 2013 Programming Research.
www.programmingresearch.com
Personality Groups | Glossary | Message Index Contents