CVS: sml-dist/src/compiler/CodeGen/cpscompile cps-c-calls.sml,1.5,1.6
Matthias Blume <[email protected]>
| Newsgroups | gmane.comp.lang.sml.smlnj.commits |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/smlnj/sml-dist/src/compiler/CodeGen/cpscompile
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30625/src/compiler/CodeGen/cpscompile
Modified Files:
cps-c-calls.sml
Log Message:
long long arguments to C functions (still not working properly)
Index: cps-c-calls.sml
===================================================================
RCS file: /cvsroot/smlnj/sml-dist/src/compiler/CodeGen/cpscompile/cps-c-calls.sml,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** cps-c-calls.sml 3 Feb 2005 22:11:49 -0000 1.5
--- cps-c-calls.sml 7 Feb 2005 22:16:51 -0000 1.6
***************
*** 285,291 ****
([CCalls.ARG (regbind v)], vl)
| m ((C_signed I_long_long | C_unsigned I_long_long), v :: vl) =
! ([CCalls.ARG (M.LOAD (ity, ea (regbind v, 4), R.memory)),
! CCalls.ARG (M.LOAD (ity, regbind v, R.memory))],
! vl)
| m (C_long_double, _) =
error "RCC: unexpected long double argument"
--- 285,292 ----
([CCalls.ARG (regbind v)], vl)
| m ((C_signed I_long_long | C_unsigned I_long_long), v :: vl) =
! let fun field off =
! M.LOAD (ity, ea (regbind v, off), R.memory)
! in ([CCalls.ARG (field 8), CCalls.ARG (field 4)], vl)
! end
| m (C_long_double, _) =
error "RCC: unexpected long double argument"
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click