On Fri, Jul 20, 2007 at 10:32:35AM -0400, Tom Lane wrote:
> Andrew Dunstan <[EMAIL PROTECTED]> 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.)

How do I double-check this?


> 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. 

It's not - it started out as a copy of the output of ./configure on mingw.

> 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.

Still, it doesn't hurt to double-check.

//Magnus

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to