N.B. your question belongs on the gcc-help list, or a general C programming
forum. This mailing list is for discussing development of GCC, and the
alignment is decided by the platform ABI not by GCC, so the question
doesn't belong here.

On Tue, 7 Jan 2025, 07:42 Jonathan Wakely, <jwakely....@gmail.com> wrote:

>
>
> On Tue, 7 Jan 2025, 03:09 M Chhapgar via Gcc, <gcc@gcc.gnu.org> wrote:
>
>> Hello,
>>
>> I am learning about memory alignment and noticed that on my x86-64 machine
>> with GCC 14, a `complex double` has a size of 16 bytes, but an alignment
>> of
>> only 8 bytes. I am curious as to why this is.
>
>
> Because it's roughly equivalent to:
>
> double arr[2];
>
> This also has size 16 and alignment 8.
>
> Doesn't it run the risk of
>> ending up with a `complex double` that straddles cache lines?
>>
>
> Yes, but that's not a problem.
>
>
>

Reply via email to