diff options
| author | gingerBill <bill@gingerbill.org> | 2021-07-10 23:51:37 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2021-07-10 23:51:37 +0100 |
| commit | d9e6ade03007f4ede6471a6ada23b2469e2f052d (patch) | |
| tree | ef13bc1d0b2b547abb3403c1f0e48226910c6ecc /src/main.cpp | |
| parent | 690374d4dec42365fd28cd6f9f1361697fdd7b9f (diff) | |
Add experimental support for a threaded semantic checker to `-threaded-checker`
Diffstat (limited to 'src/main.cpp')
| -rw-r--r-- | src/main.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/main.cpp b/src/main.cpp index 5222a0321..345642cc6 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -600,6 +600,7 @@ enum BuildFlagKind { BuildFlag_NoEntryPoint, BuildFlag_UseLLD, BuildFlag_UseSeparateModules, + BuildFlag_ThreadedChecker, BuildFlag_Vet, BuildFlag_VetExtra, BuildFlag_UseLLVMApi, @@ -722,6 +723,7 @@ bool parse_build_flags(Array<String> args) { add_flag(&build_flags, BuildFlag_NoEntryPoint, str_lit("no-entry-point"), BuildFlagParam_None, Command__does_check &~ Command_test); 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_Vet, str_lit("vet"), BuildFlagParam_None, Command__does_check); add_flag(&build_flags, BuildFlag_VetExtra, str_lit("vet-extra"), BuildFlagParam_None, Command__does_check); add_flag(&build_flags, BuildFlag_UseLLVMApi, str_lit("llvm-api"), BuildFlagParam_None, Command__does_build); @@ -1206,6 +1208,10 @@ bool parse_build_flags(Array<String> args) { build_context.use_separate_modules = true; break; + case BuildFlag_ThreadedChecker: + build_context.threaded_checker = true; + break; + case BuildFlag_Vet: build_context.vet = true; break; @@ -1746,6 +1752,11 @@ void print_show_help(String const arg0, String const &command) { } if (check) { + print_usage_line(1, "-threaded-checker"); + print_usage_line(1, "[EXPERIMENTAL]"); + print_usage_line(2, "Multithread the semantic checker stage"); + print_usage_line(0, ""); + print_usage_line(1, "-vet"); print_usage_line(2, "Do extra checks on the code"); print_usage_line(2, "Extra checks include:"); @@ -1960,6 +1971,7 @@ int main(int arg_count, char const **arg_ptr) { init_global_error_collector(); init_keyword_hash_table(); global_big_int_init(); + init_type_mutex(); if (!check_env()) { return 1; |