]> granicus.if.org Git - clang/commit
[analyzer] Add a checker option to detect nested dead stores
authorKristof Umann <kristof.umann@ericsson.com>
Tue, 3 Sep 2019 15:22:43 +0000 (15:22 +0000)
committerKristof Umann <kristof.umann@ericsson.com>
Tue, 3 Sep 2019 15:22:43 +0000 (15:22 +0000)
commitcfb041434e33a16d7ba0ba4576194a7d42b2f3f8
tree05d02c1eabecf0df731d8b6f230b347265f530fe
parentc5183658b794a017ec1451e84bc701ef46208abe
[analyzer] Add a checker option to detect nested dead stores

Enables the users to specify an optional flag which would warn for more dead
stores.
Previously it ignored if the dead store happened e.g. in an if condition.

if ((X = generate())) { // dead store to X
}

This patch introduces the `WarnForDeadNestedAssignments` option to the checker,
which is `false` by default - so this change would not affect any previous
users.
I have updated the code, tests and the docs as well. If I missed something, tell
me.

I also ran the analysis on Clang which generated 14 more reports compared to the
unmodified version. All of them seemed reasonable for me.

Related previous patches:
rGf224820b45c6847b91071da8d7ade59f373b96f3

Reviewers: NoQ, krememek, Szelethus, baloghadamsoftware

Reviewed By: Szelethus

Patch by Balázs Benics!

Differential Revision: https://reviews.llvm.org/D66733

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@370767 91177308-0d34-0410-b5e6-96231b3b80d8
docs/analyzer/checkers.rst
include/clang/StaticAnalyzer/Checkers/Checkers.td
lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp
test/Analysis/analyzer-config.c
test/Analysis/dead-stores.c
test/Analysis/dead-stores.cpp
test/Analysis/dead-stores.m