summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Abseil Team <absl-team@google.com>2020-09-24 12:27:48 -0700
committerGravatar vslashg <gfalcon@google.com>2020-09-25 10:29:02 -0400
commitcad3f30b44c2bfac54ee82c6fc9e49ba49078620 (patch)
treef1efa2f641f87b2fbb27bbf8b1346a1ef9542c81
parent9927a09898f1287e0ecd1276f42ec7a252667dad (diff)
Export of internal Abseil changes
-- 1d4582ea8b9f38bef580d1998ebeb56adca7d3fb by Abseil Team <absl-team@google.com>: Used StorageT alias to unify getters of CompressedTuple PiperOrigin-RevId: 333572002 -- a630f1ef375a621dd89e6908cc6980ba81448331 by Derek Mauro <dmauro@google.com>: Silence -Wrange-loop-analysis warnings These warnings are likely incorrect for small POD objects, and clang fixed this with https://reviews.llvm.org/D72212, but Xcode 12 enabled this buggy warning by default. This fixes this problem for these users. As a reminder, [we still recommend passing string_view by value for function parameters](https://abseil.io/tips/1) as it generates less code. Fixes #787 PiperOrigin-RevId: 333536667 GitOrigin-RevId: 1d4582ea8b9f38bef580d1998ebeb56adca7d3fb Change-Id: Ib17aa296f48f3f0fda566460a302979f5adf4195
-rw-r--r--absl/container/internal/compressed_tuple.h2
-rw-r--r--absl/strings/internal/str_split_internal.h4
-rw-r--r--absl/strings/str_split_test.cc2
3 files changed, 4 insertions, 4 deletions
diff --git a/absl/container/internal/compressed_tuple.h b/absl/container/internal/compressed_tuple.h
index 02bfd03f..5ebe1649 100644
--- a/absl/container/internal/compressed_tuple.h
+++ b/absl/container/internal/compressed_tuple.h
@@ -257,7 +257,7 @@ class ABSL_INTERNAL_COMPRESSED_TUPLE_DECLSPEC CompressedTuple
template <int I>
ElemT<I>& get() & {
- return internal_compressed_tuple::Storage<ElemT<I>, I>::get();
+ return StorageT<I>::get();
}
template <int I>
diff --git a/absl/strings/internal/str_split_internal.h b/absl/strings/internal/str_split_internal.h
index 6f5bc095..49ec5392 100644
--- a/absl/strings/internal/str_split_internal.h
+++ b/absl/strings/internal/str_split_internal.h
@@ -336,7 +336,7 @@ class Splitter {
Container operator()(const Splitter& splitter) const {
Container c;
auto it = std::inserter(c, c.end());
- for (const auto sp : splitter) {
+ for (const auto& sp : splitter) {
*it++ = ValueType(sp);
}
return c;
@@ -401,7 +401,7 @@ class Splitter {
Container m;
typename Container::iterator it;
bool insert = true;
- for (const auto sp : splitter) {
+ for (const auto& sp : splitter) {
if (insert) {
it = Inserter<Container>::Insert(&m, First(sp), Second());
} else {
diff --git a/absl/strings/str_split_test.cc b/absl/strings/str_split_test.cc
index b5ce68de..7f7c097f 100644
--- a/absl/strings/str_split_test.cc
+++ b/absl/strings/str_split_test.cc
@@ -367,7 +367,7 @@ TEST(SplitIterator, EqualityAsEndCondition) {
TEST(Splitter, RangeIterators) {
auto splitter = absl::StrSplit("a,b,c", ',');
std::vector<absl::string_view> output;
- for (const absl::string_view p : splitter) {
+ for (const absl::string_view& p : splitter) {
output.push_back(p);
}
EXPECT_THAT(output, ElementsAre("a", "b", "c"));