authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-07-07 18:00:04-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-07-07 18:00:04-07:00
logec63411905ca66dc4dd874b4cde257b0043442e6
tree6b1f1034698b4733c6b7fe8f2426a8aaba941d27
parent9de452f9a69d5590743a194bc2d0817d26d66a0b

Revert "Skip over CRs at the end of multiline literals"

This reverts commit 9de452f9a69d5590743a194bc2d0817d26d66a0b. No CRs allowed in multiline string literals - this is intentional.

1 files changed, 1 insertions(+), 5 deletions(-)

lib/std/zig/tokenizer.zig+1-5
...@@ -845,7 +845,7 @@ pub const Tokenizer = struct {...@@ -845,7 +845,7 @@ pub const Tokenizer = struct {
845 self.index += 1;845 self.index += 1;
846 break;846 break;
847 },847 },
848 '\t', '\r' => {},848 '\t' => {},
849 else => self.checkLiteralCharacter(),849 else => self.checkLiteralCharacter(),
850 },850 },
851851
...@@ -1936,10 +1936,6 @@ test "tokenizer - invalid builtin identifiers" {...@@ -1936,10 +1936,6 @@ test "tokenizer - invalid builtin identifiers" {
1936 try testTokenize("@0()", &.{ .invalid, .integer_literal, .l_paren, .r_paren });1936 try testTokenize("@0()", &.{ .invalid, .integer_literal, .l_paren, .r_paren });
1937}1937}
19381938
1939test "tokenizer - multiline string literal with a DOS-encoded CRLF line endings (issue #9257)" {
1940 try testTokenize("\\\\foobar\r\n", &.{.multiline_string_literal_line});
1941}
1942
1943fn testTokenize(source: [:0]const u8, expected_tokens: []const Token.Tag) !void {1939fn testTokenize(source: [:0]const u8, expected_tokens: []const Token.Tag) !void {
1944 var tokenizer = Tokenizer.init(source);1940 var tokenizer = Tokenizer.init(source);
1945 for (expected_tokens) |expected_token_id| {1941 for (expected_tokens) |expected_token_id| {