msvcrt/c++

Jon Griffiths tntjpgriff at tsnxt.co.uk
Thu Feb 1 21:28:13 CST 2001


Hi,

This is a resubmit of the previous patch. It now manages to do the 
setjmp/longjmp stuff 90% in C rather than asm. It also implements setjmp3 
which is needed for programs compiled with VC++ v4.0+, and it should fix the 
compilation problem reported on cemw.

Most of the fixes are for binary compatability with VC++ compiled programs:
-Setjmp/longjmp work, at least within the same try level.
-The cpp.c code is fixed to comply with the __thiscall calling convention,
  where the class pointer is in ecx and the remaining parameters are as per
  stdcall.
-exception and RTTI code is binary compatable.
-Class vtables are exported. No static RTTI data for the classes yet though.

Cheers,
Jon

Changelog:
   * dlls/msvcrt/cpp.c dlls/msvcrt/exception.c dlls/msvcrt/msvcrt.spec
     dlls/msvcrt/file.c dlls/msvcrt/heap.c dlls/msvcrt/mbcs.c
     Jon Griffiths <jon_p_griffiths at yahoo.com>
     -C++: Add RTTI operators, make binary compatable
     -Complete old/new set_new_handler() support
     -Implement setjmp, longjmp, _callnewh, mblen, mbsupr, mbslwr,
     -_heapadd, putwc, putwchar, __unDName stub
     -Mark more functions as -i386 and -noimport as needed


-- 
"Don't wait for the seas to part, or messiahs to come,
  Dont you sit around and waste this chance ..." -Live

tntjpgriff at tsnxt.co.uk , jon_p_griffiths at yahoo.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: msvcrt.diff.bz2
Type: application/x-bzip2
Size: 10184 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20010202/58c8331b/msvcrt.diff.bin


More information about the wine-patches mailing list