commit 47a0e3ec5ecd58f47d8ef81909ecd61fbe777bfc (tree)
parent 6d25e451231d611887468c48ae72af441797c712
Author: Andrew Kelley <andrew@ziglang.org>
Date: Tue, 31 Mar 2020 10:56:21 -0400
Merge pull request #4871 from boothby/issue4769
Address bugs when //, /// or //! are immediately followed by EOF
Diffstat:
5 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/src/tokenizer.cpp b/src/tokenizer.cpp
@@ -1494,9 +1494,17 @@ void tokenize(Buf *buf, Tokenization *out) {
tokenize_error(&t, "unexpected EOF");
break;
case TokenizeStateLineComment:
+ break;
case TokenizeStateSawSlash2:
+ cancel_token(&t);
+ break;
case TokenizeStateSawSlash3:
+ set_token_id(&t, t.cur_tok, TokenIdDocComment);
+ end_token(&t);
+ break;
case TokenizeStateSawSlashBang:
+ set_token_id(&t, t.cur_tok, TokenIdContainerDocComment);
+ end_token(&t);
break;
}
if (t.state != TokenizeStateError) {
diff --git a/test/stage1/behavior.zig b/test/stage1/behavior.zig
@@ -41,6 +41,9 @@ comptime {
_ = @import("behavior/bugs/3586.zig");
_ = @import("behavior/bugs/3742.zig");
_ = @import("behavior/bugs/4560.zig");
+ _ = @import("behavior/bugs/4769_a.zig");
+ _ = @import("behavior/bugs/4769_b.zig");
+ _ = @import("behavior/bugs/4769_c.zig");
_ = @import("behavior/bugs/394.zig");
_ = @import("behavior/bugs/421.zig");
_ = @import("behavior/bugs/529.zig");
diff --git a/test/stage1/behavior/bugs/4769_a.zig b/test/stage1/behavior/bugs/4769_a.zig
@@ -0,0 +1 @@
+//
+\ No newline at end of file
diff --git a/test/stage1/behavior/bugs/4769_b.zig b/test/stage1/behavior/bugs/4769_b.zig
@@ -0,0 +1 @@
+//!
+\ No newline at end of file
diff --git a/test/stage1/behavior/bugs/4769_c.zig b/test/stage1/behavior/bugs/4769_c.zig
@@ -0,0 +1 @@
+///
+\ No newline at end of file