aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2022-07-22 19:50:37 -0400
committerDavid Malcolm <dmalcolm@redhat.com>2022-07-22 19:50:37 -0400
commit0fb35a45a28c674d5d420528f7dec629e42b4850 (patch)
treef72547b24c813a08a199987cd9250a90486abee8 /gcc
parentf77bbc8f86900b21abdec457b4153b30512e192d (diff)
downloadgcc-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.cc1
-rw-r--r--gcc/testsuite/gcc.dg/analyzer/memcpy-2.c8
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);
+}