aboutsummaryrefslogtreecommitdiff
path: root/src/build_settings.cpp
diff options
context:
space:
mode:
authorgingerBill <gingerBill@users.noreply.github.com>2025-08-08 10:24:44 +0100
committergingerBill <gingerBill@users.noreply.github.com>2025-08-08 10:24:44 +0100
commit991883d0e1376c1e5675e88c26fee89362adc7b1 (patch)
tree57de485e1f88aaa9dc5d47087bbedea2f1945d1b /src/build_settings.cpp
parente4a0228a8030f1d8d8793464be9ea7f8ae889941 (diff)
Add `#+feature integer-division-by-zero:<string>`
Diffstat (limited to 'src/build_settings.cpp')
-rw-r--r--src/build_settings.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/build_settings.cpp b/src/build_settings.cpp
index c2a56d1bb..e21e7da12 100644
--- a/src/build_settings.cpp
+++ b/src/build_settings.cpp
@@ -352,12 +352,24 @@ u64 get_vet_flag_from_name(String const &name) {
enum OptInFeatureFlags : u64 {
OptInFeatureFlag_NONE = 0,
OptInFeatureFlag_DynamicLiterals = 1u<<0,
+
+ OptInFeatureFlag_IntegerDivisionByZero_Trap = 1u<<1,
+ OptInFeatureFlag_IntegerDivisionByZero_Zero = 1u<<2,
+
+ OptInFeatureFlag_IntegerDivisionByZero_ALL = OptInFeatureFlag_IntegerDivisionByZero_Trap|OptInFeatureFlag_IntegerDivisionByZero_Zero,
+
};
u64 get_feature_flag_from_name(String const &name) {
if (name == "dynamic-literals") {
return OptInFeatureFlag_DynamicLiterals;
}
+ if (name == "integer-division-by-zero:trap") {
+ return OptInFeatureFlag_IntegerDivisionByZero_Trap;
+ }
+ if (name == "integer-division-by-zero:zero") {
+ return OptInFeatureFlag_IntegerDivisionByZero_Zero;
+ }
return OptInFeatureFlag_NONE;
}