On Sun, Nov 14, 2010 at 7:49 AM, John McCall <[email protected]> wrote:
> (In contrast, the standard Unix x86-64 CC will pass, e.g., struct { double d; 
> void *p; } in an FP register and an integer register unless you're passing it 
> as a vararg).

Actually, I'm pretty sure it does that for vararg too. From what I
understand the calling convention of vararg functions and regular
functions *must* be the same for the C calling convention because a
function declared in C as e.g. "int foo()" (or more commonly, not
declared at all) is treated as vararg but may later match a definition
with a different prototype, including "int foo(Struct) { ... }".
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to