Mark the float version of QuicTime::Delta operator* as non-constexpr
std::llround is not constexpr in C++ until C++23.
PiperOrigin-RevId: 460805233
diff --git a/quiche/quic/core/quic_bandwidth.h b/quiche/quic/core/quic_bandwidth.h
index b657228..33356ab 100644
--- a/quiche/quic/core/quic_bandwidth.h
+++ b/quiche/quic/core/quic_bandwidth.h
@@ -111,7 +111,7 @@
QuicBandwidth rhs);
friend constexpr QuicBandwidth operator-(QuicBandwidth lhs,
QuicBandwidth rhs);
- friend constexpr QuicBandwidth operator*(QuicBandwidth lhs, float rhs);
+ friend QuicBandwidth operator*(QuicBandwidth lhs, float rhs);
};
// Non-member relational operators for QuicBandwidth.
@@ -141,7 +141,7 @@
inline constexpr QuicBandwidth operator-(QuicBandwidth lhs, QuicBandwidth rhs) {
return QuicBandwidth(lhs.bits_per_second_ - rhs.bits_per_second_);
}
-inline constexpr QuicBandwidth operator*(QuicBandwidth lhs, float rhs) {
+inline QuicBandwidth operator*(QuicBandwidth lhs, float rhs) {
return QuicBandwidth(
static_cast<int64_t>(std::llround(lhs.bits_per_second_ * rhs)));
}
diff --git a/quiche/quic/core/quic_time.h b/quiche/quic/core/quic_time.h
index d6c24b5..21bad68 100644
--- a/quiche/quic/core/quic_time.h
+++ b/quiche/quic/core/quic_time.h
@@ -89,8 +89,8 @@
QuicTime::Delta rhs);
friend inline constexpr QuicTime::Delta operator*(QuicTime::Delta lhs,
int rhs);
- friend inline constexpr QuicTime::Delta operator*(QuicTime::Delta lhs,
- double rhs);
+ // Not constexpr since std::llround() is not constexpr.
+ friend inline QuicTime::Delta operator*(QuicTime::Delta lhs, double rhs);
friend inline QuicTime operator+(QuicTime lhs, QuicTime::Delta rhs);
friend inline QuicTime operator-(QuicTime lhs, QuicTime::Delta rhs);
@@ -257,7 +257,7 @@
inline constexpr QuicTime::Delta operator*(QuicTime::Delta lhs, int rhs) {
return QuicTime::Delta(lhs.time_offset_ * rhs);
}
-inline constexpr QuicTime::Delta operator*(QuicTime::Delta lhs, double rhs) {
+inline QuicTime::Delta operator*(QuicTime::Delta lhs, double rhs) {
return QuicTime::Delta(static_cast<int64_t>(
std::llround(static_cast<double>(lhs.time_offset_) * rhs)));
}