[wgsl-reader] Fixup off by 1 bug.
When parsing the `u` in `1024u` we were not advancing the lexer to the
next token which would give parse errors.
Change-Id: I8473b55992ff01d24f9d961878afa6b54d855e68
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/23460
Reviewed-by: David Neto <dneto@google.com>
diff --git a/src/reader/wgsl/lexer.cc b/src/reader/wgsl/lexer.cc
index 632aa1f..5fd1ef4 100644
--- a/src/reader/wgsl/lexer.cc
+++ b/src/reader/wgsl/lexer.cc
@@ -216,6 +216,7 @@
return {Token::Type::kError, source,
"u32 (" + input_.substr(start, end - start) + ") too large"};
}
+ pos_ += 1;
return {source, static_cast<uint32_t>(res)};
}
diff --git a/src/reader/wgsl/lexer_test.cc b/src/reader/wgsl/lexer_test.cc
index 9953443..de64e6f 100644
--- a/src/reader/wgsl/lexer_test.cc
+++ b/src/reader/wgsl/lexer_test.cc
@@ -249,6 +249,9 @@
EXPECT_EQ(t.line(), 1u);
EXPECT_EQ(t.column(), 1u);
EXPECT_EQ(t.to_u32(), params.result);
+
+ t = l.next();
+ EXPECT_TRUE(t.IsEof());
}
INSTANTIATE_TEST_SUITE_P(
LexerTest,