diff options
author | benjamin priour <priour.be@gmail.com> | 2023-06-22 21:39:05 +0200 |
---|---|---|
committer | benjamin priour <vultkayn@gcc.gnu.org> | 2023-06-30 01:32:47 +0200 |
commit | 1eb90f46c16453f72dc119ba20b07053a15b452d (patch) | |
tree | b1448d54724083dc2a03768d950279edffcc331d /gcc/tree-vect-patterns.cc | |
parent | 9dc18fca431626404b0692c689a2e103666e7adb (diff) | |
download | gcc-1eb90f46c16453f72dc119ba20b07053a15b452d.zip gcc-1eb90f46c16453f72dc119ba20b07053a15b452d.tar.gz gcc-1eb90f46c16453f72dc119ba20b07053a15b452d.tar.bz2 |
analyzer: Fix regression bug after r14-1632-g9589a46ddadc8b [PR110198]
g++.dg/analyzer/PR100244.C was failing after a patch of PR109439.
The reason was a spurious preemptive return of get_store_value upon
out-of-bounds read that was preventing further checks. Now instead,
a boolean value check_poisoned goes to false when a OOB is detected,
and is later on given to get_or_create_initial_value.
gcc/analyzer/ChangeLog:
PR analyzer/110198
* region-model-manager.cc
(region_model_manager::get_or_create_initial_value): Take an
optional boolean value to bypass poisoning checks
* region-model-manager.h: Update declaration of the above function.
* region-model.cc (region_model::get_store_value): No longer returns
on OOB, but rather gives a boolean to get_or_create_initial_value.
(region_model::check_region_access): Update docstring.
(region_model::check_region_for_write): Update docstring.
Signed-off-by: benjamin priour <priour.be@gmail.com>
Diffstat (limited to 'gcc/tree-vect-patterns.cc')
0 files changed, 0 insertions, 0 deletions