aboutsummaryrefslogtreecommitdiff
path: root/gcc/c
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2020-08-17 11:53:45 -0400
committerDavid Malcolm <dmalcolm@redhat.com>2020-08-17 20:45:53 -0400
commit1b0be822208349b2795381deace2352e998c1ad0 (patch)
treeeee5c1a4412343e249b2df49c2720378231369d2 /gcc/c
parentdeee2322a2b36c5f03802e63895a7ce9e814969c (diff)
downloadgcc-1b0be822208349b2795381deace2352e998c1ad0.zip
gcc-1b0be822208349b2795381deace2352e998c1ad0.tar.gz
gcc-1b0be822208349b2795381deace2352e998c1ad0.tar.bz2
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.
Diffstat (limited to 'gcc/c')
0 files changed, 0 insertions, 0 deletions