widl [1/7]: Output working exception handling macros. [take 3]

Alexandre Julliard julliard at winehq.org
Thu Nov 29 13:36:37 CST 2007

Dan Hipschman <dsh at linux.ucla.edu> writes:

> That's basically what I did in the original patch using
> __TRY/__EXCEPT/__FINALLY.  You told me to do this in a more
> straightforward way:
> http://www.winehq.org/pipermail/wine-devel/2007-November/060515.html
> which I took to mean trying to implement the finally block as an actual
> block in the local scope, instead of a function (which is a bit of a
> pain).  I don't see any way to execute the finally block in the local
> scope without rethrowing exceptions, or using GCC's nested functions.
> The except condition is easier to put into a handler since the only
> conditions WIDL generates are pretty simple.
> Should I go back to the original patch?  How did you want it different?

I said you should avoid the convoluted macros and the dependencies on
internal Wine functions, since you can generate the code directly. That
doesn't mean you can change the semantics, you really need to filter the
exception type in the handler. And yes, the finally block most likely
needs to be a separate function; that is a bit complicated so I'd
suggest to start with just exceptions for now and get this one right

Alexandre Julliard
julliard at winehq.org

More information about the wine-devel mailing list