John Klehm wrote: > diff --git a/include/excpt.h b/include/excpt.h > index 3369f3b..081fb06 100644 > --- a/include/excpt.h > +++ b/include/excpt.h > @@ -46,6 +46,10 @@ typedef enum _EXCEPTION_DISPOSITION > unsigned long __cdecl _exception_code(void); > void * __cdecl _exception_info(void); > int __cdecl _abnormal_termination(void); > +#elif defined(__GNUC__) && defined(USE_COMPILER_EXCEPTIONS) > +#define __try > +#define __except(x) while(0) > +#define __finally > #endif /* defined(_MSC_VER) && defined(USE_COMPILER_EXCEPTIONS) */ > > #endif /* __WINE_EXCPT_H */ >
Actually, I think the best place to fix this is in include/wine/exception.h. I also think it would be better to use "defined(__MINGW32__) && !defined(USE_COMPILER_EXCEPTIONS)." This is because that is the platform that can't use the exception macros implemented on top of sigsetjmp, and if the developer defines "USE_COMPILER_EXCEPTIONS" then it is telling us that their compiler supports __try, __except and __finally (there have been custom builds of MinGW that include support for native exception handling). -- Rob Shearman
