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

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

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

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

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

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

See also:

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