And how does that solve the problem when Altivec is "supported"?
Let's first fix existing problems. :-) But a partial solution
could be to
make BIGGEST_ALIGNMENT depend on TARGET_ALTIVEC_ABI and later set
TARGET_ALTIVEC_ABI unconditionally to 1 when Altivec support is added:
#define BIGGEST_ALIGNMENT
((TARGET_32BIT && !TARGET_ALTIVEC_ABI) ? 64 : 128)
That would actually be sufficient for Ada, as the biggest problem
is the
STACK_BOUNDARY vs BIGGEST_ALIGNMENT discrepancy. The Ada compiler
does not
run into the problem I talked about in my original message on
Darwin because
TARGET_ALTIVEC_ABI is set to 1 there, so STACK_BOUNDARY ==
BIGGEST_ALIGNMENT.
--
Eric Botcazou