aboutsummaryrefslogtreecommitdiff
path: root/gcc/range-op-float.cc
diff options
context:
space:
mode:
authorBenjamin Priour <vultkayn@gcc.gnu.org>2023-06-08 11:38:08 +0200
committerBenjamin Priour <vultkayn@gcc.gnu.org>2023-06-08 11:50:21 +0200
commit9589a46ddadc8b93c224c3f84fa94746c04596bf (patch)
tree1f30640cf3fdff7ab0aaa438808fd6a8c02d289c /gcc/range-op-float.cc
parentfcbef8e431c246c1f584537a08d58fcd5c5a1831 (diff)
downloadgcc-9589a46ddadc8b93c224c3f84fa94746c04596bf.zip
gcc-9589a46ddadc8b93c224c3f84fa94746c04596bf.tar.gz
gcc-9589a46ddadc8b93c224c3f84fa94746c04596bf.tar.bz2
analyzer: Standalone OOB-warning [PR109437, PR109439]
This patch enhances -Wanalyzer-out-of-bounds that is no longer paired with a -Wanalyzer-use-of-uninitialized-value on out-of-bounds-read. This also fixes PR analyzer/109437. Before there could always be at most one OOB-read warning per frame because -Wanalyzer-use-of-uninitialized-value always terminates the analysis path. PR 109439 gcc/analyzer/ChangeLog: * bounds-checking.cc (region_model::check_symbolic_bounds): Returns whether the BASE_REG region access was OOB. (region_model::check_region_bounds): Likewise. * region-model.cc (region_model::get_store_value): Creates an unknown svalue on OOB-read access to REG. (region_model::check_region_access): Returns whether an unknown svalue needs be created. (region_model::check_region_for_read): Passes check_region_access return value. * region-model.h: Update prior function definitions. gcc/testsuite/ChangeLog: * gcc.dg/analyzer/out-of-bounds-2.c: Cleaned test for uninitialized-value warning * gcc.dg/analyzer/out-of-bounds-5.c: Likewise. * gcc.dg/analyzer/pr101962.c: Likewise. * gcc.dg/analyzer/realloc-5.c: Likewise. * gcc.dg/analyzer/pr109439.c: New test.
Diffstat (limited to 'gcc/range-op-float.cc')
0 files changed, 0 insertions, 0 deletions