| 271 | void OnTerminate() { RaiseException(0xE0000003, EXCEPTION_NONCONTINUABLE, 0, nullptr); } |
| 272 | |
| 273 | void InstallPlatform() { |
| 274 | SetUnhandledExceptionFilter(&TopLevelFilter); |
| 275 | _set_purecall_handler(&OnPureCall); |
| 276 | _set_invalid_parameter_handler(&OnInvalidParameter); |
| 277 | std::set_terminate(&OnTerminate); |
| 278 | |
| 279 | // Opt out of the Windows Error Reporting "crashed app" popup dialog so |
| 280 | // the process exits immediately after our filter returns. |
| 281 | SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX); |
| 282 | } |
| 283 | |
| 284 | #else // POSIX |
| 285 | |