diff options
author | Abseil Team <absl-team@google.com> | 2020-09-18 15:55:15 -0700 |
---|---|---|
committer | Gennadiy Rozental <rogeeff@google.com> | 2020-09-20 18:26:41 -0400 |
commit | d3614de6178018178723ac3b8b4baaf3f1dc7fcb (patch) | |
tree | e8bcc758d2d7d5ee9d8c9cf192f8bb6239d491b4 /absl | |
parent | 20feb1cdbd60a80fa1776d23adef1ad69d879110 (diff) |
Export of internal Abseil changes
--
1829e203300191671abd4b478ca189019e6f88b1 by Abseil Team <absl-team@google.com>:
Don't return true from Demangle() when we didn't actually produce demangled output.
PiperOrigin-RevId: 332544020
--
239b617bd8322cfda69d0dcdd3d78499ed61206d by Abseil Team <absl-team@google.com>:
Minor documentation fix.
PiperOrigin-RevId: 332517877
--
d566c156619bbdceaf6e84bd0d3aa575d5e790f8 by Gennadiy Rozental <rogeeff@google.com>:
Added missing asserts for seq.index() < capacity_ and unified their usage based on has_element().
Import of https://github.com/abseil/abseil-cpp/pull/781
PiperOrigin-RevId: 332229369
GitOrigin-RevId: 1829e203300191671abd4b478ca189019e6f88b1
Change-Id: I5bb1f713497fef54a7abaf2020be91cb32e87b93
Diffstat (limited to 'absl')
-rw-r--r-- | absl/container/internal/raw_hash_set.h | 4 | ||||
-rw-r--r-- | absl/debugging/internal/demangle.cc | 3 | ||||
-rw-r--r-- | absl/status/status.h | 4 |
3 files changed, 7 insertions, 4 deletions
diff --git a/absl/container/internal/raw_hash_set.h b/absl/container/internal/raw_hash_set.h index 130da13c..ec13a2f7 100644 --- a/absl/container/internal/raw_hash_set.h +++ b/absl/container/internal/raw_hash_set.h @@ -1327,6 +1327,7 @@ class raw_hash_set { } if (ABSL_PREDICT_TRUE(g.MatchEmpty())) return end(); seq.next(); + assert(seq.index() < capacity_ && "full table!"); } } template <class K = key_type> @@ -1678,8 +1679,8 @@ class raw_hash_set { #endif return {seq.offset(mask.LowestBitSet()), seq.index()}; } - assert(seq.index() < capacity_ && "full table!"); seq.next(); + assert(seq.index() < capacity_ && "full table!"); } } @@ -1710,6 +1711,7 @@ class raw_hash_set { } if (ABSL_PREDICT_TRUE(g.MatchEmpty())) break; seq.next(); + assert(seq.index() < capacity_ && "full table!"); } return {prepare_insert(hash), true}; } diff --git a/absl/debugging/internal/demangle.cc b/absl/debugging/internal/demangle.cc index b980d1b2..46cdb67b 100644 --- a/absl/debugging/internal/demangle.cc +++ b/absl/debugging/internal/demangle.cc @@ -1936,7 +1936,8 @@ static bool Overflowed(const State *state) { bool Demangle(const char *mangled, char *out, int out_size) { State state; InitState(&state, mangled, out, out_size); - return ParseTopLevelMangledName(&state) && !Overflowed(&state); + return ParseTopLevelMangledName(&state) && !Overflowed(&state) && + state.parse_state.out_cur_idx > 0; } } // namespace debugging_internal diff --git a/absl/status/status.h b/absl/status/status.h index de10996f..42f634e0 100644 --- a/absl/status/status.h +++ b/absl/status/status.h @@ -365,8 +365,8 @@ class ABSL_MUST_USE_RESULT Status final { // Constructors // This default constructor creates an OK status with no message or payload. - // Avoid this constructor and pefer explicit construction of an OK status with - // `absl::OkStatus()`. + // Avoid this constructor and prefer explicit construction of an OK status + // with `absl::OkStatus()`. Status(); // Creates a status in the canonical error space with the specified |