Refactor alignment code. Change deprecated function in test.

This commit is contained in:
Christoffer Lerno
2024-09-12 08:30:01 +02:00
parent 9f4da339c3
commit 1b6ec34c61
2 changed files with 4 additions and 4 deletions

View File

@@ -668,11 +668,11 @@ AlignSize type_abi_alignment(Type *type)
if (!len) len = 1;
ByteSize width = type_size(type->array.base) * len;
AlignSize alignment = (AlignSize)(int32_t)width;
if (alignment & (alignment - 1))
if (max_alignment_vector && alignment > max_alignment_vector) return max_alignment_vector;
if (!is_power_of_two(alignment))
{
alignment = (AlignSize)next_highest_power_of_2((uint32_t)alignment);
}
if (max_alignment_vector && alignment > max_alignment_vector) alignment = max_alignment_vector;
return alignment;
}
case TYPE_VOID: