Small modifications to tests.

Changed Keil & IAR tests to use new alignment classes.
This commit is contained in:
jwellbelove 2015-03-16 19:18:25 +00:00
parent 10d88d3df7
commit c0a244cd2f
2 changed files with 41 additions and 12 deletions

View File

@ -35,6 +35,10 @@ SOFTWARE.
#include <string>
#include <ostream>
void f(int a)
{
}
namespace
{
SUITE(test_alignment)
@ -57,6 +61,32 @@ namespace
{
CHECK_EQUAL(0, size_t(&data32[1]) % expected);
}
etl::aligned_storage<100, 8>::type data9;
f(static_cast<int>(data9));
}
//*************************************************************************
TEST(test_aligned_storage_as)
{
size_t alignment;
size_t expected;
typedef etl::aligned_storage_as<sizeof(uint16_t), uint32_t>::type storage32_t;
static storage32_t data32[10];
alignment = etl::alignment_of<storage32_t>::value;
expected = std::alignment_of<uint32_t>::value;
CHECK_EQUAL(expected, alignment);
for (int i = 0; i < 10; ++i)
{
CHECK_EQUAL(0, size_t(&data32[1]) % expected);
}
etl::aligned_storage<100, 8>::type data9;
f(static_cast<int>(data9));
}
};
}

View File

@ -90,23 +90,22 @@ void test_algorithm()
//*****************************************************************************
// alignment
//*****************************************************************************
etl::align_at<int, 16> data9;
etl::align_at<char, 16> data10;
etl::aligned_storage<100, 8>::type data9;
etl::aligned_storage_as<100, double>::type data10;
void test_alignment()
{
data9.value = 0;
data10.value = 0;
int a = static_cast<int&>(data9);
etl::align_at<char, 1> data1;
etl::align_at<char, 2> data2;
etl::align_at<char, 4> data3;
etl::align_at<char, 8> data4;
etl::aligned_storage<1, 1>::type data1;
etl::aligned_storage<1, 2>::type data2;
etl::aligned_storage<1, 4>::type data3;
etl::aligned_storage<1, 8>::type data4;
etl::align_as<char, char> data5;
etl::align_as<char, short> data6;
etl::align_as<char, int> data7;
etl::align_as<char, double> data8;
etl::aligned_storage_as<1, char>::type data5;
etl::aligned_storage_as<1, short>::type data6;
etl::aligned_storage_as<1, int>::type data7;
etl::aligned_storage_as<1, double>::type data8;
}
//*****************************************************************************