diff --git a/absl/container/btree_map.h b/absl/container/btree_map.h index 448ac48..abc09b0 100644 --- a/absl/container/btree_map.h +++ b/absl/container/btree_map.h
@@ -185,7 +185,7 @@ // template <typename K> size_type erase(const K& key): // // Erases the element with the matching key, if it exists, returning the - // number of elements erased. + // number of elements erased (0 or 1). using Base::erase; // btree_map::insert()
diff --git a/absl/container/btree_set.h b/absl/container/btree_set.h index d3e7886..21ef0a0 100644 --- a/absl/container/btree_set.h +++ b/absl/container/btree_set.h
@@ -183,7 +183,7 @@ // template <typename K> size_type erase(const K& key): // // Erases the element with the matching key, if it exists, returning the - // number of elements erased. + // number of elements erased (0 or 1). using Base::erase; // btree_set::insert()
diff --git a/absl/container/flat_hash_map.h b/absl/container/flat_hash_map.h index dbd37d3..74def0d 100644 --- a/absl/container/flat_hash_map.h +++ b/absl/container/flat_hash_map.h
@@ -234,7 +234,8 @@ // // size_type erase(const key_type& key): // - // Erases the element with the matching key, if it exists. + // Erases the element with the matching key, if it exists, returning the + // number of elements erased (0 or 1). using Base::erase; // flat_hash_map::insert()
diff --git a/absl/container/flat_hash_set.h b/absl/container/flat_hash_set.h index 94be6e3..81e145a 100644 --- a/absl/container/flat_hash_set.h +++ b/absl/container/flat_hash_set.h
@@ -227,7 +227,8 @@ // // size_type erase(const key_type& key): // - // Erases the element with the matching key, if it exists. + // Erases the element with the matching key, if it exists, returning the + // number of elements erased (0 or 1). using Base::erase; // flat_hash_set::insert()
diff --git a/absl/container/internal/hash_generator_testing.cc b/absl/container/internal/hash_generator_testing.cc index 75c4db6..59cc5aa 100644 --- a/absl/container/internal/hash_generator_testing.cc +++ b/absl/container/internal/hash_generator_testing.cc
@@ -41,8 +41,10 @@ } // namespace std::mt19937_64* GetSharedRng() { - RandomDeviceSeedSeq seed_seq; - static auto* rng = new std::mt19937_64(seed_seq); + static auto* rng = [] { + RandomDeviceSeedSeq seed_seq; + return new std::mt19937_64(seed_seq); + }(); return rng; }
diff --git a/absl/container/internal/raw_hash_set.h b/absl/container/internal/raw_hash_set.h index 130da13..ec13a2f 100644 --- a/absl/container/internal/raw_hash_set.h +++ b/absl/container/internal/raw_hash_set.h
@@ -1327,6 +1327,7 @@ } 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 @@ #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 @@ } if (ABSL_PREDICT_TRUE(g.MatchEmpty())) break; seq.next(); + assert(seq.index() < capacity_ && "full table!"); } return {prepare_insert(hash), true}; }
diff --git a/absl/container/node_hash_map.h b/absl/container/node_hash_map.h index 9852ff7..7a39f62 100644 --- a/absl/container/node_hash_map.h +++ b/absl/container/node_hash_map.h
@@ -225,7 +225,8 @@ // // size_type erase(const key_type& key): // - // Erases the element with the matching key, if it exists. + // Erases the element with the matching key, if it exists, returning the + // number of elements erased (0 or 1). using Base::erase; // node_hash_map::insert()
diff --git a/absl/container/node_hash_set.h b/absl/container/node_hash_set.h index 56bab5c..56ce3b6 100644 --- a/absl/container/node_hash_set.h +++ b/absl/container/node_hash_set.h
@@ -217,7 +217,8 @@ // // size_type erase(const key_type& key): // - // Erases the element with the matching key, if it exists. + // Erases the element with the matching key, if it exists, returning the + // number of elements erased (0 or 1). using Base::erase; // node_hash_set::insert()
diff --git a/absl/debugging/internal/demangle.cc b/absl/debugging/internal/demangle.cc index b980d1b..46cdb67 100644 --- a/absl/debugging/internal/demangle.cc +++ b/absl/debugging/internal/demangle.cc
@@ -1936,7 +1936,8 @@ 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 de10996..42f634e 100644 --- a/absl/status/status.h +++ b/absl/status/status.h
@@ -365,8 +365,8 @@ // 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
diff --git a/absl/synchronization/mutex_test.cc b/absl/synchronization/mutex_test.cc index 307d0e3..16fc905 100644 --- a/absl/synchronization/mutex_test.cc +++ b/absl/synchronization/mutex_test.cc
@@ -1102,7 +1102,7 @@ // annotation-based static thread-safety analysis is not currently // predicate-aware and cannot tell if the two for-loops that acquire and // release the locks have the same predicates. -TEST(Mutex, DeadlockDetectorStessTest) ABSL_NO_THREAD_SAFETY_ANALYSIS { +TEST(Mutex, DeadlockDetectorStressTest) ABSL_NO_THREAD_SAFETY_ANALYSIS { // Stress test: Here we create a large number of locks and use all of them. // If a deadlock detector keeps a full graph of lock acquisition order, // it will likely be too slow for this test to pass.
diff --git a/absl/time/internal/cctz/BUILD.bazel b/absl/time/internal/cctz/BUILD.bazel index 7379dec..45a9529 100644 --- a/absl/time/internal/cctz/BUILD.bazel +++ b/absl/time/internal/cctz/BUILD.bazel
@@ -92,6 +92,11 @@ ### tests +test_suite( + name = "all_tests", + visibility = ["//visibility:public"], +) + cc_test( name = "civil_time_test", size = "small",
diff --git a/ci/linux_gcc-latest_libstdcxx_bazel.sh b/ci/linux_gcc-latest_libstdcxx_bazel.sh index cd15f71..b327405 100755 --- a/ci/linux_gcc-latest_libstdcxx_bazel.sh +++ b/ci/linux_gcc-latest_libstdcxx_bazel.sh
@@ -75,7 +75,7 @@ ${DOCKER_CONTAINER} \ /bin/sh -c " cp -r /abseil-cpp-ro/* /abseil-cpp/ - if [[ -n \"${ALTERNATE_OPTIONS:-}\" ]]; then + if [ -n \"${ALTERNATE_OPTIONS:-}\" ]; then cp ${ALTERNATE_OPTIONS:-} absl/base/options.h || exit 1 fi /usr/local/bin/bazel test ... \