aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/testing/signal_handler_libc.odin16
1 files changed, 12 insertions, 4 deletions
diff --git a/core/testing/signal_handler_libc.odin b/core/testing/signal_handler_libc.odin
index 4fc9552ae..961f5c7ce 100644
--- a/core/testing/signal_handler_libc.odin
+++ b/core/testing/signal_handler_libc.odin
@@ -24,10 +24,18 @@ import "core:terminal/ansi"
@(private="file") stop_test_passed: libc.sig_atomic_t
@(private="file") stop_test_alert: libc.sig_atomic_t
-@(private="file", thread_local)
-local_test_index: libc.sig_atomic_t
-@(private="file", thread_local)
-local_test_index_set: bool
+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")
+ local_test_index_set: bool
+} else {
+ @(private="file", thread_local)
+ local_test_index: libc.sig_atomic_t
+ @(private="file", thread_local)
+ local_test_index_set: bool
+}
// Windows does not appear to have a SIGTRAP, so this is defined here, instead
// of in the libc package, just so there's no confusion about it being