Add other constants to c and libc

This commit is contained in:
gingerBill
2021-09-10 16:14:39 +01:00
parent 297cdde144
commit 9980f81062
5 changed files with 14 additions and 3 deletions

View File

@@ -89,6 +89,14 @@ INT16_MIN :: ~INT16_MAX
INT32_MIN :: ~INT32_MAX
INT64_MIN :: ~INT64_MAX
SIZE_MAX :: max(size_t)
PTRDIFF_MIN :: min(ptrdiff_t)
PTRDIFF_MAX :: max(ptrdiff_t)
WCHAR_MIN :: min(wchar_t)
WCHAR_MAX :: max(wchar_t)
NULL :: rawptr(uintptr(0))
NDEBUG :: !ODIN_DEBUG

View File

@@ -10,6 +10,9 @@ when ODIN_OS == "windows" {
sig_atomic_t :: distinct atomic_int
SIG_ATOMIC_MIN :: min(sig_atomic_t)
SIG_ATOMIC_MAX :: max(sig_atomic_t)
@(default_calling_convention="c")
foreign libc {
signal :: proc(sig: int, func: proc "c" (int)) -> proc "c" (int) ---

View File

@@ -38,7 +38,7 @@ foreign libc {
strtok :: proc(s1: [^]char, s2: cstring) -> [^]char ---
// 7.24.6 Miscellaneous functions
memset : proc(s: rawptr, c: int, n: size_t) -> rawptr : runtime.memset
strerror :: proc(errnum: int) -> [^]char ---
strlen :: proc(s: cstring) -> size_t ---
}
memset : proc "c" (s: rawptr, c: int, n: size_t) -> rawptr : runtime.memset

View File

@@ -4,7 +4,7 @@ import "core:runtime"
import "core:intrinsics"
set :: proc "contextless" (data: rawptr, value: byte, len: int) -> rawptr #no_bounds_check {
return runtime.memset(data, i32(value), len)
return runtime.memset(data, i32(value), int(len))
}
zero :: proc "contextless" (data: rawptr, len: int) -> rawptr {
return set(data, 0, len)

View File

@@ -1,7 +1,7 @@
package runtime
@(link_name="memset")
memset :: proc "c" (ptr: rawptr, val: i32, len: int) -> rawptr #no_bounds_check {
memset :: proc "c" (ptr: rawptr, val: i32, len: uint) -> rawptr #no_bounds_check {
if ptr != nil && len != 0 {
b := byte(val)
p := ([^]byte)(ptr)