aboutsummaryrefslogtreecommitdiff
path: root/src/tokenizer.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2019-02-04 21:26:50 -0500
committerAndrew Kelley <andrew@ziglang.org>2019-02-04 21:26:50 -0500
commitf32f7a937fa7150aaba450b1282bba9f01918807 (patch)
treeecb462e15546a50b2e948b8f2907872dd39a2dc6 /src/tokenizer.cpp
parent1411df4e2705e677003e6e5b5cbe1ca30bf637d7 (diff)
parent8c6fa982cd0a02775264b616c37da9907cc603bb (diff)
downloadzig-f32f7a937fa7150aaba450b1282bba9f01918807.tar.gz
zig-f32f7a937fa7150aaba450b1282bba9f01918807.zip
Merge remote-tracking branch 'origin/master' into llvm8
Diffstat (limited to 'src/tokenizer.cpp')
-rw-r--r--src/tokenizer.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/tokenizer.cpp b/src/tokenizer.cpp
index 921ee4de09..d43bfabf6d 100644
--- 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);
@@ -886,6 +881,9 @@ void tokenize(Buf *buf, Tokenization *out) {
break;
case TokenizeStateSawAmpersand:
switch (c) {
+ case '&':
+ tokenize_error(&t, "`&&` is invalid. Note that `and` is boolean AND.");
+ break;
case '=':
set_token_id(&t, t.cur_tok, TokenIdBitAndEq);
end_token(&t);