From c4a8af0f0d2d8c5d052f075df524f10b67306730 Mon Sep 17 00:00:00 2001 From: Yhya Ibrahim Date: Sat, 11 Oct 2025 15:48:12 +0300 Subject: Check for `+` and `-` in the target features set --- src/build_settings.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/build_settings.cpp') diff --git a/src/build_settings.cpp b/src/build_settings.cpp index 53953600e..694ba1142 100644 --- a/src/build_settings.cpp +++ b/src/build_settings.cpp @@ -2093,7 +2093,19 @@ gb_internal bool check_target_feature_is_enabled(String const &feature, String * for (;;) { String str = string_split_iterator(&it, ','); if (str == "") break; + if (!string_set_exists(&build_context.target_features_set, str)) { + String plus_str = concatenate_strings(temporary_allocator(), make_string_c("+"), str); + + if (!string_set_exists(&build_context.target_features_set, plus_str)) { + if (not_enabled) *not_enabled = str; + return false; + } + } + + String minus_str = concatenate_strings(temporary_allocator(), make_string_c("-"), str); + + if (string_set_exists(&build_context.target_features_set, minus_str)) { if (not_enabled) *not_enabled = str; return false; } -- cgit v1.2.3