Erdem Guven <[EMAIL PROTECTED]> writes:

> I'm using the backend in a project. I want to compile
> some codes in 16 bits int mode and others in 32 bits
> int. I figured out that gcc uses int sized blocks to
> store arguments, passed to a function, in stack. I
> mean if function get a short (16 bits)  as a parameter
> it pushes 4 bytes to stack in 32bits integer mode and
> just 2 bytes in 16 bits mode. Is there an easy way to
> force gcc to use another size?

How parameters are pushed on the stack is controlled by your backend,
via FUNCTION_ARG, PARM_BOUNDARY, PREFERRED_STACK_BOUNDARY, PUSH_ARGS,
PUSH_ROUNDING, and the like.  The machine independent part of gcc
doesn't care at all.

Ian

Reply via email to