Page 1 of 1

Clarification for Rule 6.1

Posted: Mon Apr 06, 2015 10:02 am
by anuj1085
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.

Re: Clarification for Rule 6.1

Posted: Thu Apr 23, 2015 8:18 am
by misra-c
A Technical Corrigendum to MISRA-C:2004 was issued in July 2007. This clarified the status of character constants, by including the sentence.
Character values/data are character constants or string literals such as 'A', '5', '\n', "a".