Hi,
I would like to ask for an advice from clang developers about suppressing warnings from the static analyzer.
I am calling the analyzer directly from clang c++ compiler, with clang++ --analyze
. I am compiling a unit-test project that is using Google’s Gmock. I am getting a well known and described false positive:
https://github.com/google/googletest/issues/853
https://stackoverflow.com/questions/39527160/clang-tidy-how-to-suppress-warnings/39544324#39544324
https://bugs.llvm.org/show_bug.cgi?id=28053
So, I am trying to manually disable it by putting // NOLINT
in gmocks code. As a result, I still get the analyzer warning:
gtest/googlemock/include/gmock/gmock-spec-builders.h:1274:5: warning: Use of memory after it is freed
return function_mocker_->AddNewExpectation( // NOLINT
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
which I find quite surprising, because even in the warning message I get the text // NOLINT
but the bug is still not disabled.
Maybe someone could help me figure out what is going on. Can you not suppress warnings when running analyzer directly from clang c++ compiler? Or is there a different way for suppressing the analyzer warnings?
Thanks,
&rzej;