diff options
| author | Andreas T Jonsson <mail@andreasjonsson.se> | 2024-05-02 09:27:46 +0200 |
|---|---|---|
| committer | Andreas T Jonsson <mail@andreasjonsson.se> | 2024-05-02 09:27:46 +0200 |
| commit | 7feff1c11335be9c0d804c3ca93050b7d154aad8 (patch) | |
| tree | 62c89fcafad6b6c9445cb37153e62a6b23223d39 /src/error.cpp | |
| parent | 6bbdbb4447b0a2b5b485ae4351016b05ae79758f (diff) | |
| parent | fd582015fe2bbaabc42f78caefec1bd95f4d1465 (diff) | |
Merged with master
Diffstat (limited to 'src/error.cpp')
| -rw-r--r-- | src/error.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/error.cpp b/src/error.cpp index 7fb62c966..1b091f88e 100644 --- a/src/error.cpp +++ b/src/error.cpp @@ -376,11 +376,11 @@ gb_internal void error_out_coloured(char const *str, TerminalStyle style, Termin gb_internal void error_va(TokenPos const &pos, TokenPos end, char const *fmt, va_list va) { global_error_collector.count.fetch_add(1); + mutex_lock(&global_error_collector.mutex); if (global_error_collector.count > MAX_ERROR_COLLECTOR_COUNT()) { print_all_errors(); gb_exit(1); } - mutex_lock(&global_error_collector.mutex); push_error_value(pos, ErrorValue_Error); // NOTE(bill): Duplicate error, skip it @@ -403,6 +403,8 @@ gb_internal void error_va(TokenPos const &pos, TokenPos end, char const *fmt, va error_out("\n"); show_error_on_line(pos, end); } else { + global_error_collector.curr_error_value = {}; + global_error_collector.curr_error_value_set.store(false); global_error_collector.count.fetch_sub(1); } try_pop_error_value(); |