]> git.ipfire.org Git - thirdparty/gcc.git/commit
analyzer: Fix maybe_undo_optimize_bit_field_compare vs non-scalar types [PR113983]
authorAndrew Pinski <quic_apinski@quicinc.com>
Sun, 18 Feb 2024 22:14:23 +0000 (14:14 -0800)
committerAndrew Pinski <quic_apinski@quicinc.com>
Mon, 19 Feb 2024 20:40:27 +0000 (12:40 -0800)
commitd70facd54a576faca1bfba96e92e1475e0da22a3
tree9da157216199f589e097921b4ecdbfd94f9b7057
parent1609fdff16f17ead37666f6d0e801800ee3d04d2
analyzer: Fix maybe_undo_optimize_bit_field_compare vs non-scalar types [PR113983]

After r14-6419-g4eaaf7f5a378e8, maybe_undo_optimize_bit_field_compare would ICE on
vector CST but this function really should be checking if we had integer types so
reject non-integral types early on (like it was doing for non-char type before r14-6419-g4eaaf7f5a378e8).

Committed as obvious after build and tested for aarch64-linux-gnu with no regressions.

PR analyzer/113983

gcc/analyzer/ChangeLog:

* region-model-manager.cc (maybe_undo_optimize_bit_field_compare): Reject
non integral types.

gcc/testsuite/ChangeLog:

* gcc.dg/analyzer/torture/vector-extract-1.c: New test.

Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
gcc/analyzer/region-model-manager.cc
gcc/testsuite/gcc.dg/analyzer/torture/vector-extract-1.c [new file with mode: 0644]