Passing function arguments in registers

Michael Meissner meissner@cygnus.com
Thu Oct 9 14:56:00 GMT 1997


Michael P. Hayes writes:
| 
| The c4x port I have been working on requires a weird function argument
| passing model to be compatible with the vendor's compiler.  The order
| that registers are allocated depends on the number of floating point
| arguments passed.  To date, I have hacked calls.c and function.c to
| include a macro FUNCTION_ARG_PRESCAN, which is used during a first
| pass scan to allow the backend to determine the types of arguments to
| expect.  Can someone suggest a better strategy or have I missed
| something obvious?

You don't need it.  You can do it via INIT_CUMULATIVE_ARGS and
INIT_CUMULATIVE_INCOMING_ARGS.  See rs6000/rs6000.{h,c} for something
similar, where we need to know whether it is call a prototyped
function or not.




More information about the Gcc mailing list