]> git.ipfire.org Git - thirdparty/gcc.git/commit
analyzer: fix -Wanalyzer-deref-before-check false positive seen in loop header macro...
authorDavid Malcolm <dmalcolm@redhat.com>
Wed, 20 Mar 2024 22:33:11 +0000 (18:33 -0400)
committerDavid Malcolm <dmalcolm@redhat.com>
Wed, 20 Mar 2024 22:33:11 +0000 (18:33 -0400)
commit9093f275e0a3430e4517e782e7f5419d403113f7
treec3811ae2a97d4dcf5f05877bebebb91cc650393c
parentf10c18df9c02dc518360426c021971838e0012d2
analyzer: fix -Wanalyzer-deref-before-check false positive seen in loop header macro [PR109251]

gcc/analyzer/ChangeLog:
PR analyzer/109251
* sm-malloc.cc (deref_before_check::emit): Reject cases where the
check is in a loop header within a macro expansion.
(deref_before_check::loop_header_p): New.

gcc/testsuite/ChangeLog:
PR analyzer/109251
* c-c++-common/analyzer/deref-before-check-pr109251-1.c: New test.
* c-c++-common/analyzer/deref-before-check-pr109251-2.c: New test.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
gcc/analyzer/sm-malloc.cc
gcc/testsuite/c-c++-common/analyzer/deref-before-check-pr109251-1.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/analyzer/deref-before-check-pr109251-2.c [new file with mode: 0644]