From b1633b9ebb68cb682a656f1026056f77afcdfb45 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Wed, 11 Feb 2026 14:05:06 +0000 Subject: Require all values from a procedure iterator if the procedure is marked with `@(require_results)` --- src/parser.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/parser.cpp') diff --git a/src/parser.cpp b/src/parser.cpp index 0efe2714a..159eb65f8 100644 --- a/src/parser.cpp +++ b/src/parser.cpp @@ -514,6 +514,22 @@ gb_internal void error(Ast *node, char const *fmt, ...) { } } +gb_internal void error_range(TokenPos start, TokenPos end, char const *fmt, ...) { + GB_ASSERT(start.file_id == end.file_id); + GB_ASSERT(start.line == end.line); + GB_ASSERT(start.column <= end.column); + GB_ASSERT(start.offset <= end.offset); + + va_list va; + va_start(va, fmt); + error_va(start, end, fmt, va); + va_end(va); + if (start.file_id != 0) { + AstFile *f = thread_safe_get_ast_file_from_id(start.file_id); + f->error_count += 1; + } +} + gb_internal void syntax_error_with_verbose(Ast *node, char const *fmt, ...) { Token token = {}; TokenPos end_pos = {}; -- cgit v1.2.3