[tint] Require names for @const parameters This ensures that error messages for @const parameters are useful. Fixed: 476461188 Change-Id: I5193ef715bee9087c5309734d05119cab5b9d7e2 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/285617 Commit-Queue: James Price <jrprice@google.com> Reviewed-by: dan sinclair <dsinclair@chromium.org>
diff --git a/tools/src/tint/intrinsic/resolver/resolve.go b/tools/src/tint/intrinsic/resolver/resolve.go index 21ad9c7..3b0e22b 100644 --- a/tools/src/tint/intrinsic/resolver/resolve.go +++ b/tools/src/tint/intrinsic/resolver/resolve.go
@@ -447,6 +447,9 @@ isConst := false if attribute := p.Attributes.Take("const"); attribute != nil { isConst = true + if p.Name == "" { + return fmt.Errorf("%v @const parameters must be named", p.Source) + } } testValue := 1.0 if attribute := p.Attributes.Take("test_value"); attribute != nil {
diff --git a/tools/src/tint/intrinsic/resolver/resolver_test.go b/tools/src/tint/intrinsic/resolver/resolver_test.go index f6b8e92..5dca4e0 100644 --- a/tools/src/tint/intrinsic/resolver/resolver_test.go +++ b/tools/src/tint/intrinsic/resolver/resolver_test.go
@@ -577,6 +577,11 @@ implicit(T) fn f<T>()`, `file.txt:1:18 'T' already declared First declared here: file.txt:1:10`, + }, { + ` +type bool +fn f(@const bool)`, + `file.txt:2:13 @const parameters must be named`, }, } {