From 80cd080175071138fd5357b558445e56c40c292b Mon Sep 17 00:00:00 2001 From: WisonYe Date: Sat, 19 Jul 2025 11:54:17 +1200 Subject: [PATCH 1/4] Fixed 'Odin/core/os/os_freebsd.odin(971:7) Index 0 is out of range 0..<0' when using '-default-to-nil-allocator'. --- core/os/os_freebsd.odin | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/os/os_freebsd.odin b/core/os/os_freebsd.odin index f57c464ac..d12210ac9 100644 --- a/core/os/os_freebsd.odin +++ b/core/os/os_freebsd.odin @@ -967,8 +967,8 @@ _processor_core_count :: proc() -> int { @(private, require_results) _alloc_command_line_arguments :: proc() -> []string { res := make([]string, len(runtime.args__)) - for arg, i in runtime.args__ { - res[i] = string(arg) + for arg, i in res { + res[i] = string(runtime.args__[i]) } return res } From 26e4104ac923f51ada45b7d827c41a0279153b80 Mon Sep 17 00:00:00 2001 From: WisonYe Date: Sat, 19 Jul 2025 11:59:18 +1200 Subject: [PATCH 2/4] Fixed 'Odin/core/os/os_linux.odin(1104:7) Index 0 is out of range 0..<0' when using '-default-to-nil-allocator'. --- core/os/os_linux.odin | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/os/os_linux.odin b/core/os/os_linux.odin index 683c893f9..60421f9a5 100644 --- a/core/os/os_linux.odin +++ b/core/os/os_linux.odin @@ -1100,8 +1100,8 @@ _processor_core_count :: proc() -> int { @(private, require_results) _alloc_command_line_arguments :: proc() -> []string { res := make([]string, len(runtime.args__)) - for arg, i in runtime.args__ { - res[i] = string(arg) + for arg, i in arg { + res[i] = string(runtime.args__[i]) } return res } From b9f08412aed5f71cef8f37f975980a167382cc4f Mon Sep 17 00:00:00 2001 From: WisonYe Date: Sat, 19 Jul 2025 12:03:22 +1200 Subject: [PATCH 3/4] Fixed Index 0 is out of range 0..<0' when using '-default-to-nil-allocator' for Linux/OpenBSD/NetBSD. --- core/os/os_linux.odin | 2 +- core/os/os_netbsd.odin | 4 ++-- core/os/os_openbsd.odin | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/core/os/os_linux.odin b/core/os/os_linux.odin index 60421f9a5..3fe194fcd 100644 --- a/core/os/os_linux.odin +++ b/core/os/os_linux.odin @@ -1100,7 +1100,7 @@ _processor_core_count :: proc() -> int { @(private, require_results) _alloc_command_line_arguments :: proc() -> []string { res := make([]string, len(runtime.args__)) - for arg, i in arg { + for arg, i in res { res[i] = string(runtime.args__[i]) } return res diff --git a/core/os/os_netbsd.odin b/core/os/os_netbsd.odin index efdd852fe..90482a5c9 100644 --- a/core/os/os_netbsd.odin +++ b/core/os/os_netbsd.odin @@ -1017,8 +1017,8 @@ _processor_core_count :: proc() -> int { @(private, require_results) _alloc_command_line_arguments :: proc() -> []string { res := make([]string, len(runtime.args__)) - for arg, i in runtime.args__ { - res[i] = string(arg) + for arg, i in res { + res[i] = string(runtime.args__[i]) } return res } diff --git a/core/os/os_openbsd.odin b/core/os/os_openbsd.odin index c68f7943c..f8e46741b 100644 --- a/core/os/os_openbsd.odin +++ b/core/os/os_openbsd.odin @@ -917,8 +917,8 @@ _processor_core_count :: proc() -> int { @(private, require_results) _alloc_command_line_arguments :: proc() -> []string { res := make([]string, len(runtime.args__)) - for arg, i in runtime.args__ { - res[i] = string(arg) + for arg, i in res { + res[i] = string(runtime.args__[i]) } return res } From 4ccdb48044b6a5c5172d69eac61210329fff6b65 Mon Sep 17 00:00:00 2001 From: WisonYe Date: Sat, 19 Jul 2025 12:29:03 +1200 Subject: [PATCH 4/4] Fixed the build check: ('arg' declared but not used) against the '-default-to-nil-allocator' fix for FreeBSD/OpenBSD/NetBSD/Linux. --- core/os/os_freebsd.odin | 2 +- core/os/os_linux.odin | 2 +- core/os/os_netbsd.odin | 2 +- core/os/os_openbsd.odin | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/os/os_freebsd.odin b/core/os/os_freebsd.odin index d12210ac9..aeffdcb87 100644 --- a/core/os/os_freebsd.odin +++ b/core/os/os_freebsd.odin @@ -967,7 +967,7 @@ _processor_core_count :: proc() -> int { @(private, require_results) _alloc_command_line_arguments :: proc() -> []string { res := make([]string, len(runtime.args__)) - for arg, i in res { + for _, i in res { res[i] = string(runtime.args__[i]) } return res diff --git a/core/os/os_linux.odin b/core/os/os_linux.odin index 3fe194fcd..66c30711d 100644 --- a/core/os/os_linux.odin +++ b/core/os/os_linux.odin @@ -1100,7 +1100,7 @@ _processor_core_count :: proc() -> int { @(private, require_results) _alloc_command_line_arguments :: proc() -> []string { res := make([]string, len(runtime.args__)) - for arg, i in res { + for _, i in res { res[i] = string(runtime.args__[i]) } return res diff --git a/core/os/os_netbsd.odin b/core/os/os_netbsd.odin index 90482a5c9..accc5abcd 100644 --- a/core/os/os_netbsd.odin +++ b/core/os/os_netbsd.odin @@ -1017,7 +1017,7 @@ _processor_core_count :: proc() -> int { @(private, require_results) _alloc_command_line_arguments :: proc() -> []string { res := make([]string, len(runtime.args__)) - for arg, i in res { + for _, i in res { res[i] = string(runtime.args__[i]) } return res diff --git a/core/os/os_openbsd.odin b/core/os/os_openbsd.odin index f8e46741b..ec9181ba6 100644 --- a/core/os/os_openbsd.odin +++ b/core/os/os_openbsd.odin @@ -917,7 +917,7 @@ _processor_core_count :: proc() -> int { @(private, require_results) _alloc_command_line_arguments :: proc() -> []string { res := make([]string, len(runtime.args__)) - for arg, i in res { + for _, i in res { res[i] = string(runtime.args__[i]) } return res