From 231c393a170ce3c6d83e8456bc87fe917c333ecf Mon Sep 17 00:00:00 2001 From: Abseil Team Date: Tue, 15 Mar 2022 11:12:25 -0700 Subject: Export of internal Abseil changes -- 5dc885f2b62993bccf33a3f3b99f7e460c819c89 by Derek Mauro : Remove the internal-only ABSL_INTERNAL_ASSUME now that ABSL_ASSUME is available and ABSL_INTERNAL_ASSUME has no more users. Improve the documentation to ABSL_ASSUME somewhat. PiperOrigin-RevId: 434803125 Change-Id: I7c27418463ffc1c7e10ecd50e2d17f348f686af7 -- 4aea19a0ef596228c9136a4c2446e6f25085f23c by Derek Mauro : Update documentation to warn against using absl::Hash across dynamically loaded libraries Fixes #1128 PiperOrigin-RevId: 434723247 Change-Id: Ib0c7ba03b2cab98b42e19e85be6833192d4b4067 GitOrigin-RevId: 5dc885f2b62993bccf33a3f3b99f7e460c819c89 --- absl/hash/hash.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'absl/hash') diff --git a/absl/hash/hash.h b/absl/hash/hash.h index f31fde40..74e2d7c0 100644 --- a/absl/hash/hash.h +++ b/absl/hash/hash.h @@ -40,6 +40,11 @@ // each process. E.g., `absl::Hash{}(9)` in one process and // `absl::Hash{}(9)` in another process are likely to differ. // +// `absl::Hash` may also produce different values from different dynamically +// loaded libraries. For this reason, `absl::Hash` values must never cross +// boundries in dynamically loaded libraries (including when used in types like +// hash containers.) +// // `absl::Hash` is intended to strongly mix input bits with a target of passing // an [Avalanche Test](https://en.wikipedia.org/wiki/Avalanche_effect). // -- cgit v1.2.3