MISRA Discussion Forums

Full Version: rule 13.2: are const volatile variables volatile or not?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi,

Quick question about rule 13.2:
the following variable:

const volatile uint8_t myvar = 0;

should it be considered as volatile or non-volatile in the context of rule 13.2 ?

thank you.
The above initialization is compliant with rule 13.2, but it is assumed that the question refers to the use of "myvar" in other expressions.

"myvar" should then be considered as having a volatile-qualified type. For example:
Code:
const volatile uint8_t myvar = 0;
  volatile uint8_t var2 = 0;
  uint8_t x = 3;
  uint8_t y;
  
  y = var2 + x;      // compliant - one read access of volatile-qualifed type.
  y = var2 + myvar;  // non-compliant - more than one read access of volatile-qualified type.