OpenBSD-4.6/usr.bin/pcc/pdp10/README



PDP10 C calling convention
--------------------------
Register 1-7 are argument registers.  Types of sizes up to 36 bits are
given in one register, two otherwise.  CHAR and SHORT are given as INTs.

If the argument that would end up in register 7 requires two registers,
it is saved on the stack instead and no more registers would end up
on the stack.

struct return: a hidden argument containing the address of the struct
is stored as the first argument _on_the_stack_, never in register.

struct argument: always saved on stack, and terminates the list 
of arguments that are kept in registers.

In case of debugging all arguments are saved on stack in the function.

All variadic arguments are always saved on the stack.