aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Prichard <rprichard@google.com>2023-09-20 00:10:15 -0700
committerRyan Prichard <rprichard@google.com>2023-09-20 00:10:15 -0700
commitd18fb58c2f2b903bebc89ebfbdf4bfac164b143b (patch)
tree0c085351dbc5fd2cea90f8fa5b451b8c567ec0e5
parent101d502358fca757c7df2a94d551a0b07f84781e (diff)
downloadclang-d18fb58c2f2b903bebc89ebfbdf4bfac164b143b.tar.gz
Don't discard the result of std::unique
After upgrading libc++, std::unique is marked [[nodiscard]], and it is a build error to discard its result. Cherry pick this commit: https://github.com/llvm/llvm-project/commit/dd870f6929ee0b1dfb5fd000c7b826a1bd2d2571 Bug: b/175635923 Test: treehugger Change-Id: I99fbe80b755f0ff4d9c897e91f2f15e334d5f1f6
-rw-r--r--include/clang/Serialization/ContinuousRangeMap.h19
1 files changed, 11 insertions, 8 deletions
diff --git a/include/clang/Serialization/ContinuousRangeMap.h b/include/clang/Serialization/ContinuousRangeMap.h
index 244b01b22a..edc42441b2 100644
--- a/include/clang/Serialization/ContinuousRangeMap.h
+++ b/include/clang/Serialization/ContinuousRangeMap.h
@@ -117,14 +117,17 @@ public:
~Builder() {
std::sort(Self.Rep.begin(), Self.Rep.end(), Compare());
- std::unique(Self.Rep.begin(), Self.Rep.end(),
- [](const_reference A, const_reference B) {
- // FIXME: we should not allow any duplicate keys, but there are a lot of
- // duplicate 0 -> 0 mappings to remove first.
- assert((A == B || A.first != B.first) &&
- "ContinuousRangeMap::Builder given non-unique keys");
- return A == B;
- });
+ Self.Rep.erase(
+ std::unique(
+ Self.Rep.begin(), Self.Rep.end(),
+ [](const_reference A, const_reference B) {
+ // FIXME: we should not allow any duplicate keys, but there are
+ // a lot of duplicate 0 -> 0 mappings to remove first.
+ assert((A == B || A.first != B.first) &&
+ "ContinuousRangeMap::Builder given non-unique keys");
+ return A == B;
+ }),
+ Self.Rep.end());
}
void insert(const value_type &Val) {