2
0
gingerBill 3 жил өмнө
parent
commit
a22120fe94
1 өөрчлөгдсөн 26 нэмэгдсэн , 29 устгасан
  1. 26 29
      core/runtime/procs.odin

+ 26 - 29
core/runtime/procs.odin

@@ -1,6 +1,31 @@
 package runtime
 
-when ODIN_ARCH == "wasm32" || ODIN_ARCH == "wasm64" || (ODIN_NO_CRT && ODIN_OS != "windows") {
+when ODIN_NO_CRT && ODIN_OS == "windows" {
+	foreign import lib "system:NtDll.lib"
+	
+	@(private="file")
+	@(default_calling_convention="std")
+	foreign lib {
+		RtlMoveMemory :: proc(dst, src: rawptr, length: int) ---
+		RtlFillMemory :: proc(dst: rawptr, length: int, fill: i32) ---
+	}
+	
+	@(link_name="memset", linkage="strong", require)
+	memset :: proc "c" (ptr: rawptr, val: i32, len: int) -> rawptr {
+		RtlFillMemory(ptr, len, val)
+		return ptr
+	}
+	@(link_name="memmove", linkage="strong", require)
+	memmove :: proc "c" (dst, src: rawptr, len: int) -> rawptr {
+		RtlMoveMemory(dst, src, len)
+		return dst
+	}
+	@(link_name="memcpy", linkage="strong", require)
+	memcpy :: proc "c" (dst, src: rawptr, len: int) -> rawptr {
+		RtlMoveMemory(dst, src, len)
+		return dst
+	}
+} else when ODIN_NO_CRT || (ODIN_ARCH == "wasm32" || ODIN_ARCH == "wasm64") {
 	@(link_name="memset", linkage="strong", require)
 	memset :: proc "c" (ptr: rawptr, val: i32, len: int) -> rawptr {
 		if ptr != nil && len != 0 {
@@ -36,34 +61,6 @@ when ODIN_ARCH == "wasm32" || ODIN_ARCH == "wasm64" || (ODIN_NO_CRT && ODIN_OS !
 		}
 		return dst
 		
-	}
-} else when ODIN_NO_CRT && ODIN_OS == "windows" {
-	foreign import lib "system:NtDll.lib"
-	
-	@(private="file")
-	@(default_calling_convention="std")
-	foreign lib {
-		RtlMoveMemory :: proc(dst, src: rawptr, length: int) ---
-		RtlFillMemory :: proc(dst: rawptr, length: int, fill: i32) ---
-	}
-	
-	@(link_name="memset", linkage="strong", require)
-	memset :: proc "c" (ptr: rawptr, val: i32, len: int) -> rawptr {
-		RtlFillMemory(ptr, len, val)
-		return ptr
-	}
-	
-	@(link_name="memmove", linkage="strong", require)
-	memmove :: proc "c" (dst, src: rawptr, len: int) -> rawptr {
-		RtlMoveMemory(dst, src, len)
-		return dst
-		
-	}
-	@(link_name="memcpy", linkage="strong", require)
-	memcpy :: proc "c" (dst, src: rawptr, len: int) -> rawptr {
-		RtlMoveMemory(dst, src, len)
-		return dst
-		
 	}
 } else {
 	memset :: proc "c" (ptr: rawptr, val: i32, len: int) -> rawptr {