Merge pull request #222 from shuaDev/master

added compiler command for only parsing and typechecking
This commit is contained in:
gingerBill
2018-05-17 10:33:23 +01:00
committed by GitHub
2 changed files with 21 additions and 0 deletions
+1
View File
@@ -27,6 +27,7 @@ struct BuildContext {
bool show_timings;
bool keep_temp_files;
bool no_bounds_check;
bool no_output_files;
gbAffinity affinity;
isize thread_count;
+20
View File
@@ -162,6 +162,7 @@ void usage(String argv0) {
print_usage_line(0, "Commands:");
print_usage_line(1, "build compile .odin file as executable");
print_usage_line(1, "run compile and run .odin file");
print_usage_line(1, "check parse and type check .odin file");
print_usage_line(1, "docs generate documentation for a .odin file");
print_usage_line(1, "version print version");
}
@@ -724,6 +725,13 @@ int main(int arg_count, char **arg_ptr) {
return 1;
}
init_filename = args[2];
} else if (command == "check") {
if (args.count < 3) {
usage(args[0]);
return 1;
}
build_context.no_output_files = true;
init_filename = args[2];
} else if (command == "docs") {
if (args.count < 3) {
usage(args[0]);
@@ -795,6 +803,18 @@ int main(int arg_count, char **arg_ptr) {
check_parsed_files(&checker);
if (build_context.no_output_files) {
if (build_context.show_timings) {
show_timings(&checker, &timings);
}
if (global_error_collector.count != 0) {
return 1;
}
return 0;
}
irGen ir_gen = {0};
if (!ir_gen_init(&ir_gen, &checker)) {
return 1;