From 83cac1e32d7da69af3d1e1d879e3978e2ee8f5dc Mon Sep 17 00:00:00 2001 From: Sebastian Messmer Date: Wed, 25 Nov 2015 15:39:52 +0100 Subject: [PATCH] Compatibility with 32bit systems --- data/Deserializer.h | 2 +- test/data/DataTest.cpp | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/data/Deserializer.h b/data/Deserializer.h index 2a2d99ea..a51a92a6 100644 --- a/data/Deserializer.h +++ b/data/Deserializer.h @@ -94,7 +94,7 @@ namespace cpputils { return _readData(size); } - inline Data Deserializer::_readData(uint64_t size) { + inline Data Deserializer::_readData(size_t size) { Data result(size); std::memcpy(static_cast(result.data()), static_cast(_source->dataOffset(_pos)), size); _pos += size; diff --git a/test/data/DataTest.cpp b/test/data/DataTest.cpp index f3f6ae8c..287313e1 100644 --- a/test/data/DataTest.cpp +++ b/test/data/DataTest.cpp @@ -191,12 +191,16 @@ TEST_F(DataTest, Inequality_DifferentLastByte) { EXPECT_TRUE(data1 != data2); } +#ifdef __x86_64__ //Needs 64bit for representation. This value isn't in the size param list, because the list is also used for read/write checks. TEST_F(DataTest, LargesizeSize) { - size_t size = 10L*1024*1024*1024; + uint64_t size = 10L*1024*1024*1024; Data data(size); EXPECT_EQ(size, data.size()); } +#else +#warning This is not a 64bit architecture. Large size data tests are disabled. +#endif TEST_F(DataTest, LoadingNonexistingFile) { TempFile file(false); // Pass false to constructor, so the tempfile is not created