Use windows specific exception traps

This commit is contained in:
gingerBill
2020-06-15 12:39:29 +01:00
parent 08e271720a
commit f70939ab4f
2 changed files with 41 additions and 7 deletions
+17
View File
@@ -2,6 +2,23 @@ package runtime
foreign import kernel32 "system:Kernel32.lib"
windows_trap_array_bounds :: proc "contextless" () -> ! {
DWORD :: u32;
ULONG_PTR :: uint;
EXCEPTION_ARRAY_BOUNDS_EXCEEDED :: 0xC000008C;
foreign kernel32 {
RaiseException :: proc(dwExceptionCode, dwExceptionFlags, nNumberOfArguments: DWORD, lpArguments: ^ULONG_PTR) -> ! ---
}
RaiseException(EXCEPTION_ARRAY_BOUNDS_EXCEEDED, 0, 0, nil);
}
windows_trap_type_assertion :: proc "contextless" () -> ! {
windows_trap_array_bounds();
}
// @private
// @(link_name="_tls_index")
// _tls_index: u32;