diff options
author | David Malcolm <dmalcolm@redhat.com> | 2022-07-22 19:50:37 -0400 |
---|---|---|
committer | David Malcolm <dmalcolm@redhat.com> | 2022-07-22 19:50:37 -0400 |
commit | 0fb35a45a28c674d5d420528f7dec629e42b4850 (patch) | |
tree | f72547b24c813a08a199987cd9250a90486abee8 /gcc | |
parent | f77bbc8f86900b21abdec457b4153b30512e192d (diff) | |
download | gcc-0fb35a45a28c674d5d420528f7dec629e42b4850.zip gcc-0fb35a45a28c674d5d420528f7dec629e42b4850.tar.gz gcc-0fb35a45a28c674d5d420528f7dec629e42b4850.tar.bz2 |
analyzer: fix ICE in binding_cluster ctor [PR106401]
gcc/analyzer/ChangeLog:
PR analyzer/106401
* store.cc (binding_cluster::binding_cluster): Remove overzealous
assertion; we're checking for tracked_p in
store::get_or_create_cluster.
gcc/testsuite/ChangeLog:
PR analyzer/106401
* gcc.dg/analyzer/memcpy-2.c: New test.
Signed-off-by: David Malcolm <dmalcolm@redhat.com>
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/analyzer/store.cc | 1 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/analyzer/memcpy-2.c | 8 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/analyzer/store.cc b/gcc/analyzer/store.cc index e3dabf3..0b3fb37 100644 --- a/gcc/analyzer/store.cc +++ b/gcc/analyzer/store.cc @@ -1107,7 +1107,6 @@ binding_cluster::binding_cluster (const region *base_region) : m_base_region (base_region), m_map (), m_escaped (false), m_touched (false) { - gcc_assert (base_region->tracked_p ()); } /* binding_cluster's copy ctor. */ diff --git a/gcc/testsuite/gcc.dg/analyzer/memcpy-2.c b/gcc/testsuite/gcc.dg/analyzer/memcpy-2.c new file mode 100644 index 0000000..88ec84c --- /dev/null +++ b/gcc/testsuite/gcc.dg/analyzer/memcpy-2.c @@ -0,0 +1,8 @@ +/* { dg-additional-options "-Wno-stringop-overflow" } */ + +void +main (int c, void *v) +{ + static char a[] = ""; + __builtin_memcpy (v, a, -1); +} |