diff options
| author | Colin Davidson <colrdavidson@gmail.com> | 2022-09-21 18:35:56 -0700 |
|---|---|---|
| committer | Colin Davidson <colrdavidson@gmail.com> | 2022-09-21 18:35:56 -0700 |
| commit | 2ff61bdfc7315ad5cda0d049970cf3a5baf1d72f (patch) | |
| tree | 5b771cc77d38ba51e08efcbcb9df2a1526a446f3 /src/build_settings.cpp | |
| parent | eb0d7465e2aa4d6119c9219930f9403951df16f0 (diff) | |
fix target features to make wasm intrinsics happy
Diffstat (limited to 'src/build_settings.cpp')
| -rw-r--r-- | src/build_settings.cpp | 7 |
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++] = '"'; } |