> Walk through that with attlen = 32, attalign = 'i', and guess what:
> it applies LONGALIGN(). Which is different on Alpha than everywhere
> else, not to mention flat-out wrong for the given arguments.
>
> Erik, try changing that last LONGALIGN to INTALIGN and see if it
> works any better on the Alpha.
>
> We probably really ought to bag this entire logic and replace it
> with something like
> attalign 'c' -> no alignment
> attalign 's' -> SHORTALIGN
> attalign 'i' -> INTALIGN
> attalign 'd' -> DOUBLEALIGN
> with possibly some AssertMacro cross-checks that the given attlen
> makes sense for the attalign. But driving the logic primarily off
> attlen rather than attalign makes little sense to me.
I can agree that the type alignment is clearly wrong. I did some
cleanup of the pg_* files to they at least match, but that was obviously
not the whole picture, and this flakeyness has given us problems on
alpha.
-- Bruce Momjian | http://www.op.net/~candle maillist@candle.pha.pa.us | (610)
853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill,
Pennsylvania19026