reader/wgsl: Improve reserved keyword error messages

And add `vec` and `mat` to the reserved keyword list (see https://github.com/gpuweb/gpuweb/pull/1896)

Move these reserved keyword checks out of the lexer and into the parser.
Generate a sensible error message.
Add tests.

Change-Id: I1876448201a2fd773f38f337b4e49bc61a7642f7
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/56545
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
This commit is contained in:
Ben Clayton
2021-07-05 21:48:37 +00:00
committed by Tint LUCI CQ
parent ffe7978dbf
commit 5d8eb4a758
11 changed files with 147 additions and 97 deletions

View File

@@ -123,7 +123,7 @@ fn arr() {
*p = 4;
}
fn vec() {
fn vector() {
var v : vec3<f32>;
var i : i32 = 0;
var j : i32 = 0;
@@ -132,7 +132,7 @@ fn vec() {
*p = 4.0;
}
fn mat() {
fn matrix() {
var m : mat3x3<f32>;
var i : i32 = 0;
var j : i32 = 0;
@@ -156,7 +156,7 @@ fn arr() {
*(&(a[p_save].i)) = 4;
}
fn vec() {
fn vector() {
var v : vec3<f32>;
var i : i32 = 0;
var j : i32 = 0;
@@ -165,7 +165,7 @@ fn vec() {
*(&(v[p_save_1])) = 4.0;
}
fn mat() {
fn matrix() {
var m : mat3x3<f32>;
var i : i32 = 0;
var j : i32 = 0;

View File

@@ -838,14 +838,14 @@ INSTANTIATE_TEST_SUITE_P(RenamerTestHlsl,
"unorm",
"unroll",
"unsigned",
"using",
// "using", // WGSL reserved keyword
"vector",
"vertexfragment",
"vertexshader",
"virtual",
// "void", // WGSL keyword
"volatile",
"while"));
"volatile"));
// "while" // WGSL reserved keyword
INSTANTIATE_TEST_SUITE_P(RenamerTestMsl,
RenamerTestMsl,
@@ -928,12 +928,12 @@ INSTANTIATE_TEST_SUITE_P(RenamerTestMsl,
"typename",
"union",
"unsigned",
"using",
// "using", // WGSL reserved keyword
"virtual",
// "void", // Also used in WGSL
"volatile",
"wchar_t",
"while",
// "while", // WGSL reserved keyword
"xor",
"xor_eq",
@@ -1087,7 +1087,7 @@ INSTANTIATE_TEST_SUITE_P(RenamerTestMsl,
"ushort2",
"ushort3",
"ushort4",
"vec",
// "vec", // WGSL reserved keyword
"vertex"));
} // namespace