<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>(and codegen..)<BR>
 <BR>
C:\dev2\j\m3\t>type t.c<BR><BR>
typedef struct {<BR> int a,b,c,d,e,f;<BR>} Foo_t;<BR>
 <BR>
void __stdcall Sleep(Foo_t foo);<BR>
 <BR>
extern Foo_t a;<BR>
 <BR>
void F1()<BR>{<BR> Sleep(a);<BR>}<BR>
 <BR>
C:\dev2\j\m3\t>gcc -c -S t.c<BR>
 <BR>
C:\dev2\j\m3\t>type t.<FONT face="">s</FONT><BR>        .file   "t.c"<BR>        .text<BR>.globl _F1<BR>        .def    _F1;    .scl    2;      .type   32;     .endef<BR>_F1:<BR>        pushl   %ebp<BR>        movl    %esp, %ebp<BR>        subl    $24, %esp<BR>        movl    _a, %eax<BR>        movl    %eax, (%esp)<BR>        movl    _a+4, %eax<BR>        movl    %eax, 4(%esp)<BR>        movl    _a+8, %eax<BR>        movl    %eax, 8(%esp)<BR>        movl    _a+12, %eax<BR>        movl    %eax, 12(%esp)<BR>        movl    _a+16, %eax<BR>        movl    %eax, 16(%esp)<BR>        movl    _a+20, %eax<BR>        movl    %eax, 20(%esp)<BR><STRONG>        call    </STRONG><A href="mailto:_Sleep@24"><STRONG>_Sleep@24</STRONG></A><BR>        subl    $24, %esp<BR>        leave<BR>        ret<BR>
C:\dev2\j\m3\t><BR><BR>(NOTE: This is NOT the correct declaration of Sleep, but ok for testing purposes.)<BR>
 <BR>
C:\dev2\j\m3\t>type t.i3<BR>INTERFACE T;<BR>
 <BR>
TYPE Foo_t = RECORD<BR> a,b,c,d,e,f : INTEGER;<BR>END;<BR>
 <BR>
<*EXTERNAL Sleep:WINAPI*><BR>PROCEDURE Sleep (dwMilliseconds1: Foo_t);<BR>
END T.<BR>
 <BR>
C:\dev2\j\m3\t>type t.m3<BR><BR>
MODULE T;<BR>
VAR<BR> Foo: Foo_t;<BR><BR>
BEGIN<BR> Sleep(Foo);<BR>END T.<BR><BR>
 <BR>
LM1:<BR> movl 8(%ebp), %eax<BR> xorl $1, %eax<BR> testb %al, %al<BR> jne L2<BR> .stabn 68,0,6,LM2-_T_M3<BR>LM2:<BR> movl $_MM_T+52, %eax<BR> movl %eax, %edx<BR> subl $8, %esp<BR> subl $24, %esp<BR> movl %esp, %eax<BR> movl %eax, %edi<BR> movl %edx, %esi<BR> cld<BR> movl $6, %eax<BR> movl %eax, %ecx<BR> rep<BR> movsl<BR><STRONG> call </STRONG><A href="mailto:_Sleep@4"><STRONG>_Sleep@4</STRONG></A><BR> addl $8, %esp<BR>L2:<BR> movl $_MM_T, %eax<BR>LBE2:<BR> leal -8(%ebp), %esp<BR> popl %esi<BR> popl %edi<BR> leave<BR> ret<BR><BR>
?<BR>
 <BR>
 - Jay<BR><br /><hr />Connect and share in new ways with Windows Live. <a href='http://www.windowslive.com/share.html?ocid=TXT_TAGHM_Wave2_sharelife_012008' target='_new'>Get it now!</a></body>
</html>