aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2021-07-24 18:00:19 +0100
committergingerBill <bill@gingerbill.org>2021-07-24 18:00:19 +0100
commit92f3567ee6e28ac07f237e9dbe7287436954877b (patch)
treede7c22340b094ab39b313b31c59d4943b9dc01eb /src/main.cpp
parent481fc8a5b60cf15df8b87872adbf0dfd03060e78 (diff)
Default to using a threaded checker on Windows; Add `-no-threaded-checker` for Windows
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/main.cpp b/src/main.cpp
index ae089638d..a10e19dea 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -610,6 +610,7 @@ enum BuildFlagKind {
BuildFlag_UseLLD,
BuildFlag_UseSeparateModules,
BuildFlag_ThreadedChecker,
+ BuildFlag_NoThreadedChecker,
BuildFlag_ShowDebugMessages,
BuildFlag_Vet,
BuildFlag_VetExtra,
@@ -734,6 +735,7 @@ bool parse_build_flags(Array<String> args) {
add_flag(&build_flags, BuildFlag_UseLLD, str_lit("lld"), BuildFlagParam_None, Command__does_build);
add_flag(&build_flags, BuildFlag_UseSeparateModules,str_lit("use-separate-modules"),BuildFlagParam_None, Command__does_build);
add_flag(&build_flags, BuildFlag_ThreadedChecker, str_lit("threaded-checker"), BuildFlagParam_None, Command__does_check);
+ add_flag(&build_flags, BuildFlag_NoThreadedChecker, str_lit("no-threaded-checker"), BuildFlagParam_None, Command__does_check);
add_flag(&build_flags, BuildFlag_ShowDebugMessages, str_lit("show-debug-messages"), BuildFlagParam_None, Command_all);
add_flag(&build_flags, BuildFlag_Vet, str_lit("vet"), BuildFlagParam_None, Command__does_check);
add_flag(&build_flags, BuildFlag_VetExtra, str_lit("vet-extra"), BuildFlagParam_None, Command__does_check);
@@ -1220,9 +1222,21 @@ bool parse_build_flags(Array<String> args) {
break;
case BuildFlag_ThreadedChecker:
+ #if defined(GB_SYSTEM_WINDOWS)
+ gb_printf_err("-threaded-checker is the default on this platform\n");
+ bad_flags = true;
+ #endif
build_context.threaded_checker = true;
break;
+ case BuildFlag_NoThreadedChecker:
+ #if !defined(GB_SYSTEM_WINDOWS)
+ gb_printf_err("-no-threaded-checker is the default on this platform\n");
+ bad_flags = true;
+ #endif
+ build_context.threaded_checker = false;
+ break;
+
case BuildFlag_ShowDebugMessages:
build_context.show_debug_messages = true;
break;
@@ -1767,10 +1781,16 @@ void print_show_help(String const arg0, String const &command) {
}
if (check) {
+ #if defined(GB_SYSTEM_WINDOWS)
+ print_usage_line(1, "-no-threaded-checker");
+ print_usage_line(2, "Disabled multithreading in the semantic checker stage");
+ print_usage_line(0, "");
+ #else
print_usage_line(1, "-threaded-checker");
print_usage_line(1, "[EXPERIMENTAL]");
print_usage_line(2, "Multithread the semantic checker stage");
print_usage_line(0, "");
+ #endif
print_usage_line(1, "-vet");
print_usage_line(2, "Do extra checks on the code");