Jon Griffiths tntjpgriff at
Thu Feb 1 21:28:13 CST 2001


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
-exception and RTTI code is binary compatable.
-Class vtables are exported. No static RTTI data for the classes yet though.


   * 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>
     -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 , jon_p_griffiths at
-------------- next part --------------
A non-text attachment was scrubbed...
Name: msvcrt.diff.bz2
Type: application/x-bzip2
Size: 10184 bytes
Desc: not available
Url :

More information about the wine-patches mailing list