]> gcc.gnu.org Git - gcc.git/commit
analyzer: fix -Wanalyzer-deref-before-check false positive seen in loop header macro...
authorDavid Malcolm <dmalcolm@redhat.com>
Thu, 9 May 2024 17:09:31 +0000 (13:09 -0400)
committerDavid Malcolm <dmalcolm@redhat.com>
Thu, 9 May 2024 17:09:31 +0000 (13:09 -0400)
commited026106ce420c7d9dd4d89caac017b6f235e219
tree911b116bcb6d10448f2ec27df98c1f2662974047
parent67d104f3a032ee64bae335269bf1b8434785cc63
analyzer: fix -Wanalyzer-deref-before-check false positive seen in loop header macro [PR109251]

Backported from commit r14-9586-g9093f275e0a343 (moving tests from
c-c++-common to gcc.dg)

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
* gcc.dg/analyzer/deref-before-check-pr109251-1.c: New test.
* gcc.dg/analyzer/deref-before-check-pr109251-2.c: New test.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
gcc/analyzer/sm-malloc.cc
gcc/testsuite/gcc.dg/analyzer/deref-before-check-pr109251-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/analyzer/deref-before-check-pr109251-2.c [new file with mode: 0644]
This page took 0.070444 seconds and 6 git commands to generate.