From c4d2d287fc0eac7348951ce275a1f3d80f25ef3d Mon Sep 17 00:00:00 2001 From: gingerBill Date: Sat, 17 Feb 2018 11:54:08 +0000 Subject: #complete switch; Removal of dyncall --- src/tokenizer.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/tokenizer.cpp') diff --git a/src/tokenizer.cpp b/src/tokenizer.cpp index 404b4cea6..6b7a50638 100644 --- a/src/tokenizer.cpp +++ b/src/tokenizer.cpp @@ -227,6 +227,22 @@ void error_va(Token token, char *fmt, va_list va) { gb_mutex_unlock(&global_error_collector.mutex); } +void error_no_newline_va(Token token, char *fmt, va_list va) { + gb_mutex_lock(&global_error_collector.mutex); + global_error_collector.count++; + // NOTE(bill): Duplicate error, skip it + if (token.pos.line == 0) { + gb_printf_err("Error: %s", gb_bprintf_va(fmt, va)); + } else if (global_error_collector.prev != token.pos) { + global_error_collector.prev = token.pos; + gb_printf_err("%.*s(%td:%td) %s", + LIT(token.pos.file), token.pos.line, token.pos.column, + gb_bprintf_va(fmt, va)); + } + gb_mutex_unlock(&global_error_collector.mutex); +} + + void syntax_error_va(Token token, char *fmt, va_list va) { gb_mutex_lock(&global_error_collector.mutex); global_error_collector.count++; -- cgit v1.2.3