analyzer: don't call binding_key::make on empty regions [PR108065]
authorDavid Malcolm <dmalcolm@redhat.com>
Wed, 14 Dec 2022 21:03:30 +0000 (16:03 -0500)
committerDavid Malcolm <dmalcolm@redhat.com>
Wed, 14 Dec 2022 21:03:30 +0000 (16:03 -0500)
commit41faa1d7beb90b235858c8a692be926642ad5559
tree35b04523e042c0855bde19207794f054c28e1a31
parent70b303049e45c180236a4114f844311652bad002
analyzer: don't call binding_key::make on empty regions [PR108065]

gcc/analyzer/ChangeLog:
PR analyzer/108065
* region.cc (decl_region::get_svalue_for_initializer): Bail out to
avoid calling binding_key::make with an empty region.
* store.cc (binding_map::apply_ctor_val_to_range): Likewise.
(binding_map::apply_ctor_pair_to_child_region): Likewise.
(binding_cluster::bind): Likewise.
(binding_cluster::purge_region): Likewise.
(binding_cluster::maybe_get_compound_binding): Likewise.
(binding_cluster::maybe_get_simple_value): Likewise.

gcc/testsuite/ChangeLog:
PR analyzer/108065
* gfortran.dg/analyzer/pr108065.f90: New test.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
gcc/analyzer/region.cc
gcc/analyzer/store.cc
gcc/testsuite/gfortran.dg/analyzer/pr108065.f90 [new file with mode: 0644]