aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 77758b929..5131bdc21 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -3245,6 +3245,15 @@ int main(int arg_count, char const **arg_ptr) {
}
}
+ // NOTE(laytan): on riscv64 we want to enforce some features.
+ if (build_context.metrics.arch == TargetArch_riscv64) {
+ String disabled;
+ if (!check_target_feature_is_enabled(str_lit("64bit,f,d,m"), &disabled)) { // 64bit, floats, doubles, integer multiplication.
+ gb_printf_err("missing required target feature: \"%.*s\", enable it by setting a different -microarch or explicitly adding it through -target-features\n", LIT(disabled));
+ gb_exit(1);
+ }
+ }
+
if (build_context.show_debug_messages) {
debugf("Selected microarch: %.*s\n", LIT(march));
debugf("Default microarch features: %.*s\n", LIT(default_features));