Enable extended compiler warnings and resolve occurring ones

This commit is contained in:
Sebastian Messmer 2015-05-08 02:10:56 +02:00
parent 535bfc1634
commit e8a48afd3b
6 changed files with 22 additions and 15 deletions

View File

@ -8,6 +8,7 @@ ADD_BOOST(filesystem system thread)
TARGET_LINK_LIBRARIES(${BII_BLOCK_TARGET} INTERFACE rt)
ACTIVATE_CPP14()
ENABLE_STYLE_WARNINGS()
# You can safely delete lines from here...

View File

@ -23,6 +23,7 @@ public:
TEST_F(CacheTest_MoveConstructor, MoveIntoCache) {
cache->push(MinimalKeyType::create(0), CopyableMovableValueType(2));
CopyableMovableValueType val = cache->pop(MinimalKeyType::create(0)).value();
val.value(); //Access it to avoid the compiler optimizing the assignment away
EXPECT_EQ(0, CopyableMovableValueType::numCopyConstructorCalled);
}
@ -30,5 +31,6 @@ TEST_F(CacheTest_MoveConstructor, CopyIntoCache) {
CopyableMovableValueType value(2);
cache->push(MinimalKeyType::create(0), value);
CopyableMovableValueType val = cache->pop(MinimalKeyType::create(0)).value();
val.value(); //Access it to avoid the compiler optimizing the assignment away
EXPECT_EQ(1, CopyableMovableValueType::numCopyConstructorCalled);
}

View File

