From 4aa9d34b3d8495404d91c18743438671be1a6168 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Thu, 21 Sep 2023 11:20:13 +0100 Subject: Add attributes for sanitize_memory and sanitize_thread --- src/build_settings.cpp | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) (limited to 'src/build_settings.cpp') diff --git a/src/build_settings.cpp b/src/build_settings.cpp index 08e591a3a..8f495e3c4 100644 --- a/src/build_settings.cpp +++ b/src/build_settings.cpp @@ -1747,11 +1747,40 @@ gb_internal bool init_build_paths(String init_filename) { return false; } + if (build_context.sanitizer_flags & SanitizerFlag_Address) { + switch (build_context.metrics.os) { + case TargetOs_windows: + case TargetOs_linux: + case TargetOs_darwin: + break; + default: + gb_printf_err("-sanitize:memory is only supported on windows, linux, and darwin\n"); + return false; + } + } + if (build_context.sanitizer_flags & SanitizerFlag_Memory) { - if (build_context.metrics.os != TargetOs_linux) { + switch (build_context.metrics.os) { + case TargetOs_linux: + break; + default: gb_printf_err("-sanitize:memory is only supported on linux\n"); return false; } + if (build_context.metrics.os != TargetOs_linux) { + return false; + } + } + + if (build_context.sanitizer_flags & SanitizerFlag_Thread) { + switch (build_context.metrics.os) { + case TargetOs_linux: + case TargetOs_darwin: + break; + default: + gb_printf_err("-sanitize:thread is only supported on linux and darwin\n"); + return false; + } } -- cgit v1.2.3