rettichschnidi/clang-misracpp2008

3-4-1: False positives, totally broken

Closed this issue · 0 comments

This should certainly not cause a violation report:

int squareNatural(int value) 
  int square = value * value;
  return square;
}

Output:

schneider@tardis-ci:/data/schneider/clang_build> /data/schneider/clang_build/./bin/clang -fsyntax-only "-Xclang" "-load" "-Xclang" "/data/schneider/clang_build/./lib/misracpp2008.so" "-Xclang" "-plugin" "-Xclang" "misra.cpp.2008" "-Xclang" "-plugin-arg-misra.cpp.2008" "-Xclang" "3-4-1" "/data/schneider/llvm/tools/clang/tools/clang-misracpp2008/test/3-4-1.cpp"
Registered checks: 10-3-2, 10-3-3, 11-0-1, 12-8-2, 16-3-1, 16-3-2, 17-0-1, 17-0-5, 18-0-1, 18-0-2, 18-0-3, 18-0-4, 18-0-5, 18-2-1, 18-4-1, 18-7-1, 19-3-1, 2-10-1, 2-10-2, 2-13-3, 2-13-4, 2-13-5, 27-0-1, 3-3-1, 3-3-2, 3-4-1, 3-9-2, 4-10-2, 4-5-1, 4-5-2, 4-5-3, 5-14-1, 5-18-1, 5-8-1, 6-2-1, 6-2-2, 6-2-3, 6-3-1, 6-4-1, 6-4-2, 9-5-1
Active checks: 3-4-1
/data/schneider/llvm/tools/clang/tools/clang-misracpp2008/test/3-4-1.cpp:4:7: error: An identifier declared to be an object or type shall be defined in a block that minimizes its visibility. (MISRA C++ 2008 rule 3-4-1)
  int square = value * value;
      ^
1 error generated.