aboutsummaryrefslogtreecommitdiff
path: root/src/tokenizer.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2019-05-16 16:50:24 -0400
committerAndrew Kelley <andrew@ziglang.org>2019-05-16 16:50:24 -0400
commit2eba779af5ee2dd90ac383abe8e548d893ea4ffc (patch)
treeb852603958a39e0f2fe6db64bbf56cf73de9049e /src/tokenizer.cpp
parent87901baa28ca04f5de8125c2f473fa02db6b4eb8 (diff)
downloadzig-2eba779af5ee2dd90ac383abe8e548d893ea4ffc.tar.gz
zig-2eba779af5ee2dd90ac383abe8e548d893ea4ffc.zip
stage1 tokenizer: add more missing break statements
Diffstat (limited to 'src/tokenizer.cpp')
-rw-r--r--src/tokenizer.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/tokenizer.cpp b/src/tokenizer.cpp
index c858775378..958c4f7ef7 100644
--- a/src/tokenizer.cpp
+++ b/src/tokenizer.cpp
@@ -1107,6 +1107,7 @@ void tokenize(Buf *buf, Tokenization *out) {
if (t.unicode) {
if (t.char_code > 0x10ffff) {
tokenize_error(&t, "unicode value out of range: %x", t.char_code);
+ break;
}
if (t.cur_tok->id == TokenIdCharLiteral) {
t.cur_tok->data.char_lit.c = t.char_code;
@@ -1147,6 +1148,7 @@ void tokenize(Buf *buf, Tokenization *out) {
switch (c) {
case '\'':
tokenize_error(&t, "expected character");
+ break;
case '\\':
t.state = TokenizeStateStringEscape;
break;
@@ -1390,8 +1392,10 @@ void tokenize(Buf *buf, Tokenization *out) {
case TokenizeStateCharCode:
if (t.cur_tok->id == TokenIdStringLiteral) {
tokenize_error(&t, "unterminated string");
+ break;
} else if (t.cur_tok->id == TokenIdCharLiteral) {
tokenize_error(&t, "unterminated character literal");
+ break;
} else {
zig_unreachable();
}