diff --git a/common/span.h b/common/span.h index e11737aaf28d..293000381108 100644 --- a/common/span.h +++ b/common/span.h @@ -268,9 +268,9 @@ class SpanBase : public SafeBool > { public: typedef ValueType value_type; - typedef ptrdiff_t difference_type; - typedef size_t index_type; - typedef size_t size_type; + typedef int32 difference_type; + typedef uint32 index_type; + typedef uint32 size_type; typedef SpanInternal::SpanIterator const_iterator; typedef SpanInternal::SpanIterator iterator; typedef value_type *pointer; @@ -601,11 +601,11 @@ class SpanImpl : public SpanBase { break; } - return String::format("Access violation %s %s: %ld + %ld > %ld", + return String::format("Access violation %s %s: %u + %d > %u", modeName, this->impl().name().c_str(), index, - deltaInBytes / sizeof(value_type), + deltaInBytes / (int)sizeof(value_type), size()); } @@ -829,7 +829,7 @@ class NamedSpanImpl : public SpanImpl { const size_type maxSizeInBytes = this->impl().byteSize(); return super_type::getValidationMessage(index, deltaInBytes, mode) + - String::format(" (abs: %ld + %ld > %ld)", + String::format(" (abs: %u + %d > %u)", this->impl().sourceByteOffset() + indexInBytes, deltaInBytes, this->impl().sourceByteOffset() + maxSizeInBytes); diff --git a/test/common/span.h b/test/common/span.h index 55ef2c6bd257..aa3ee9d22f70 100644 --- a/test/common/span.h +++ b/test/common/span.h @@ -640,7 +640,7 @@ class SpanTestSuite : public CxxTest::TestSuite { TS_ASSERT(span.checkInvalidBounds(2, -4)); // negative overflow (-2) TS_ASSERT(span.checkInvalidBounds(0, 10)); // delta positive overflow - const ptrdiff_t big = 1L << (8 * sizeof(ptrdiff_t) - 1); + const Common::Span::difference_type big = 1L << (8 * sizeof(Common::Span::difference_type) - 1); TS_ASSERT(span.checkInvalidBounds(big, 0)); TS_ASSERT(span.checkInvalidBounds(0, big)); TS_ASSERT(span.checkInvalidBounds(big, big)); @@ -662,8 +662,8 @@ class SpanTestSuite : public CxxTest::TestSuite { expected = Common::String::format("Access violation writing %s: 23 + 45 > 1", source.c_str()); TS_ASSERT_EQUALS(actual, expected); - actual = span.getValidationMessage(-34, -56, Common::kValidateSeek); - expected = Common::String::format("Access violation seeking %s: -34 + -56 > 1", source.c_str()); + actual = span.getValidationMessage(0, -56, Common::kValidateSeek); + expected = Common::String::format("Access violation seeking %s: 0 + -56 > 1", source.c_str()); TS_ASSERT_EQUALS(actual, expected); } @@ -716,15 +716,15 @@ class SpanTestSuite : public CxxTest::TestSuite { { Common::NamedSpan subspan = span.subspan(2, Common::kSpanMaxSize, "new.data"); - expected = "Access violation reading new.data: -34 + -56 > 4 (abs: -32 + -56 > 6)"; - actual = subspan.getValidationMessage(-34, -56, Common::kValidateRead); + expected = "Access violation reading new.data: 0 + -56 > 4 (abs: 2 + -56 > 6)"; + actual = subspan.getValidationMessage(0, -56, Common::kValidateRead); TS_ASSERT_EQUALS(actual, expected); } { Common::NamedSpan subspan = span.subspan(2, Common::kSpanMaxSize, "new.data", 0); - expected = "Access violation reading new.data: -34 + -56 > 4 (abs: -34 + -56 > 4)"; - actual = subspan.getValidationMessage(-34, -56, Common::kValidateRead); + expected = "Access violation reading new.data: 0 + -56 > 4 (abs: 0 + -56 > 4)"; + actual = subspan.getValidationMessage(0, -56, Common::kValidateRead); TS_ASSERT_EQUALS(actual, expected); } @@ -754,23 +754,23 @@ class SpanTestSuite : public CxxTest::TestSuite { { Common::NamedSpan subspan = constSpan.subspan(2, Common::kSpanMaxSize, "new.data"); - expected = "Access violation reading new.data: -34 + -56 > 4 (abs: -32 + -56 > 6)"; - actual = subspan.getValidationMessage(-34, -56, Common::kValidateRead); + expected = "Access violation reading new.data: 0 + -56 > 4 (abs: 2 + -56 > 6)"; + actual = subspan.getValidationMessage(0, -56, Common::kValidateRead); TS_ASSERT_EQUALS(actual, expected); } { Common::NamedSpan subspan = constSpan.subspan(2, Common::kSpanMaxSize, "new.data", 0); - expected = "Access violation reading new.data: -34 + -56 > 4 (abs: -34 + -56 > 4)"; - actual = subspan.getValidationMessage(-34, -56, Common::kValidateRead); + expected = "Access violation reading new.data: 0 + -56 > 4 (abs: 0 + -56 > 4)"; + actual = subspan.getValidationMessage(0, -56, Common::kValidateRead); TS_ASSERT_EQUALS(actual, expected); } { Common::NamedSpan subspan = constSpan.subspan(2, Common::kSpanMaxSize, "new.data", 0); subspan.sourceByteOffset() = 2; - expected = "Access violation reading new.data: -34 + -56 > 4 (abs: -32 + -56 > 6)"; - actual = subspan.getValidationMessage(-34, -56, Common::kValidateRead); + expected = "Access violation reading new.data: 0 + -56 > 4 (abs: 2 + -56 > 6)"; + actual = subspan.getValidationMessage(0, -56, Common::kValidateRead); TS_ASSERT_EQUALS(actual, expected); }