Re: MAXIMUM_ALIGNOF on Windows-32

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: MAXIMUM_ALIGNOF on Windows-32
Дата
Msg-id 5614.1184941955@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: MAXIMUM_ALIGNOF on Windows-32  (Andrew Dunstan <andrew@dunslane.net>)
Ответы Re: MAXIMUM_ALIGNOF on Windows-32
Re: MAXIMUM_ALIGNOF on Windows-32
Список pgsql-hackers
Andrew Dunstan <andrew@dunslane.net> writes:
> Tom Lane wrote:
>> 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.

Somebody had better double-check that.  We don't need to be
"pessimistic", we need to be *correct*, because the align values had
better match the way the compiler will lay out a C struct.  Otherwise
struct-based access to catalog rows will fail.  (I'm not sure if there
are any system catalogs with float8 or int64 columns, but I'd sure not
want to find out that we couldn't have one because of misconfiguration
of MSVC builds.)

I see though that the comment in pg_config.h.win32 claims it was derived
from mechanically-generated configure output, so unless that's lying
it should be OK already.  AFAIK struct alignment is part of the ABI for
a platform and is not subject to the whims of individual compilers, so
the result from MinGW should be OK for MSVC.
        regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andrew Dunstan
Дата:
Сообщение: Re: MAXIMUM_ALIGNOF on Windows-32
Следующее
От: Andrew Dunstan
Дата:
Сообщение: Re: MAXIMUM_ALIGNOF on Windows-32