aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2019-12-29 21:10:27 +0000
committergingerBill <bill@gingerbill.org>2019-12-29 21:10:27 +0000
commit2252d992d79a39c0c9d1ad0eeb312b6e75195f8f (patch)
tree56e95fca5a4b83d0132eb3f38f434908395d2d96 /src/main.cpp
parent2d70a784d16c5fa10f830e12c138f275ae5bb018 (diff)
Add `-disable-assert` to disable the code generation of the built-in run-time 'assert' procedure
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 19d13ff46..61ffd9eb7 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -229,6 +229,7 @@ enum BuildFlagKind {
BuildFlag_BuildMode,
BuildFlag_Target,
BuildFlag_Debug,
+ BuildFlag_DisableAssert,
BuildFlag_NoBoundsCheck,
BuildFlag_NoCRT,
BuildFlag_UseLLD,
@@ -318,6 +319,7 @@ bool parse_build_flags(Array<String> args) {
add_flag(&build_flags, BuildFlag_BuildMode, str_lit("build-mode"), BuildFlagParam_String);
add_flag(&build_flags, BuildFlag_Target, str_lit("target"), BuildFlagParam_String);
add_flag(&build_flags, BuildFlag_Debug, str_lit("debug"), BuildFlagParam_None);
+ add_flag(&build_flags, BuildFlag_DisableAssert, str_lit("disable-assert"), BuildFlagParam_None);
add_flag(&build_flags, BuildFlag_NoBoundsCheck, str_lit("no-bounds-check"), BuildFlagParam_None);
add_flag(&build_flags, BuildFlag_NoCRT, str_lit("no-crt"), BuildFlagParam_None);
add_flag(&build_flags, BuildFlag_UseLLD, str_lit("lld"), BuildFlagParam_None);
@@ -669,6 +671,10 @@ bool parse_build_flags(Array<String> args) {
build_context.ODIN_DEBUG = true;
break;
+ case BuildFlag_DisableAssert:
+ build_context.ODIN_DISABLE_ASSERT = true;
+ break;
+
case BuildFlag_NoBoundsCheck:
build_context.no_bounds_check = true;
break;
@@ -1031,6 +1037,10 @@ void print_show_help(String const arg0, String const &command) {
print_usage_line(2, "Enabled debug information, and defines the global constant ODIN_DEBUG to be 'true'");
print_usage_line(0, "");
+ print_usage_line(1, "-disable-assert");
+ print_usage_line(2, "Disable the code generation of the built-in run-time 'assert' procedure, and defines the global constant ODIN_DISABLE_ASSERT to be 'true'");
+ print_usage_line(0, "");
+
print_usage_line(1, "-no-bounds-check");
print_usage_line(2, "Disables bounds checking program wide");
print_usage_line(0, "");