From da2ad47d665bc496633a3322d19c5befc42b5553 Mon Sep 17 00:00:00 2001 From: Johann Date: Wed, 5 Jul 2017 11:14:51 -0700 Subject: [PATCH] test/buffer.h: move range checking to compiler Pass low/high values as type T. Out of range values should be caught by static analysis instead. Change-Id: I0a3ee8820af05f4c791ab097626174e2206fa6d5 --- test/buffer.h | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/test/buffer.h b/test/buffer.h index a6b9f43..2175dad 100644 --- a/test/buffer.h +++ b/test/buffer.h @@ -77,7 +77,7 @@ class Buffer { // testing::internal::Random::kMaxRange (1u << 31). However, because we want // to allow negative low (and high) values, it is restricted to INT32_MAX // here. - void Set(ACMRandom *rand_class, const int32_t low, const int32_t high); + void Set(ACMRandom *rand_class, const T low, const T high); // Copy the contents of Buffer 'a' (excluding padding). void CopyFrom(const Buffer &a); @@ -178,15 +178,11 @@ void Buffer::Set(ACMRandom *rand_class, T (ACMRandom::*rand_func)()) { } } -// TODO(johannkoenig): Use T for low/high. template -void Buffer::Set(ACMRandom *rand_class, const int32_t low, - const int32_t high) { +void Buffer::Set(ACMRandom *rand_class, const T low, const T high) { if (!raw_buffer_) return; EXPECT_LE(low, high); - EXPECT_GE(low, std::numeric_limits::min()); - EXPECT_LE(high, std::numeric_limits::max()); EXPECT_LE(static_cast(high) - low, std::numeric_limits::max()); -- 2.7.4