aboutsummaryrefslogtreecommitdiff
path: root/src/build_settings.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2022-09-22 15:17:42 +0100
committergingerBill <bill@gingerbill.org>2022-09-22 15:17:42 +0100
commita7484f16cbbfe8ff7055f101147328e31c2440b8 (patch)
treebbf8b5cc70b6b78d78ecfa14be4aba7624dead30 /src/build_settings.cpp
parent6c8aad0afbfab55ed959712e1db4b6c368b4bead (diff)
parent12cc7388e74ce487dd342daf972f2395b140fd76 (diff)
Merge branch 'master' of https://github.com/odin-lang/Odin
Diffstat (limited to 'src/build_settings.cpp')
-rw-r--r--src/build_settings.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/build_settings.cpp b/src/build_settings.cpp
index f640bcced..02de22ec4 100644
--- a/src/build_settings.cpp
+++ b/src/build_settings.cpp
@@ -1311,13 +1311,16 @@ void enable_target_feature(TokenPos pos, String const &target_feature_list) {
defer (mutex_unlock(&bc->target_features_mutex));
auto items = split_by_comma(target_feature_list);
- array_free(&items);
for_array(i, items) {
String const &item = items.data[i];
if (!check_target_feature_is_valid(pos, item)) {
error(pos, "Target feature '%.*s' is not valid", LIT(item));
+ continue;
}
+
+ string_set_add(&bc->target_features_set, item);
}
+ array_free(&items);
}
@@ -1340,7 +1343,7 @@ char const *target_features_set_to_cstring(gbAllocator allocator, bool with_quot
if (with_quotes) features[len++] = '"';
String feature = build_context.target_features_set.entries[i].value;
- gb_memmove(features, feature.text, feature.len);
+ gb_memmove(features + len, feature.text, feature.len);
len += feature.len;
if (with_quotes) features[len++] = '"';
}