From bd6f236481460e93c816dfb9fe62a4c3d42eff2a Mon Sep 17 00:00:00 2001 From: Georgy Komarov Date: Sat, 30 Nov 2019 12:05:57 +0300 Subject: [PATCH] misra.py: Fix 5.3 FP (#2405) * misra.py: Fix 5.3 FP This will close https://trac.cppcheck.net/ticket/9497 * fix names conflict * fix naming --- addons/misra.py | 2 -- addons/test/misra/misra-test.c | 10 ++++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/addons/misra.py b/addons/misra.py index f6e952a8a..803d1d5d2 100755 --- a/addons/misra.py +++ b/addons/misra.py @@ -921,8 +921,6 @@ class MisraChecker: continue if int(innerVar.nameToken.linenr) > int(outerVar.nameToken.linenr): self.reportError(innerVar.nameToken, 5, 3) - else: - self.reportError(outerVar.nameToken, 5, 3) outerScope = outerScope.nestedIn for scope in data.scopes: if scope.className and innerVar.nameToken.str[:num_sign_chars] == scope.className[:num_sign_chars]: diff --git a/addons/test/misra/misra-test.c b/addons/test/misra/misra-test.c index 50c835e48..bd6775533 100644 --- a/addons/test/misra/misra-test.c +++ b/addons/test/misra/misra-test.c @@ -165,6 +165,16 @@ void misra_5_3_func1(void) } } void misra_5_3_enum_hidesfunction_31y(void) {} //5.3 +extern bar_5_3(int i); +void f_5_3( void ) +{ + { + int i; + i = 42; + bar_5_3(i); + } + int i; // no warning +} #define misra_5_4_macro_hides_macro__31x 1