From 53d8ec4d15d63977bb3c1f799dabd3c5b87558dd Mon Sep 17 00:00:00 2001 From: gingerBill Date: Mon, 18 Jan 2021 11:34:09 +0000 Subject: [PATCH] Add extra error checks --- src/main.cpp | 7 +++++++ src/tokenizer.cpp | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/src/main.cpp b/src/main.cpp index f05d0406a..92e0b4104 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1999,6 +1999,10 @@ int main(int arg_count, char const **arg_ptr) { return 1; } + if (any_errors()) { + return 1; + } + temp_allocator_free_all(&temporary_allocator_data); timings_start_section(timings, str_lit("type check")); @@ -2013,6 +2017,9 @@ int main(int arg_count, char const **arg_ptr) { if (checked_inited) { check_parsed_files(&checker); } + if (any_errors()) { + return 1; + } temp_allocator_free_all(&temporary_allocator_data); diff --git a/src/tokenizer.cpp b/src/tokenizer.cpp index 0ef92eb21..03c80f5d3 100644 --- a/src/tokenizer.cpp +++ b/src/tokenizer.cpp @@ -250,6 +250,10 @@ gb_global ErrorCollector global_error_collector; #define MAX_ERROR_COLLECTOR_COUNT (36) +bool any_errors(void) { + return global_error_collector.error_buffer.count > 0; +} + void init_global_error_collector(void) { gb_mutex_init(&global_error_collector.mutex); array_init(&global_error_collector.errors, heap_allocator());