]> git.ipfire.org Git - thirdparty/gcc.git/commit
analyzer: fix overeager sharing of bounded_range instances [PR102662]
authorDavid Malcolm <dmalcolm@redhat.com>
Mon, 15 Nov 2021 21:12:37 +0000 (16:12 -0500)
committerDavid Malcolm <dmalcolm@redhat.com>
Tue, 16 Nov 2021 15:23:04 +0000 (10:23 -0500)
commite1c0c908f85816240b685a5be4f0e5a0e6634979
treeeed86c6c8fdd09e16f34f7e87bb0e35573d33f88
parent132f1c27770fa6dafdf14591878d301aedd5ae16
analyzer: fix overeager sharing of bounded_range instances [PR102662]

This was leading to an assertion failure ICE on a switch stmt when using
-fstrict-enums, due to erroneously reusing a range involving one enum
with a range involving a different enum.

gcc/analyzer/ChangeLog:
PR analyzer/102662
* constraint-manager.cc (bounded_range::operator==): Require the
types to be the same for equality.

gcc/testsuite/ChangeLog:
PR analyzer/102662
* g++.dg/analyzer/pr102662.C: New test.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
gcc/analyzer/constraint-manager.cc
gcc/testsuite/g++.dg/analyzer/pr102662.C [new file with mode: 0644]