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

An expression of type unsigned long long is being implicitly converted to type signed char. A conversion of this type is dangerous because the value may not be representable in this signed type.

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 char f);

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

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

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

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

See also:

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