mirror of
https://github.com/Ed94/Odin.git
synced 2026-06-20 20:54:59 -07:00
Merge pull request #222 from shuaDev/master
added compiler command for only parsing and typechecking
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user