Merge remote-tracking branch 'origin/hotfix/pool_strict_aliasing_bug' into development

This commit is contained in:
John Wellbelove 2019-10-09 10:35:45 +01:00
commit 034f5d1c6e
3 changed files with 9 additions and 4 deletions

View File

@ -352,8 +352,9 @@ namespace etl
// Initialise another one if necessary.
if (items_initialised < MAX_SIZE)
{
uintptr_t p = reinterpret_cast<uintptr_t>(p_buffer + (items_initialised * ITEM_SIZE));
*reinterpret_cast<uintptr_t*>(p) = p + ITEM_SIZE;
char* p = p_buffer + (items_initialised * ITEM_SIZE);
char* np = p + ITEM_SIZE;
*reinterpret_cast<char**>(p) = np;
++items_initialised;
}
@ -585,7 +586,7 @@ namespace etl
// The pool element.
union Element
{
uintptr_t next; ///< Pointer to the next free element.
char* next; ///< Pointer to the next free element.
char value[TYPE_SIZE_]; ///< Storage for value type.
typename etl::type_with_alignment<ALIGNMENT_>::type dummy; ///< Dummy item to get correct alignment.
};

View File

@ -39,7 +39,7 @@ SOFTWARE.
#define ETL_VERSION_MAJOR 14
#define ETL_VERSION_MINOR 34
#define ETL_VERSION_PATCH 0
#define ETL_VERSION_PATCH 1
#define ETL_VERSION ETL_STRINGIFY(ETL_VERSION_MAJOR) "." ETL_STRINGIFY(ETL_VERSION_MINOR) "." ETL_STRINGIFY(ETL_VERSION_PATCH)
#define ETL_VERSION_W ETL_STRINGIFY(ETL_VERSION_MAJOR) L"." ETL_STRINGIFY(ETL_VERSION_MINOR) L"." ETL_STRINGIFY(ETL_VERSION_PATCH)

View File

@ -1,3 +1,7 @@
===============================================================================
14.34.1
Fixed strict aliasing bug for -O3 optimisation in etl::pool
===============================================================================
14.34.0
Fix alternate STL utility.h for ARM6