Comment about
http://www.winehq.com/hypermail/wine-devel/2003/01/0390.html
| I don't see why it can't be there if we do something like | | #ifdef HAVE_SNAZZY_COMPILER | #define RpcTryExcept __try | ... | #else | #define RpcTryExcept if (1) | ... | #endif | | People compiling Windows apps under Winelib would usually need to use a | compiler with a lot of extensions anyway, and people needing to compile | RPC/DCOM marshalling code should either use such a compiler, know what | they're doing, or (when it becomes possible) use widl to generate such | code.
One hint:
Sendmail 8.12 uses also exception mecanism.
On it's implementation 'try' uses setjmp()
( Look macros include/sm/exc.h -- you can not of course copy these but that should tell enough that it is doable just plain C )
/ Kari Hurtta
On Thu, 9 Jan 2003, Kari Hurtta wrote:
Sendmail 8.12 uses also exception mecanism.
On it's implementation 'try' uses setjmp()
( Look macros include/sm/exc.h -- you can not of course copy these but that should tell enough that it is doable just plain C )
Sure a try/except mechanism is doable in plain C. Wine already has such a plain-C-mechanism in include/wine/exception.h. The problem is to make it compatible with both Win32 SEH (which is different from setjmp/longjmp) *and* MSVC-style __except(expr) syntax; the macros in include/wine/exception.h, while complicated enough in their attempt to fit setjmp/longjmp into SEH, only manage to implement one of them.