aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-loop-distribution.c
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2020-04-28 10:52:45 -0400
committerDavid Malcolm <dmalcolm@redhat.com>2020-04-28 13:26:22 -0400
commit5eae0ac76dcb6aac1d1d6c4edd8852e0035792e4 (patch)
treeba5b675ec69939002165d48396d71a2b871701f4 /gcc/tree-loop-distribution.c
parent0e8e1a6d97cc44d47992e40198490f780fbbfd5a (diff)
downloadgcc-5eae0ac76dcb6aac1d1d6c4edd8852e0035792e4.zip
gcc-5eae0ac76dcb6aac1d1d6c4edd8852e0035792e4.tar.gz
gcc-5eae0ac76dcb6aac1d1d6c4edd8852e0035792e4.tar.bz2
analyzer: fix ICE copying struct [PR 94816]
PR analyzer/94816 reports an ICE when attempting to copy a struct containing a field for which add_region_for_type for fails (on an OFFSET_TYPE): the region for the src field comes from make_region_for_unexpected_tree_code which gives it a NULL type, and then the copy calls add_region_for_type which unconditionally dereferences the NULL type. This patch fixes the ICE by checking for NULL types in add_region_for_type. gcc/analyzer/ChangeLog: PR analyzer/94816 * engine.cc (impl_region_model_context::on_unexpected_tree_code): Handle NULL tree. * region-model.cc (region_model::add_region_for_type): Handle NULL type. * region-model.h (test_region_model_context::on_unexpected_tree_code): Handle NULL tree. gcc/testsuite/ChangeLog: PR analyzer/94816 * g++.dg/analyzer/pr94816.C: New test.
Diffstat (limited to 'gcc/tree-loop-distribution.c')
0 files changed, 0 insertions, 0 deletions