mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 15:48:51 +00: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 show_timings;
|
||||||
bool keep_temp_files;
|
bool keep_temp_files;
|
||||||
bool no_bounds_check;
|
bool no_bounds_check;
|
||||||
|
bool no_output_files;
|
||||||
|
|
||||||
gbAffinity affinity;
|
gbAffinity affinity;
|
||||||
isize thread_count;
|
isize thread_count;
|
||||||
|
|||||||
@@ -162,6 +162,7 @@ void usage(String argv0) {
|
|||||||
print_usage_line(0, "Commands:");
|
print_usage_line(0, "Commands:");
|
||||||
print_usage_line(1, "build compile .odin file as executable");
|
print_usage_line(1, "build compile .odin file as executable");
|
||||||
print_usage_line(1, "run compile and run .odin file");
|
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, "docs generate documentation for a .odin file");
|
||||||
print_usage_line(1, "version print version");
|
print_usage_line(1, "version print version");
|
||||||
}
|
}
|
||||||
@@ -724,6 +725,13 @@ int main(int arg_count, char **arg_ptr) {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
init_filename = args[2];
|
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") {
|
} else if (command == "docs") {
|
||||||
if (args.count < 3) {
|
if (args.count < 3) {
|
||||||
usage(args[0]);
|
usage(args[0]);
|
||||||
@@ -795,6 +803,18 @@ int main(int arg_count, char **arg_ptr) {
|
|||||||
|
|
||||||
check_parsed_files(&checker);
|
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};
|
irGen ir_gen = {0};
|
||||||
if (!ir_gen_init(&ir_gen, &checker)) {
|
if (!ir_gen_init(&ir_gen, &checker)) {
|
||||||
return 1;
|
return 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user