Check, after adding a key to a hash set, that the entry does not look
empty.
Regstrapped on x86_64-linux-gnu. Ok to install?
for gcc/ChangeLog
* hash-set.h (add): Check that the inserted entry does not
look empty.
---
gcc/hash-set.h | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/gcc/hash-set.h b/gcc/hash-set.h
index 76fa7f394561e..a98121a060eed 100644
--- a/gcc/hash-set.h
+++ b/gcc/hash-set.h
@@ -58,7 +58,11 @@ public:
Key *e = m_table.find_slot_with_hash (k, Traits::hash (k), INSERT);
bool existed = !Traits::is_empty (*e);
if (!existed)
- new (e) Key (k);
+ {
+ new (e) Key (k);
+ // Catch attempts to insert e.g. a NULL pointer.
+ gcc_checking_assert (!Traits::is_empty (*e));
+ }
return existed;
}
--
Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/
Free Software Activist GNU Toolchain Engineer
Disinformation flourishes because many people care deeply about injustice
but very few check the facts. Ask me about <https://stallmansupport.org>