MISRA Discussion Forums

Full Version: Clarification for Rule 6.1
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
The rule says that the plain char should only be used to store character values.

C standards says single character constant for eg. 'X' are int not char. So the following code:

char x = 'A';

is a violation of the rule as in this char x is storing a constant whose type is "int". If this is not the violation then how to interpret this rule as the all single character constants are int according to "c" standards.
A Technical Corrigendum to MISRA-C:2004 was issued in July 2007. This clarified the status of character constants, by including the sentence.
Quote: Character values/data are character constants or string literals such as 'A', '5', '\n', "a".