https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93774

--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by David Malcolm <dmalc...@gcc.gnu.org>:

https://gcc.gnu.org/g:a674c7b8b8028c5d7e52dd38783e8e2b02034b63

commit r10-6694-ga674c7b8b8028c5d7e52dd38783e8e2b02034b63
Author: David Malcolm <dmalc...@redhat.com>
Date:   Mon Feb 17 09:18:39 2020 -0500

    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.

Reply via email to