diff options
author | David Malcolm <dmalcolm@redhat.com> | 2020-02-17 09:18:39 -0500 |
---|---|---|
committer | David Malcolm <dmalcolm@redhat.com> | 2020-02-18 08:12:06 -0500 |
commit | a674c7b8b8028c5d7e52dd38783e8e2b02034b63 (patch) | |
tree | c5aaa4e81dd37da06b6b6a74c77efa2ea63b502e /gcc/analyzer/ChangeLog | |
parent | 68f9c41d54a7839e90d10e1400c8726c8ccde88d (diff) | |
download | gcc-a674c7b8b8028c5d7e52dd38783e8e2b02034b63.zip gcc-a674c7b8b8028c5d7e52dd38783e8e2b02034b63.tar.gz gcc-a674c7b8b8028c5d7e52dd38783e8e2b02034b63.tar.bz2 |
analyzer: fix ICE on pointer arithmetic with incomplete types [PR 93774]
PR analyzer/93774 reports an ICE in gfortran with -fanalyzer within
region_model::convert_byte_offset_to_array_index on a pointer of
incomplete type ("character(kind=1)[0:][1:0] * restrict").
This patch bulletproofs the routine against incomplete types, fixing
the ICE.
gcc/analyzer/ChangeLog:
PR analyzer/93774
* region-model.cc
(region_model::convert_byte_offset_to_array_index): Use
int_size_in_bytes before calling size_in_bytes, to gracefully fail
on incomplete types.
gcc/testsuite/ChangeLog:
PR analyzer/93774
* gfortran.dg/analyzer/deferred_character_25.f90: New test,
based on gfortran.dg/deferred_character_25.f90.
Diffstat (limited to 'gcc/analyzer/ChangeLog')
-rw-r--r-- | gcc/analyzer/ChangeLog | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog index f9fd80c..9e57209 100644 --- a/gcc/analyzer/ChangeLog +++ b/gcc/analyzer/ChangeLog @@ -1,3 +1,11 @@ +2020-02-18 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/93774 + * region-model.cc + (region_model::convert_byte_offset_to_array_index): Use + int_size_in_bytes before calling size_in_bytes, to gracefully fail + on incomplete types. + 2020-02-17 David Malcolm <dmalcolm@redhat.com> PR analyzer/93775 |