Tom Lane wrote:
> "Pavan Deolasee" <pavan.deolasee@gmail.com> writes:
>
>> The MAXIMUM_ALIGNOF value is set to 8 bytes in a Windows- 32-bit
>> environment. I have very little knowledge about Windows, but at
>> the face of it, this looks strange. Any idea why is this required ?
>>
>
> It's not entirely unreasonable. The same thing happens on HPPA,
> which is nominally a 32-bit architecture but the hardware requires
> 8-byte alignment of doubles (and maybe int64 too, I forget).
> On newer Intel hardware it'd make sense to pad to avoid misaligned
> fetches.
>
> Anyway, we detect this directly based on the C compiler's behavior,
> and you can't argue with the compiler about it. Whatever it's
> doing is right by definition.
>
>
>
Perhaps Pavan is referring to what is hardcoded in pg_config.h.win32
which is used for MSVC builds (but not for MinGW builds, IIRC), in
which case the answer might be that in this file we need to be
pessimistic about such things, since we have no reasonable way to run
configure on this platform.
cheers
andrew