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