gfe-relnote: n/a, fix some compiler errors in QUICHE.
Reported in:
https://github.com/envoyproxy/envoy/issues/10422 of -Wsign-compare under GCC.
https://github.com/envoyproxy/envoy/issues/10767 of missing copy assignment under clang10.
PiperOrigin-RevId: 309489267
Change-Id: I69cb5ed3a6b1bd447da44bb241c3d81bf73865ab
diff --git a/quic/core/quic_circular_deque.h b/quic/core/quic_circular_deque.h
index 15b5cb6..1949d85 100644
--- a/quic/core/quic_circular_deque.h
+++ b/quic/core/quic_circular_deque.h
@@ -63,6 +63,16 @@
const basic_iterator<value_type>& it) // NOLINT(runtime/explicit)
: deque_(it.deque_), index_(it.index_) {}
+ // A copy assignment if Pointee is T.
+ // A assignment from iterator to const_iterator if Pointee is const T.
+ basic_iterator& operator=(const basic_iterator<value_type>& it) {
+ if (this != &it) {
+ deque_ = it.deque_;
+ index_ = it.index_;
+ }
+ return *this;
+ }
+
reference operator*() const { return *deque_->index_to_address(index_); }
pointer operator->() const { return deque_->index_to_address(index_); }
reference operator[](difference_type i) { return *(*this + i); }
diff --git a/quic/core/quic_framer.cc b/quic/core/quic_framer.cc
index 7bf49ab..30a3742 100644
--- a/quic/core/quic_framer.cc
+++ b/quic/core/quic_framer.cc
@@ -5415,7 +5415,7 @@
const uint64_t ack_range = iter->Length() - 1;
if (writer->remaining() < ecn_size ||
- writer->remaining() - ecn_size <
+ static_cast<size_t>(writer->remaining() - ecn_size) <
QuicDataWriter::GetVarInt62Len(gap) +
QuicDataWriter::GetVarInt62Len(ack_range)) {
// ACK range does not fit, truncate it.