![]() |
![]() |
4463 | ![]() |
||||
![]() | |||||||
| Arithmetic type - Assignment | |||||||
This message is issued whenever a constant expression of essentially signed type undergoes an assigning conversion to a narrower signed integer type. Note that the message will not be generated for a constant. For example:
/*PRQA S 1-9999 ++*/
/*PRQA S 4463 --*/
void foo (signed char b);
signed char f4463 (void)
{
signed char sca = (127 + 1); /* 4463 */
foo (127 + 1); /* 4463 */
sca = (64 * 2); /* 4463 */
return (256 / 2); /* 4463 */
}
For the purposes of QA·C 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.
![]() | ||
| QA·C Source Code Analyser 8.1.2
© 2013 Programming Research. www.programmingresearch.com | Personality Groups | Glossary | Message Index | Contents |