analyzer: fix ICE on vector comparisons [PR96713]
authorDavid Malcolm <dmalcolm@redhat.com>
Wed, 19 Aug 2020 21:36:53 +0000 (17:36 -0400)
committerDavid Malcolm <dmalcolm@redhat.com>
Thu, 20 Aug 2020 01:18:30 +0000 (21:18 -0400)
commit2f5951bd95e334d611f4be7bbe1a136c580f9c20
treed8b4686beed979d3f49d0f6bc2ae610d53198b16
parent04e23a4051fb3c049f85b9e6e2fc58f937337aff
analyzer: fix ICE on vector comparisons [PR96713]

gcc/analyzer/ChangeLog:
PR analyzer/96713
* region-model.cc (region_model::get_gassign_result): For
comparisons, only use eval_condition when the lhs has boolean
type, and use get_or_create_constant_svalue on the boolean
constants directly rather than via get_rvalue.

gcc/testsuite/ChangeLog:
PR analyzer/96713
* gcc.dg/analyzer/pr96713.c: New test.
gcc/analyzer/region-model.cc
gcc/testsuite/gcc.dg/analyzer/pr96713.c [new file with mode: 0644]