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

--- Comment #2 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:1b0be822208349b2795381deace2352e998c1ad0

commit r11-2728-g1b0be822208349b2795381deace2352e998c1ad0
Author: David Malcolm <dmalc...@redhat.com>
Date:   Mon Aug 17 11:53:45 2020 -0400

    analyzer: fix ICE on unhandled tree codes in gassign [PR96640]

    PR analyzer/96640 reports a ICE within region_model::on_assignment when
    failing to handle a WIDEN_MULT_EVEN_EXPR, and various other tree codes.

    The old implementation of region_model::on_assignment gracefully handled
    tree codes it didn't understand, returning "UNKNOWN", whereas the new
    implementation (r11-2694-g808f4dfeb3a95f50f15e71148e5c1067f90a126d) had
    a "sorry_at" and an assertion left over from development, leading to ICEs.

    This patch restores the old behavior for these cases, and marks various
    vector operations as leading to unknown results.

    gcc/analyzer/ChangeLog:
            PR analyzer/96640
            * region-model.cc (region_model::get_gassign_result): Handle
various
            VEC_* tree codes by returning UNKNOWN.
            (region_model::on_assignment): Handle unrecognized tree codes by
            setting lhs to an unknown value, rather than issuing a "sorry" and
            asserting.

Reply via email to