[cfe-dev] Help in suppressing warnings from static analyzer

Andrzej Krzemienski via cfe-dev cfe-dev at lists.llvm.org
Tue Sep 5 00:03:48 PDT 2017


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;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20170905/5f50ac20/attachment.html>


More information about the cfe-dev mailing list