aboutsummaryrefslogtreecommitdiff
path: root/src/build_settings.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2023-09-21 11:20:13 +0100
committergingerBill <bill@gingerbill.org>2023-09-21 11:20:13 +0100
commit4aa9d34b3d8495404d91c18743438671be1a6168 (patch)
treed7640fdbe60fa5c5ee1ea37a3ad42c6def956bff /src/build_settings.cpp
parent38d2a0ddb9b1e74661dd05fae71e3a2d47e8de2c (diff)
Add attributes for sanitize_memory and sanitize_thread
Diffstat (limited to 'src/build_settings.cpp')
-rw-r--r--src/build_settings.cpp31
1 files changed, 30 insertions, 1 deletions
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;
+ }
}