[previous] 3616 [next] Character constants may have different values in preprocessor arithmetic than in actual code.
Preprocessing

The numeric value of a character constant is being used in a preprocessing directive.

The value of a character constant is always implementation-defined. Be aware that in a cross-development environment, it is possible that the value of the constant used in preprocessing may differ from the value in the target environment.

For example:


/*PRQA S 3211,3408,3625 ++*/

#define KEY '0'

#if KEY == 0x30u                          /* Message 3616 */

char x = KEY;

#else

char y = KEY;

#endif

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