![]() |
![]() |
4465 | ![]() |
||||
![]() | |||||||
| Arithmetic type - Assignment | |||||||
This message is issued whenever a constant expression of essentially floating type undergoes an assigning conversion to a narrower floating type. Note that the message will not be generated for a constant. For example:
/*PRQA S 1-9999 ++*/
/*PRQA S 4465 --*/
void foo (float b);
float f4465 (void)
{
float fta = 1.0 + 1.0; /* 4465 */
foo (2.0 * 3.0); /* 4465 */
fta = (1.0 / 3.0); /* 4465 */
return (1.0 + 1.0); /* 4465 */
}
For the purposes of QAC conversion messages, types are ordered according to the
configured size (-s option), by default; hence for a typical 32 bit configuration,
types int and long will be considered equivalent.
However, when the -strictrank option is specified, types will be ordered according to
their rank; consequently int will be considered narrower
than long.
MISRA C:2012 Rules applicable to message 4465:
| Rule-10.3 (Required) | The value of an expression shall not be assigned to an object with a narrower essential type or of a different essential type category. |
![]() | ||
| 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 |