zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit ad8381e0d2936ffecaa0b54e51e26d6bdb98682e (tree)
parent ecb0cb661a75a130cf6978fa42d464e2d654d8df
Author: Matthew McAllister <matthew.mcallister.0@gmail.com>
Date:   Tue, 29 Jan 2019 16:20:38 -0800

Move tokenizer error location to offending char

Previously, it pointed to the start of the current token, but this made
it difficult to tell where the error occurred when it was, say, in the
middle of a string.

Diffstat:
Msrc/tokenizer.cpp | 9++-------
Mtest/compile_errors.zig | 2+-
2 files changed, 3 insertions(+), 8 deletions(-)

diff --git a/src/tokenizer.cpp b/src/tokenizer.cpp @@ -248,13 +248,8 @@ ATTRIBUTE_PRINTF(2, 3) static void tokenize_error(Tokenize *t, const char *format, ...) { t->state = TokenizeStateError; - if (t->cur_tok) { - t->out->err_line = t->cur_tok->start_line; - t->out->err_column = t->cur_tok->start_column; - } else { - t->out->err_line = t->line; - t->out->err_column = t->column; - } + t->out->err_line = t->line; + t->out->err_column = t->column; va_list ap; va_start(ap, format); diff --git a/test/compile_errors.zig b/test/compile_errors.zig @@ -2645,7 +2645,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { \\ \\export fn entry() usize { return @sizeOf(@typeOf(foo)); } , - ".tmp_source.zig:1:13: error: newline not allowed in string literal", + ".tmp_source.zig:1:15: error: newline not allowed in string literal", ); cases.add(