| Index: chrome_frame/crash_reporting/veh_test.h
|
| ===================================================================
|
| --- chrome_frame/crash_reporting/veh_test.h (revision 142572)
|
| +++ chrome_frame/crash_reporting/veh_test.h (working copy)
|
| @@ -9,10 +9,29 @@
|
|
|
| #ifndef EXCEPTION_CHAIN_END
|
| #define EXCEPTION_CHAIN_END ((struct _EXCEPTION_REGISTRATION_RECORD*)-1)
|
| +#if !defined(_WIN32_WINNT_WIN8)
|
| typedef struct _EXCEPTION_REGISTRATION_RECORD {
|
| struct _EXCEPTION_REGISTRATION_RECORD* Next;
|
| PVOID Handler;
|
| } EXCEPTION_REGISTRATION_RECORD;
|
| +// VEH handler flags settings.
|
| +// These are grabbed from winnt.h for PocketPC.
|
| +// Only EXCEPTION_NONCONTINUABLE in defined in "regular" winnt.h
|
| +// #define EXCEPTION_NONCONTINUABLE 0x1 // Noncontinuable exception
|
| +#define EXCEPTION_UNWINDING 0x2 // Unwind is in progress
|
| +#define EXCEPTION_EXIT_UNWIND 0x4 // Exit unwind is in progress
|
| +#define EXCEPTION_STACK_INVALID 0x8 // Stack out of limits or unaligned
|
| +#define EXCEPTION_NESTED_CALL 0x10 // Nested exception handler call
|
| +#define EXCEPTION_TARGET_UNWIND 0x20 // Target unwind in progress
|
| +#define EXCEPTION_COLLIDED_UNWIND 0x40 // Collided exception handler call
|
| +
|
| +#define EXCEPTION_UNWIND (EXCEPTION_UNWINDING | EXCEPTION_EXIT_UNWIND | \
|
| + EXCEPTION_TARGET_UNWIND | EXCEPTION_COLLIDED_UNWIND)
|
| +
|
| +#define IS_UNWINDING(Flag) (((Flag) & EXCEPTION_UNWIND) != 0)
|
| +#define IS_DISPATCHING(Flag) (((Flag) & EXCEPTION_UNWIND) == 0)
|
| +#define IS_TARGET_UNWIND(Flag) ((Flag) & EXCEPTION_TARGET_UNWIND)
|
| +#endif // !defined(_WIN32_WINNT_WIN8)
|
| #endif // EXCEPTION_CHAIN_END
|
|
|
| class ExceptionInfo : public _EXCEPTION_POINTERS {
|
| @@ -51,7 +70,8 @@
|
| int i = 0;
|
| for (; p; ++i) {
|
| CHECK(i + 1 < arraysize(chain_));
|
| - chain_[i].Handler = const_cast<void*>(p);
|
| + chain_[i].Handler =
|
| + reinterpret_cast<PEXCEPTION_ROUTINE>(const_cast<void*>(p));
|
| chain_[i].Next = &chain_[i + 1];
|
| p = va_arg(vl, const void*);
|
| }
|
|
|