aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Lipstate <jon@lipstate.com>2025-09-03 22:51:28 -0700
committerJon Lipstate <jon@lipstate.com>2025-09-03 22:51:28 -0700
commit57bc45ae30736a891e4b65c7047a091e53cf60e3 (patch)
tree53a7fd84f67213318f659f02b4d03d6f7acdac45
parente0c4c5336241cb3106910bec64369888b937132b (diff)
revert to working build
-rw-r--r--base/runtime/core_builtin.odin4
-rw-r--r--core/testing/signal_handler_libc.odin4
-rw-r--r--src/main.cpp5
3 files changed, 6 insertions, 7 deletions
diff --git a/base/runtime/core_builtin.odin b/base/runtime/core_builtin.odin
index 7e96c6784..33b600c3e 100644
--- a/base/runtime/core_builtin.odin
+++ b/base/runtime/core_builtin.odin
@@ -54,8 +54,8 @@ container_of :: #force_inline proc "contextless" (ptr: $P/^$Field_Type, $T: type
when !NO_DEFAULT_TEMP_ALLOCATOR {
- when ODIN_ARCH == .i386 && ODIN_OS == .Windows && ODIN_NO_CRT {
- // Thread-local storage doesn't work on Windows i386 without CRT
+ when ODIN_ARCH == .i386 && ODIN_OS == .Windows {
+ // Thread-local storage is problematic on Windows i386
global_default_temp_allocator_data: Default_Temp_Allocator
} else {
@thread_local global_default_temp_allocator_data: Default_Temp_Allocator
diff --git a/core/testing/signal_handler_libc.odin b/core/testing/signal_handler_libc.odin
index 7c50fbb09..961f5c7ce 100644
--- a/core/testing/signal_handler_libc.odin
+++ b/core/testing/signal_handler_libc.odin
@@ -24,8 +24,8 @@ import "core:terminal/ansi"
@(private="file") stop_test_passed: libc.sig_atomic_t
@(private="file") stop_test_alert: libc.sig_atomic_t
-when ODIN_ARCH == .i386 && ODIN_OS == .Windows && ODIN_NO_CRT {
- // Thread-local storage doesn't work on Windows i386 without CRT
+when ODIN_ARCH == .i386 && ODIN_OS == .Windows {
+ // Thread-local storage is problematic on Windows i386
@(private="file")
local_test_index: libc.sig_atomic_t
@(private="file")
diff --git a/src/main.cpp b/src/main.cpp
index 198706de2..c4646bc9f 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -3619,9 +3619,8 @@ int main(int arg_count, char const **arg_ptr) {
// }
// Warn about Windows i386 thread-local storage limitations
- if (build_context.metrics.arch == TargetArch_i386 && build_context.metrics.os == TargetOs_windows && build_context.no_crt) {
- gb_printf_err("Warning: Thread-local storage is not supported on Windows i386 with -no-crt.\n");
- gb_printf_err(" Multi-threaded code will not work correctly.\n");
+ if (build_context.metrics.arch == TargetArch_i386 && build_context.metrics.os == TargetOs_windows) {
+ gb_printf_err("Warning: Thread-local storage is disabled on Windows i386.\n");
}
// Check chosen microarchitecture. If not found or ?, print list.