mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-20 18:29:23 +00:00
Add symbol to member name.
This CL adds the symbol to the struct member. The name will eventually be removed when the symbol is used everywhere. Change-Id: Ie97f61509804992b44b22396773a635efbc4458e Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/35780 Commit-Queue: Ben Clayton <bclayton@google.com> Reviewed-by: Ben Clayton <bclayton@google.com> Auto-Submit: dan sinclair <dsinclair@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
be96376d8e
commit
36e22f0f3b
@@ -940,9 +940,9 @@ ast::type::Type* ParserImpl::ConvertType(
|
||||
++num_non_writable_members;
|
||||
}
|
||||
const auto member_name = namer_.GetMemberName(type_id, member_index);
|
||||
auto* ast_struct_member =
|
||||
create<ast::StructMember>(Source{}, member_name, ast_member_ty,
|
||||
std::move(ast_member_decorations));
|
||||
auto* ast_struct_member = create<ast::StructMember>(
|
||||
Source{}, ast_module_.RegisterSymbol(member_name), member_name,
|
||||
ast_member_ty, std::move(ast_member_decorations));
|
||||
ast_members.push_back(ast_struct_member);
|
||||
}
|
||||
|
||||
|
||||
@@ -566,7 +566,7 @@ TEST_F(SpvParserTest, ConvertType_StructTwoMembers) {
|
||||
EXPECT_TRUE(type->Is<ast::type::Struct>());
|
||||
std::stringstream ss;
|
||||
type->As<ast::type::Struct>()->impl()->to_str(ss, 0);
|
||||
EXPECT_THAT(ss.str(), Eq(R"(Struct{
|
||||
EXPECT_THAT(Demangler().Demangle(p->get_module(), ss.str()), Eq(R"(Struct{
|
||||
StructMember{field0: __u32}
|
||||
StructMember{field1: __f32}
|
||||
}
|
||||
@@ -587,7 +587,7 @@ TEST_F(SpvParserTest, ConvertType_StructWithBlockDecoration) {
|
||||
EXPECT_TRUE(type->Is<ast::type::Struct>());
|
||||
std::stringstream ss;
|
||||
type->As<ast::type::Struct>()->impl()->to_str(ss, 0);
|
||||
EXPECT_THAT(ss.str(), Eq(R"(Struct{
|
||||
EXPECT_THAT(Demangler().Demangle(p->get_module(), ss.str()), Eq(R"(Struct{
|
||||
[[block]]
|
||||
StructMember{field0: __u32}
|
||||
}
|
||||
@@ -612,7 +612,7 @@ TEST_F(SpvParserTest, ConvertType_StructWithMemberDecorations) {
|
||||
EXPECT_TRUE(type->Is<ast::type::Struct>());
|
||||
std::stringstream ss;
|
||||
type->As<ast::type::Struct>()->impl()->to_str(ss, 0);
|
||||
EXPECT_THAT(ss.str(), Eq(R"(Struct{
|
||||
EXPECT_THAT(Demangler().Demangle(p->get_module(), ss.str()), Eq(R"(Struct{
|
||||
StructMember{[[ offset 0 ]] field0: __f32}
|
||||
StructMember{[[ offset 8 ]] field1: __vec_2__f32}
|
||||
StructMember{[[ offset 16 ]] field2: __mat_2_2__f32}
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "src/ast/type/matrix_type.h"
|
||||
#include "src/ast/type/struct_type.h"
|
||||
#include "src/ast/type/vector_type.h"
|
||||
#include "src/demangler.h"
|
||||
#include "src/reader/spirv/parser_impl.h"
|
||||
#include "src/reader/spirv/parser_impl_test_helper.h"
|
||||
#include "src/reader/spirv/spirv_tools_helpers_test.h"
|
||||
@@ -59,7 +60,8 @@ TEST_F(SpvParserTest, NamedTypes_Dup_EmitBoth) {
|
||||
%s2 = OpTypeStruct %uint %uint
|
||||
)"));
|
||||
EXPECT_TRUE(p->BuildAndParseInternalModule()) << p->error();
|
||||
EXPECT_THAT(p->module().to_str(), HasSubstr(R"(S Struct{
|
||||
EXPECT_THAT(Demangler().Demangle(p->get_module(), p->get_module().to_str()),
|
||||
HasSubstr(R"(S Struct{
|
||||
StructMember{field0: __u32}
|
||||
StructMember{field1: __u32}
|
||||
}
|
||||
|
||||
@@ -1246,8 +1246,9 @@ Expect<ast::StructMember*> ParserImpl::expect_struct_member(
|
||||
if (!expect("struct member", Token::Type::kSemicolon))
|
||||
return Failure::kErrored;
|
||||
|
||||
return create<ast::StructMember>(decl->source, decl->name, decl->type,
|
||||
std::move(member_decos.value));
|
||||
return create<ast::StructMember>(
|
||||
decl->source, module_.RegisterSymbol(decl->name), decl->name, decl->type,
|
||||
std::move(member_decos.value));
|
||||
}
|
||||
|
||||
// function_decl
|
||||
|
||||
@@ -87,7 +87,8 @@ TEST_F(ParserImplTest, VariableIdentDecl_ParsesWithAccessDeco_Read) {
|
||||
|
||||
auto p = parser("my_var : [[access(read)]] S");
|
||||
|
||||
ast::StructMember mem(Source{}, "a", &i32, ast::StructMemberDecorationList{});
|
||||
ast::StructMember mem(Source{}, p->get_module().RegisterSymbol("a"), "a",
|
||||
&i32, ast::StructMemberDecorationList{});
|
||||
ast::StructMemberList members;
|
||||
members.push_back(&mem);
|
||||
|
||||
@@ -114,7 +115,8 @@ TEST_F(ParserImplTest, VariableIdentDecl_ParsesWithAccessDeco_ReadWrite) {
|
||||
|
||||
auto p = parser("my_var : [[access(read_write)]] S");
|
||||
|
||||
ast::StructMember mem(Source{}, "a", &i32, ast::StructMemberDecorationList{});
|
||||
ast::StructMember mem(Source{}, p->get_module().RegisterSymbol("a"), "a",
|
||||
&i32, ast::StructMemberDecorationList{});
|
||||
ast::StructMemberList members;
|
||||
members.push_back(&mem);
|
||||
|
||||
@@ -141,7 +143,8 @@ TEST_F(ParserImplTest, VariableIdentDecl_MultipleAccessDecoFail) {
|
||||
|
||||
auto p = parser("my_var : [[access(read), access(read_write)]] S");
|
||||
|
||||
ast::StructMember mem(Source{}, "a", &i32, ast::StructMemberDecorationList{});
|
||||
ast::StructMember mem(Source{}, p->get_module().RegisterSymbol("a"), "a",
|
||||
&i32, ast::StructMemberDecorationList{});
|
||||
ast::StructMemberList members;
|
||||
members.push_back(&mem);
|
||||
|
||||
@@ -165,7 +168,8 @@ TEST_F(ParserImplTest, VariableIdentDecl_MultipleAccessDeco_MultiBlock_Fail) {
|
||||
|
||||
auto p = parser("my_var : [[access(read)]][[access(read_write)]] S");
|
||||
|
||||
ast::StructMember mem(Source{}, "a", &i32, ast::StructMemberDecorationList{});
|
||||
ast::StructMember mem(Source{}, p->get_module().RegisterSymbol("a"), "a",
|
||||
&i32, ast::StructMemberDecorationList{});
|
||||
ast::StructMemberList members;
|
||||
members.push_back(&mem);
|
||||
|
||||
@@ -205,7 +209,8 @@ TEST_F(ParserImplTest, VariableIdentDecl_NonAccessDecoFail) {
|
||||
|
||||
auto p = parser("my_var : [[stride(1)]] S");
|
||||
|
||||
ast::StructMember mem(Source{}, "a", &i32, ast::StructMemberDecorationList{});
|
||||
ast::StructMember mem(Source{}, p->get_module().RegisterSymbol("a"), "a",
|
||||
&i32, ast::StructMemberDecorationList{});
|
||||
ast::StructMemberList members;
|
||||
members.push_back(&mem);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user