diff options
Diffstat (limited to 'gcc/analyzer/ChangeLog')
-rw-r--r-- | gcc/analyzer/ChangeLog | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog index 123e8cbd554..9ab6169da21 100644 --- a/gcc/analyzer/ChangeLog +++ b/gcc/analyzer/ChangeLog @@ -1,3 +1,77 @@ +2022-04-25 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/105365 + PR analyzer/105366 + * svalue.cc + (cmp_cst): Rename to... + (cmp_csts_same_type): ...this. Convert all recursive calls to + calls to... + (cmp_csts_and_types): ....this new function. + (svalue::cmp_ptr): Update for renaming of cmp_cst + +2022-04-14 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/105264 + * region-model-reachability.cc (reachable_regions::handle_parm): + Use maybe_get_deref_base_region rather than just region_svalue, to + handle pointer arithmetic also. + * svalue.cc (svalue::maybe_get_deref_base_region): New. + * svalue.h (svalue::maybe_get_deref_base_region): New decl. + +2022-04-14 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/105252 + * svalue.cc (cmp_cst): When comparing VECTOR_CSTs, compare the + types of the encoded elements before calling cmp_cst on them. + +2022-04-09 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/103892 + * region-model-manager.cc + (region_model_manager::get_unknown_symbolic_region): New, + extracted from... + (region_model_manager::get_field_region): ...here. + (region_model_manager::get_element_region): Use it here. + (region_model_manager::get_offset_region): Likewise. + (region_model_manager::get_sized_region): Likewise. + (region_model_manager::get_cast_region): Likewise. + (region_model_manager::get_bit_range): Likewise. + * region-model.h + (region_model_manager::get_unknown_symbolic_region): New decl. + * region.cc (symbolic_region::symbolic_region): Handle sval_ptr + having NULL type. + (symbolic_region::dump_to_pp): Handle having NULL type. + +2022-04-07 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/102208 + * store.cc (binding_map::remove_overlapping_bindings): Add + "always_overlap" param, using it to generalize to the case where + we want to remove all bindings. Update "uncertainty" logic to + only record maybe-bound values for cases where there is a symbolic + write involved. + (binding_cluster::mark_region_as_unknown): Split param "reg" into + "reg_to_bind" and "reg_for_overlap". + (binding_cluster::maybe_get_compound_binding): Pass "false" to + binding_map::remove_overlapping_bindings new "always_overlap" param. + (binding_cluster::remove_overlapping_bindings): Determine + "always_overlap" and pass it to + binding_map::remove_overlapping_bindings. + (store::set_value): Pass uncertainty to remove_overlapping_bindings + call. Update for new param of + binding_cluster::mark_region_as_unknown, passing both the base + region of the iter_cluster, and the lhs_reg. + (store::mark_region_as_unknown): Update for new param of + binding_cluster::mark_region_as_unknown, passing "reg" for both. + (store::remove_overlapping_bindings): Add param "uncertainty", and + pass it on to call to + binding_cluster::remove_overlapping_bindings. + * store.h (binding_map::remove_overlapping_bindings): Add + "always_overlap" param. + (binding_cluster::mark_region_as_unknown): Split param "reg" into + "reg_to_bind" and "reg_for_overlap". + (store::remove_overlapping_bindings): Add param "uncertainty". + 2022-03-29 David Malcolm <dmalcolm@redhat.com> PR testsuite/105085 |