summaryrefslogtreecommitdiff
path: root/gcc/analyzer/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/analyzer/ChangeLog')
-rw-r--r--gcc/analyzer/ChangeLog74
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