@ -21,7 +21,7 @@ TEST_F(CacheTest_PushAndPop, PopNonExistingEntry_NonEmptyCache) {
TEST_F(CacheTest_PushAndPop, PopNonExistingEntry_FullCache) {
//Add a lot of even numbered keys
for (int i = 0; i < Cache::MAX_ENTRIES; ++i) {
for (unsigned int i = 0; i < Cache::MAX_ENTRIES; ++i) {
push(2*i, 2*i);
}
//Request an odd numbered key
@ -43,34 +43,34 @@ TEST_F(CacheTest_PushAndPop, MultipleEntries) {
}
TEST_F(CacheTest_PushAndPop, FullCache) {
for(int i = 0; i < Cache::MAX_ENTRIES; ++i) {
for(unsigned int i = 0; i < Cache::MAX_ENTRIES; ++i) {
push(i, 2*i);
}
for(int i = 0; i < Cache::MAX_ENTRIES; ++i) {
for(unsigned int i = 0; i < Cache::MAX_ENTRIES; ++i) {
EXPECT_EQ(2*i, pop(i).value());
}
}
TEST_F(CacheTest_PushAndPop, FullCache_PushNonOrdered_PopOrdered) {
for(int i = 1; i < Cache::MAX_ENTRIES; i += 2) {
for(unsigned int i = 1; i < Cache::MAX_ENTRIES; i += 2) {
push(i, 2*i);
}
for(int i = 0; i < Cache::MAX_ENTRIES; i += 2) {
for(unsigned int i = 0; i < Cache::MAX_ENTRIES; i += 2) {
push(i, 2*i);
}
for(int i = 0; i < Cache::MAX_ENTRIES; ++i) {
for(unsigned int i = 0; i < Cache::MAX_ENTRIES; ++i) {
EXPECT_EQ(2*i, pop(i).value());
}
}
TEST_F(CacheTest_PushAndPop, FullCache_PushOrdered_PopNonOrdered) {
for(int i = 0; i < Cache::MAX_ENTRIES; ++i) {
for(unsigned int i = 0; i < Cache::MAX_ENTRIES; ++i) {
push(i, 2*i);
}
for(int i = 1; i < Cache::MAX_ENTRIES; i += 2) {
for(unsigned int i = 1; i < Cache::MAX_ENTRIES; i += 2) {
EXPECT_EQ(2*i, pop(i).value());
}
for(int i = 0; i < Cache::MAX_ENTRIES; i += 2) {
for(unsigned int i = 0; i < Cache::MAX_ENTRIES; i += 2) {
EXPECT_EQ(2*i, pop(i).value());
}
}
@ -95,26 +95,26 @@ TEST_F(CacheTest_PushAndPop, FullCache_PushNonOrdered_PopNonOrdered) {
for(int i = roundDownToEven(Cache::MAX_ENTRIES - 1); i >= 0; i -= 2) {
push(i, 2*i);
}
for(int i = 1; i < Cache::MAX_ENTRIES; i += 2) {
for(unsigned int i = 1; i < Cache::MAX_ENTRIES; i += 2) {
push(i, 2*i);
}
for(int i = roundDownToOdd(Cache::MAX_ENTRIES-1); i >= 0; i -= 2) {
EXPECT_EQ(2*i, pop(i).value());
}
for(int i = 0; i < Cache::MAX_ENTRIES; i += 2) {
for(unsigned int i = 0; i < Cache::MAX_ENTRIES; i += 2) {
EXPECT_EQ(2*i, pop(i).value());
}
}
TEST_F(CacheTest_PushAndPop, MoreThanFullCache) {
for(int i = 0; i < Cache::MAX_ENTRIES + 2; ++i) {
for(unsigned int i = 0; i < Cache::MAX_ENTRIES + 2; ++i) {
push(i, 2*i);
}
//Check that the oldest two elements got deleted automatically
EXPECT_EQ(boost::none, pop(0));
EXPECT_EQ(boost::none, pop(1));
//Check the other elements are still there
for(int i = 2; i < Cache::MAX_ENTRIES + 2; ++i) {
for(unsigned int i = 2; i < Cache::MAX_ENTRIES + 2; ++i) {
EXPECT_EQ(2*i, pop(i).value());
}
}

View File

@ -23,12 +23,14 @@ public:
TEST_F(QueueMapTest_MoveConstructor, PushingAndPopping_MoveIntoMap) {
map->push(MinimalKeyType::create(0), CopyableMovableValueType(2));
CopyableMovableValueType val = map->pop().value();
val.value(); //Access it to avoid the compiler optimizing the assignment away
EXPECT_EQ(0, CopyableMovableValueType::numCopyConstructorCalled);
}
TEST_F(QueueMapTest_MoveConstructor, PushingAndPoppingPerKey_MoveIntoMap) {
map->push(MinimalKeyType::create(0), CopyableMovableValueType(2));
CopyableMovableValueType val = map->pop(MinimalKeyType::create(0)).value();
val.value(); //Access it to avoid the compiler optimizing the assignment away
EXPECT_EQ(0, CopyableMovableValueType::numCopyConstructorCalled);
}
@ -36,6 +38,7 @@ TEST_F(QueueMapTest_MoveConstructor, PushingAndPopping_CopyIntoMap) {
CopyableMovableValueType value(2);
map->push(MinimalKeyType::create(0), value);
CopyableMovableValueType val = map->pop().value();
val.value(); //Access it to avoid the compiler optimizing the assignment away
EXPECT_EQ(1, CopyableMovableValueType::numCopyConstructorCalled);
}
@ -43,5 +46,6 @@ TEST_F(QueueMapTest_MoveConstructor, PushingAndPoppingPerKey_CopyIntoMap) {
CopyableMovableValueType value(2);
map->push(MinimalKeyType::create(0), value);
CopyableMovableValueType val = map->pop(MinimalKeyType::create(0)).value();
val.value(); //Access it to avoid the compiler optimizing the assignment away
EXPECT_EQ(1, CopyableMovableValueType::numCopyConstructorCalled);
}

View File

@ -93,7 +93,7 @@ private:
}
static void _caesar(byte *dst, const byte *src, unsigned int size, uint8_t key) {
for (int i = 0; i < size; ++i) {
for (unsigned int i = 0; i < size; ++i) {
dst[i] = src[i] + key;
}
}

View File

@ -28,7 +28,7 @@ public:
return unique_ptr<Block>(do_load(key));
}
MOCK_METHOD1(do_load, Block*(const Key &));
void remove(unique_ptr<Block> block) {}
void remove(unique_ptr<Block> block) {UNUSED(block);}
MOCK_CONST_METHOD0(numBlocks, uint64_t());
};