diff --git a/addons/misra.py b/addons/misra.py index 8e73fe076..e9c48627b 100755 --- a/addons/misra.py +++ b/addons/misra.py @@ -1950,7 +1950,7 @@ class MisraChecker: if token.str.startswith('//') or token.str.startswith('/*'): continue state = 0 - if token.str != '{': + if token.str not in ('{', '#'): self.reportError(tok1, 15, 6) def misra_15_7(self, data): diff --git a/addons/test/misra/misra-test.c b/addons/test/misra/misra-test.c index d3601987d..8a7941bad 100644 --- a/addons/test/misra/misra-test.c +++ b/addons/test/misra/misra-test.c @@ -739,6 +739,14 @@ void misra_15_6() { (void)0; #endif +#if A > 0x42 + if (true) { + (void)0; + } + if (true) +#endif + { (void)0; } // no-warning + do {} while (x<0); // no-warning }