This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: follow-up patch: PREFERRED_STACK_BOUNDARY


On Fri, Aug 10, 2001 at 09:26:17PM -0400, Zack Weinberg wrote:
> #if PREFERRED_STACK_BOUNDARY != BIGGEST_ALIGNMENT
> 
> and that seems like an awfully strong constraint...  It *is* inside
> another #if block, for SETJMP_VIA_SAVE_AREA, but still.

Worse, both of these can depend on flags, and so cannot be
checked in the preprocessor.

I guess the assumption is that the setjmp block needs
BIGGEST_ALIGNMENT.  Not sure how that follows.  However,
there are only two targets that set SETJMP_VIA_SAVE_AREA,
and both have STACK_BOUNDARY == BIGGEST_ALIGNMENT.

> 	* defaults.h: Define PREFERRED_STACK_BOUNDARY to
> 	STACK_BOUNDARY if not already defined.
> 
> 	* calls.c, function.c, reload1.c, explow.c: Don't default
> 	PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
> 	PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
> 
> 	* doc/tm.texi: Document that STACK_BOUNDARY is required;
> 	clarify difference between it and PREFERRED_STACK_BOUNDARY.

Ok, if you change the #if test mentioned above to a 
run-time test.


r~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]