From e5286c61d5fa9df40f066500d4883998322586e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Fri, 14 Apr 2017 13:23:53 +0200 Subject: [PATCH] Misra: Added rule 16.7 --- addons/misra-test.c | 9 ++++++++- addons/misra.py | 6 ++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/addons/misra-test.c b/addons/misra-test.c index 7d828580d..4a5692ff2 100644 --- a/addons/misra-test.c +++ b/addons/misra-test.c @@ -164,4 +164,11 @@ void misra_16_6() { } } - +void misra_16_7() { + switch (x != 123) { // 16.7 + case 1: + break; + default: + break; + } +} diff --git a/addons/misra.py b/addons/misra.py index e3d240bbf..9095b186e 100644 --- a/addons/misra.py +++ b/addons/misra.py @@ -492,6 +492,11 @@ def misra_16_6(data): if count < 2: reportError(token, 16, 6) +def misra_16_7(data): + for token in data.tokenlist: + if simpleMatch(token, 'switch (') and isBoolExpression(token.next.astOperand2): + reportError(token, 16, 7) + if '-verify' in sys.argv[1:]: VERIFY = True @@ -550,6 +555,7 @@ for arg in sys.argv[1:]: misra_16_4(cfg) misra_16_5(cfg) misra_16_6(cfg) + misra_16_7(cfg) if VERIFY: for expected in VERIFY_EXPECTED: