[tint] Improve error message for enumerants Update the error message that is emitted when an access enumerant is used as a value from: "error: cannot use access 'read_write' as a value" to: "error: cannot use access enumerant 'read_write' as a value" Bug: 42251239 Change-Id: I3e165f27acad7a99228f85de74b21c3dee4285f9 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/283656 Reviewed-by: dan sinclair <dsinclair@chromium.org> Commit-Queue: Natalie Chouinard <chouinard@google.com>
diff --git a/src/tint/lang/wgsl/resolver/expression_kind_test.cc b/src/tint/lang/wgsl/resolver/expression_kind_test.cc index 443846c..50903cf 100644 --- a/src/tint/lang/wgsl/resolver/expression_kind_test.cc +++ b/src/tint/lang/wgsl/resolver/expression_kind_test.cc
@@ -315,17 +315,24 @@ testing::ValuesIn(std::vector<Case>{ {Def::kAccess, Use::kAccess, kPass}, {Def::kAccess, Use::kAddressSpace, - R"(5:6 error: cannot use access 'write' as address space)"}, - {Def::kAccess, Use::kBinaryOp, R"(5:6 error: cannot use access 'write' as value)"}, - {Def::kAccess, Use::kCallExpr, R"(5:6 error: cannot use access 'write' as call target)"}, - {Def::kAccess, Use::kCallStmt, R"(5:6 error: cannot use access 'write' as call target)"}, - {Def::kAccess, Use::kFunctionReturnType, R"(5:6 error: cannot use access 'write' as type)"}, - {Def::kAccess, Use::kMemberType, R"(5:6 error: cannot use access 'write' as type)"}, + R"(5:6 error: cannot use access enumerant 'write' as address space)"}, + {Def::kAccess, Use::kBinaryOp, + R"(5:6 error: cannot use access enumerant 'write' as value)"}, + {Def::kAccess, Use::kCallExpr, + R"(5:6 error: cannot use access enumerant 'write' as call target)"}, + {Def::kAccess, Use::kCallStmt, + R"(5:6 error: cannot use access enumerant 'write' as call target)"}, + {Def::kAccess, Use::kFunctionReturnType, + R"(5:6 error: cannot use access enumerant 'write' as type)"}, + {Def::kAccess, Use::kMemberType, + R"(5:6 error: cannot use access enumerant 'write' as type)"}, {Def::kAccess, Use::kTexelFormat, - R"(5:6 error: cannot use access 'write' as texel format)"}, - {Def::kAccess, Use::kValueExpression, R"(5:6 error: cannot use access 'write' as value)"}, - {Def::kAccess, Use::kVariableType, R"(5:6 error: cannot use access 'write' as type)"}, - {Def::kAccess, Use::kUnaryOp, R"(5:6 error: cannot use access 'write' as value)"}, + R"(5:6 error: cannot use access enumerant 'write' as texel format)"}, + {Def::kAccess, Use::kValueExpression, + R"(5:6 error: cannot use access enumerant 'write' as value)"}, + {Def::kAccess, Use::kVariableType, + R"(5:6 error: cannot use access enumerant 'write' as type)"}, + {Def::kAccess, Use::kUnaryOp, R"(5:6 error: cannot use access enumerant 'write' as value)"}, {Def::kAddressSpace, Use::kAccess, R"(5:6 error: cannot use address space 'workgroup' as access)"},
diff --git a/src/tint/lang/wgsl/resolver/ptr_ref_validation_test.cc b/src/tint/lang/wgsl/resolver/ptr_ref_validation_test.cc index 1f80a68..a720cb4 100644 --- a/src/tint/lang/wgsl/resolver/ptr_ref_validation_test.cc +++ b/src/tint/lang/wgsl/resolver/ptr_ref_validation_test.cc
@@ -170,7 +170,7 @@ WrapInFunction(expr); EXPECT_FALSE(r()->Resolve()); - EXPECT_EQ(r()->error(), R"(12:34 error: cannot use access 'read_write' as value)"); + EXPECT_EQ(r()->error(), R"(12:34 error: cannot use access enumerant 'read_write' as value)"); } TEST_F(ResolverPtrRefValidationTest, AddressOfAddressSpace) {
diff --git a/src/tint/lang/wgsl/resolver/sem_helper.cc b/src/tint/lang/wgsl/resolver/sem_helper.cc index 81d16e5..3c62c6f 100644 --- a/src/tint/lang/wgsl/resolver/sem_helper.cc +++ b/src/tint/lang/wgsl/resolver/sem_helper.cc
@@ -112,7 +112,7 @@ text << "builtin function " << style::Function(fn->Value()); }, [&](const sem::BuiltinEnumExpression<core::Access>* access) { - text << "access " << style::Enum(access->Value()); + text << "access enumerant " << style::Enum(access->Value()); }, [&](const sem::BuiltinEnumExpression<core::AddressSpace>* addr) { text << "address space " << style::Enum(addr->Value());