This is the mail archive of the 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]
Other format: [Raw text]

__builtin_apply questions


Firstly, the docs contain these sentence for __builtin_apply_args:

     The function saves the arg pointer register, structure value
     address, and all registers that might be used to pass arguments to
     a function into a block of memory allocated on the stack.  Then it
     returns the address of that block.

What is the "structure value address"? Is it a typo for "return value 

Secondly, the docs contain these sentence for __builtin_apply:

     It is not always simple to compute the proper value for SIZE.  The
     value is used by `__builtin_apply' to compute the amount of data
     that should be pushed on the stack and copied from the incoming
     argument area.

How should it be interpreted for an ABI (namely SPARC) where the first 
arguments are passed in registers (and the rest on the stack) but where room 
is always reserved for them on the stack by the caller (for eventual use by 
the callee) but not filled by the caller? As the size of the whole area 
allocated by the caller or that of the area allocated for the arguments not 
passed in registers?

Eric Botcazou

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