"Qingqing Zhou" <[EMAIL PROTECTED]> wrote
>
> "Tom Lane" <[EMAIL PROTECTED]> wrote in message
> news:[EMAIL PROTECTED]
> >
> > There are no platforms for which ALIGNOF_SHORT is different from 2.
> > I don't think there are any platforms we care about where ALIGNOF_INT
> > is different from 4.  The cases of interest are ALIGNOF_DOUBLE,
> > ALIGNOF_LONG, ALIGNOF_LONG_LONG_INT (note that MAXIMUM_ALIGNOF is
> > just the largest of these).  In practice "long int" is the same type
> > as either "int" or "long long int", so ALIGNOF_LONG isn't a distinct
> > case either.  What it comes down to is that MAXIMUM_ALIGNOF is
> > sufficient to tell the difference between the platforms we need to
> > deal with.  If you have a counterexample, tell us about it.
> >
> (1)
> Yes, ALIGNOF_SHORT is always 2.
>
> (2)
> There is a possible sequence like this:
>
> ALIGNOF_LONG        4
> ALIGNOF_DOUBLE      8
> MAXIMUM_ALIGNOF     8
>
> vs.
>
> ALIGNOF_LONG        8
> ALIGNOF_DOUBLE      8
> MAXIMUM_ALIGNOF     8
>
> Eg.
> http://developers.sun.com/prodtech/cc/articles/about_amd64_abi.html
> http://devrsrc1.external.hp.com/STK/wellbehavedrestrict.html
>
> So we should at least check ALIGNOF_LONG as well.
>
> (3)
> There are some machines with sizeof(int) equals to 64, if my memory saves,
> which might imply that ALIGNOF_INT equals to 8.

sizeof(int) maybe 8, but not 64.
And the configure option `--enable-integer-datetimes' may affect the data
layout.

>
> So conservatively, we'd better check ALIGNOF_INT, ALIGNOF_LONG and
> MAXIMUM_ALIGNOF.
>
> Regards,
> Qingqing
>
>



---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

               http://archives.postgresql.org

Reply via email to