On 25/11/15 12:45, Bernd Schmidt wrote:
On 11/25/2015 01:41 PM, Bernd Schmidt wrote:
/* arg.locate doesn't contain the pretend_args_size offset, it's part of
argblock. Ensure we don't count it in I. */
#ifdef STACK_GROWS_DOWNWARD
i -= crtl->args.pretend_args_size
#else etc.
Hmm, yours looks equivalent, just addressing the problem from the other
direction, except for the STACK_GROWS_DOWNWARD thing. If you fix that, either
approach is OK, but watch formatting here (needs extra parens):
Thanks, I'll go with your version, except that for GCC 6 we have removed
conditional compilation on STACK_GROWS_DOWNWARD
so this would be written as:
if (STACK_GROWS_DOWNWARD)
i -= crtl->args.pretend_args_size;
What should we do when we don't have STACK_GROWS_DOWNWARD? Do we need to write:
if (STACK_GROWS_DOWNWARD)
i -= crtl->args.pretend_args_size;
else
i += crtl->args.pretend_args_size;
?
Kyrill
+ int argblock_offset = arg->locate.offset.constant
+ + crtl->args.pretend_args_size;
and a bit later it looks like there's a linebreak you could eliminate because
things now fit into 80 characters.
Bernd