[previous] 4010 [next] double value returned from char %s().
Arithmetic type - Implicit conversions

An expression of type double is the return expression in a function that returns a value of type plain char. Any implicit conversion from a doubleing type to an integral type may result in a loss of precision as the fractional element of the value is discarded. If the integral element of the value cannot be represented, the result will be meaningless.

However converting a doubleing type to a plain char type is even more suspect. Is this really intended ? Type char should be reserved for character data.

For example:


/*PRQA S 2017,3408,3447,3602,3625 ++*/

extern double v;

extern char foo ( void )
{
    /* ... */
    return(v);                          /* Message 4010 */
}


No MISRA C:2012 Rules applicable to message 4010


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