aboutsummaryrefslogtreecommitdiff
path: root/src/build_settings.cpp
diff options
context:
space:
mode:
authorColin Davidson <colrdavidson@gmail.com>2022-09-21 18:35:56 -0700
committerColin Davidson <colrdavidson@gmail.com>2022-09-21 18:35:56 -0700
commit2ff61bdfc7315ad5cda0d049970cf3a5baf1d72f (patch)
tree5b771cc77d38ba51e08efcbcb9df2a1526a446f3 /src/build_settings.cpp
parenteb0d7465e2aa4d6119c9219930f9403951df16f0 (diff)
fix target features to make wasm intrinsics happy
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++] = '"';
}