diff options
author | Jacques Lucke <jacques@blender.org> | 2020-07-06 11:56:26 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2020-07-06 11:56:26 +0300 |
commit | 703a73fa846531a0888c8f99489c8e213f5c5d81 (patch) | |
tree | 00c833f690d953e825a32edbc03cf9572981cc6c /tests/gtests/blenlib | |
parent | 80393a0ebadc7b8e825a6ce64204bf4424650fe5 (diff) |
BLI: refactor how buffers for small object optimization are stored
Previously, there was an error when operator-> was returning an
invalid type. See error C2839.
Diffstat (limited to 'tests/gtests/blenlib')
-rw-r--r-- | tests/gtests/blenlib/BLI_array_test.cc | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/tests/gtests/blenlib/BLI_array_test.cc b/tests/gtests/blenlib/BLI_array_test.cc index 9c77c69e296..b65402cd1fd 100644 --- a/tests/gtests/blenlib/BLI_array_test.cc +++ b/tests/gtests/blenlib/BLI_array_test.cc @@ -138,23 +138,22 @@ TEST(array, NoInitializationSizeConstructor) { using MyArray = Array<ConstructibleType>; - AlignedBuffer<sizeof(MyArray), alignof(MyArray)> buffer; - char *buffer_ptr = (char *)buffer.ptr(); - memset(buffer_ptr, 100, sizeof(MyArray)); + TypedBuffer<MyArray> buffer; + memset(buffer, 100, sizeof(MyArray)); /* Doing this to avoid some compiler optimization. */ for (uint i : IndexRange(sizeof(MyArray))) { - EXPECT_EQ(buffer_ptr[i], 100); + EXPECT_EQ(((char *)buffer.ptr())[i], 100); } { - MyArray &array = *new (buffer.ptr()) MyArray(1, NoInitialization()); + MyArray &array = *new (buffer) MyArray(1, NoInitialization()); EXPECT_EQ(array[0].value, 100); array.clear_without_destruct(); array.~Array(); } { - MyArray &array = *new (buffer.ptr()) MyArray(1); + MyArray &array = *new (buffer) MyArray(1); EXPECT_EQ(array[0].value, 42); array.~Array(); } |