wgsl: Treat // as comment
Also support # as comments for now while we migrate.
See:
https: //github.com/gpuweb/gpuweb/issues/1262
https: //github.com/gpuweb/gpuweb/pull/1326
Change-Id: I3547f575c35f4fd46b95f0f2d8b79f4015364c83
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36680
Commit-Queue: Ben Clayton <bclayton@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
diff --git a/src/reader/wgsl/lexer.cc b/src/reader/wgsl/lexer.cc
index af8ab7e..9b8f584 100644
--- a/src/reader/wgsl/lexer.cc
+++ b/src/reader/wgsl/lexer.cc
@@ -143,7 +143,8 @@
}
void Lexer::skip_comments() {
- if (!matches(pos_, "#")) {
+ // TODO(bclayton): Remove support for # comments
+ if (!matches(pos_, "#") && !matches(pos_, "//")) {
return;
}
diff --git a/src/reader/wgsl/lexer_test.cc b/src/reader/wgsl/lexer_test.cc
index 3a9d7bb..8668960 100644
--- a/src/reader/wgsl/lexer_test.cc
+++ b/src/reader/wgsl/lexer_test.cc
@@ -49,9 +49,9 @@
}
TEST_F(LexerTest, Skips_Comments) {
- Source::File file("test.wgsl", R"(#starts with comment
-ident1 #ends with comment
-# blank line
+ Source::File file("test.wgsl", R"(//starts with comment
+ident1 //ends with comment
+// blank line
ident2)");
Lexer l(&file);
diff --git a/src/reader/wgsl/parser_impl_for_stmt_test.cc b/src/reader/wgsl/parser_impl_for_stmt_test.cc
index b112779..42af07d 100644
--- a/src/reader/wgsl/parser_impl_for_stmt_test.cc
+++ b/src/reader/wgsl/parser_impl_for_stmt_test.cc
@@ -135,7 +135,7 @@
})";
std::string loop_str =
- R"({ # Introduce new scope for loop variable i
+ R"({ // Introduce new scope for loop variable i
var i : i32 = 0;
loop {
if (!(i < 4)) {
diff --git a/src/reader/wgsl/parser_impl_test.cc b/src/reader/wgsl/parser_impl_test.cc
index 54dde10..95d28cf 100644
--- a/src/reader/wgsl/parser_impl_test.cc
+++ b/src/reader/wgsl/parser_impl_test.cc
@@ -46,7 +46,7 @@
TEST_F(ParserImplTest, HandlesError) {
auto p = parser(R"(
-fn main() -> { # missing return type
+fn main() -> { // missing return type
return;
})");
diff --git a/src/reader/wgsl/parser_test.cc b/src/reader/wgsl/parser_test.cc
index 0ee28ab..1bb967e 100644
--- a/src/reader/wgsl/parser_test.cc
+++ b/src/reader/wgsl/parser_test.cc
@@ -48,7 +48,7 @@
TEST_F(ParserTest, HandlesError) {
Source::File file("test.wgsl", R"(
-fn main() -> { # missing return type
+fn main() -> { // missing return type
return;
})");
Parser p(&file);