diff --git a/src/tint/writer/msl/generator_impl.cc b/src/tint/writer/msl/generator_impl.cc index 28d2c1012d..602ec710bd 100644 --- a/src/tint/writer/msl/generator_impl.cc +++ b/src/tint/writer/msl/generator_impl.cc @@ -1698,7 +1698,7 @@ bool GeneratorImpl::EmitConstant(std::ostream& out, const sem::Constant* constan return true; }, [&](const sem::Struct* s) { - out << "{"; + out << program_->Symbols().NameFor(s->Name()) << "{"; TINT_DEFER(out << "}"); if (constant->AllZero()) { diff --git a/src/tint/writer/msl/generator_impl_function_test.cc b/src/tint/writer/msl/generator_impl_function_test.cc index cc52067c77..0f891a28e8 100644 --- a/src/tint/writer/msl/generator_impl_function_test.cc +++ b/src/tint/writer/msl/generator_impl_function_test.cc @@ -224,7 +224,7 @@ struct tint_symbol { }; Interface vert_main_inner() { - Interface const tint_symbol_3 = {.col1=0.5f, .col2=0.25f, .pos=float4(0.0f)}; + Interface const tint_symbol_3 = Interface{.col1=0.5f, .col2=0.25f, .pos=float4(0.0f)}; return tint_symbol_3; } diff --git a/src/tint/writer/msl/generator_impl_test.cc b/src/tint/writer/msl/generator_impl_test.cc index 2208df346c..63c56b0f73 100644 --- a/src/tint/writer/msl/generator_impl_test.cc +++ b/src/tint/writer/msl/generator_impl_test.cc @@ -117,7 +117,7 @@ struct Out { }; vertex Out vert_main() { - return {}; + return Out{}; } )"); @@ -147,7 +147,7 @@ struct Out { }; vertex Out vert_main() { - return {}; + return Out{}; } )"); @@ -283,7 +283,7 @@ struct tint_symbol_4 { void comp_main_inner(uint local_invocation_index, threadgroup S2* const tint_symbol_1) { { - S2 const tint_symbol = {}; + S2 const tint_symbol = S2{}; *(tint_symbol_1) = tint_symbol; } threadgroup_barrier(mem_flags::mem_threadgroup); diff --git a/test/tint/array/assign_to_function_var.wgsl.expected.msl b/test/tint/array/assign_to_function_var.wgsl.expected.msl index 216648e39a..a57b60ed74 100644 --- a/test/tint/array/assign_to_function_var.wgsl.expected.msl +++ b/test/tint/array/assign_to_function_var.wgsl.expected.msl @@ -24,7 +24,7 @@ tint_array ret_arr() { } S ret_struct_arr() { - S const tint_symbol_2 = {}; + S const tint_symbol_2 = S{}; return tint_symbol_2; } diff --git a/test/tint/array/assign_to_private_var.wgsl.expected.msl b/test/tint/array/assign_to_private_var.wgsl.expected.msl index d7d5f421c9..20a35cdb5c 100644 --- a/test/tint/array/assign_to_private_var.wgsl.expected.msl +++ b/test/tint/array/assign_to_private_var.wgsl.expected.msl @@ -24,7 +24,7 @@ tint_array ret_arr() { } S ret_struct_arr() { - S const tint_symbol_2 = {}; + S const tint_symbol_2 = S{}; return tint_symbol_2; } diff --git a/test/tint/array/assign_to_storage_var.wgsl.expected.msl b/test/tint/array/assign_to_storage_var.wgsl.expected.msl index 5628bba3b9..ee189f41d7 100644 --- a/test/tint/array/assign_to_storage_var.wgsl.expected.msl +++ b/test/tint/array/assign_to_storage_var.wgsl.expected.msl @@ -28,7 +28,7 @@ tint_array ret_arr() { } S ret_struct_arr() { - S const tint_symbol_3 = {}; + S const tint_symbol_3 = S{}; return tint_symbol_3; } diff --git a/test/tint/array/assign_to_workgroup_var.wgsl.expected.msl b/test/tint/array/assign_to_workgroup_var.wgsl.expected.msl index 6ea152229c..a356fab2ff 100644 --- a/test/tint/array/assign_to_workgroup_var.wgsl.expected.msl +++ b/test/tint/array/assign_to_workgroup_var.wgsl.expected.msl @@ -24,7 +24,7 @@ tint_array ret_arr() { } S ret_struct_arr() { - S const tint_symbol_2 = {}; + S const tint_symbol_2 = S{}; return tint_symbol_2; } diff --git a/test/tint/buffer/storage/static_index/write.wgsl.expected.msl b/test/tint/buffer/storage/static_index/write.wgsl.expected.msl index afb9718eb2..251e06f9ea 100644 --- a/test/tint/buffer/storage/static_index/write.wgsl.expected.msl +++ b/test/tint/buffer/storage/static_index/write.wgsl.expected.msl @@ -51,7 +51,7 @@ kernel void tint_symbol(device S* tint_symbol_3 [[buffer(0)]]) { (*(tint_symbol_3)).f = 0.0f; (*(tint_symbol_3)).g = float2x3(float3(0.0f), float3(0.0f)); (*(tint_symbol_3)).h = float3x2(float2(0.0f), float2(0.0f), float2(0.0f)); - Inner const tint_symbol_1 = {}; + Inner const tint_symbol_1 = Inner{}; (*(tint_symbol_3)).i = tint_symbol_1; tint_array const tint_symbol_2 = tint_array{}; (*(tint_symbol_3)).j = tint_symbol_2; diff --git a/test/tint/bug/chromium/1273451.wgsl.expected.msl b/test/tint/bug/chromium/1273451.wgsl.expected.msl index 5510459868..4b803a96c7 100644 --- a/test/tint/bug/chromium/1273451.wgsl.expected.msl +++ b/test/tint/bug/chromium/1273451.wgsl.expected.msl @@ -10,7 +10,7 @@ struct B { }; B f(A a) { - B const tint_symbol = {}; + B const tint_symbol = B{}; return tint_symbol; } diff --git a/test/tint/bug/dawn/947.wgsl.expected.msl b/test/tint/bug/dawn/947.wgsl.expected.msl index 68d2045132..b30de3057e 100644 --- a/test/tint/bug/dawn/947.wgsl.expected.msl +++ b/test/tint/bug/dawn/947.wgsl.expected.msl @@ -89,7 +89,7 @@ fragment tint_symbol_3 fs_main(texture2d tint_symbol_11 [ float4 const inner_result_1 = fs_main_inner(tint_symbol_1.texcoord, &(tint_symbol_10), tint_symbol_11, tint_symbol_12); if (tint_symbol_10) { tint_discard_func(); - tint_symbol_3 const tint_symbol_4 = {}; + tint_symbol_3 const tint_symbol_4 = tint_symbol_3{}; return tint_symbol_4; } tint_symbol_3 wrapper_result_1 = {}; diff --git a/test/tint/bug/tint/1081.wgsl.expected.msl b/test/tint/bug/tint/1081.wgsl.expected.msl index ab68f60916..d60e03286f 100644 --- a/test/tint/bug/tint/1081.wgsl.expected.msl +++ b/test/tint/bug/tint/1081.wgsl.expected.msl @@ -40,7 +40,7 @@ fragment tint_symbol_3 tint_symbol(tint_symbol_2 tint_symbol_1 [[stage_in]]) { int const inner_result = tint_symbol_inner(tint_symbol_1.x, &(tint_symbol_7)); if (tint_symbol_7) { tint_discard_func(); - tint_symbol_3 const tint_symbol_4 = {}; + tint_symbol_3 const tint_symbol_4 = tint_symbol_3{}; return tint_symbol_4; } tint_symbol_3 wrapper_result = {}; diff --git a/test/tint/bug/tint/1118.wgsl.expected.msl b/test/tint/bug/tint/1118.wgsl.expected.msl index b2fc9b926b..f913012cdc 100644 --- a/test/tint/bug/tint/1118.wgsl.expected.msl +++ b/test/tint/bug/tint/1118.wgsl.expected.msl @@ -137,7 +137,7 @@ main_out tint_symbol_inner(float fClipDistance3_param, float fClipDistance4_para *(tint_symbol_15) = fClipDistance4_param; main_1(tint_symbol_14, tint_symbol_16, tint_symbol_15, tint_symbol_17, tint_symbol_18, tint_symbol_19, tint_symbol_20); if (*(tint_symbol_16)) { - main_out const tint_symbol_4 = {}; + main_out const tint_symbol_4 = main_out{}; return tint_symbol_4; } main_out const tint_symbol_5 = {.glFragColor_1=*(tint_symbol_20)}; @@ -156,7 +156,7 @@ fragment tint_symbol_3 tint_symbol(const constant Scene* tint_symbol_24 [[buffer main_out const inner_result = tint_symbol_inner(tint_symbol_1.fClipDistance3_param, tint_symbol_1.fClipDistance4_param, &(tint_symbol_21), &(tint_symbol_22), &(tint_symbol_23), tint_symbol_24, tint_symbol_25, tint_symbol_26, &(tint_symbol_27)); if (tint_symbol_23) { tint_discard_func(); - tint_symbol_3 const tint_symbol_6 = {}; + tint_symbol_3 const tint_symbol_6 = tint_symbol_3{}; return tint_symbol_6; } tint_symbol_3 wrapper_result = {}; diff --git a/test/tint/bug/tint/1641.wgsl b/test/tint/bug/tint/1641.wgsl new file mode 100644 index 0000000000..b2a7387dec --- /dev/null +++ b/test/tint/bug/tint/1641.wgsl @@ -0,0 +1,11 @@ +struct Normals { + f : vec3, +} +const faceNormals = array( + Normals(vec3(0, 0, 1)), +); + +@vertex +fn main() -> @builtin(position) vec4 { + return vec4(faceNormals[0].f, 1.); +} diff --git a/test/tint/bug/tint/1641.wgsl.expected.dxc.hlsl b/test/tint/bug/tint/1641.wgsl.expected.dxc.hlsl new file mode 100644 index 0000000000..1c77da508d --- /dev/null +++ b/test/tint/bug/tint/1641.wgsl.expected.dxc.hlsl @@ -0,0 +1,19 @@ +struct Normals { + float3 f; +}; + +struct tint_symbol { + float4 value : SV_Position; +}; + +float4 main_inner() { + const Normals tint_symbol_1[1] = {{float3(0.0f, 0.0f, 1.0f)}}; + return float4(tint_symbol_1[0].f, 1.0f); +} + +tint_symbol main() { + const float4 inner_result = main_inner(); + tint_symbol wrapper_result = (tint_symbol)0; + wrapper_result.value = inner_result; + return wrapper_result; +} diff --git a/test/tint/bug/tint/1641.wgsl.expected.fxc.hlsl b/test/tint/bug/tint/1641.wgsl.expected.fxc.hlsl new file mode 100644 index 0000000000..1c77da508d --- /dev/null +++ b/test/tint/bug/tint/1641.wgsl.expected.fxc.hlsl @@ -0,0 +1,19 @@ +struct Normals { + float3 f; +}; + +struct tint_symbol { + float4 value : SV_Position; +}; + +float4 main_inner() { + const Normals tint_symbol_1[1] = {{float3(0.0f, 0.0f, 1.0f)}}; + return float4(tint_symbol_1[0].f, 1.0f); +} + +tint_symbol main() { + const float4 inner_result = main_inner(); + tint_symbol wrapper_result = (tint_symbol)0; + wrapper_result.value = inner_result; + return wrapper_result; +} diff --git a/test/tint/bug/tint/1641.wgsl.expected.glsl b/test/tint/bug/tint/1641.wgsl.expected.glsl new file mode 100644 index 0000000000..e5ac2be6ec --- /dev/null +++ b/test/tint/bug/tint/1641.wgsl.expected.glsl @@ -0,0 +1,19 @@ +#version 310 es + +struct Normals { + vec3 f; +}; + +vec4 tint_symbol() { + Normals tint_symbol_1[1] = Normals[1](Normals(vec3(0.0f, 0.0f, 1.0f))); + return vec4(tint_symbol_1[0].f, 1.0f); +} + +void main() { + gl_PointSize = 1.0; + vec4 inner_result = tint_symbol(); + gl_Position = inner_result; + gl_Position.y = -(gl_Position.y); + gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w); + return; +} diff --git a/test/tint/bug/tint/1641.wgsl.expected.msl b/test/tint/bug/tint/1641.wgsl.expected.msl new file mode 100644 index 0000000000..0d8c095f6a --- /dev/null +++ b/test/tint/bug/tint/1641.wgsl.expected.msl @@ -0,0 +1,36 @@ +#include + +using namespace metal; + +template +struct tint_array { + const constant T& operator[](size_t i) const constant { return elements[i]; } + device T& operator[](size_t i) device { return elements[i]; } + const device T& operator[](size_t i) const device { return elements[i]; } + thread T& operator[](size_t i) thread { return elements[i]; } + const thread T& operator[](size_t i) const thread { return elements[i]; } + threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } + const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } + T elements[N]; +}; + +struct Normals { + float3 f; +}; + +struct tint_symbol_1 { + float4 value [[position]]; +}; + +float4 tint_symbol_inner() { + tint_array const tint_symbol_2 = tint_array{Normals{.f=float3(0.0f, 0.0f, 1.0f)}}; + return float4(tint_symbol_2[0].f, 1.0f); +} + +vertex tint_symbol_1 tint_symbol() { + float4 const inner_result = tint_symbol_inner(); + tint_symbol_1 wrapper_result = {}; + wrapper_result.value = inner_result; + return wrapper_result; +} + diff --git a/test/tint/bug/tint/1641.wgsl.expected.spvasm b/test/tint/bug/tint/1641.wgsl.expected.spvasm new file mode 100644 index 0000000000..b73e967c20 --- /dev/null +++ b/test/tint/bug/tint/1641.wgsl.expected.spvasm @@ -0,0 +1,38 @@ +; SPIR-V +; Version: 1.3 +; Generator: Google Tint Compiler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Shader + OpMemoryModel Logical GLSL450 + OpEntryPoint Vertex %main "main" %value %vertex_point_size + OpName %value "value" + OpName %vertex_point_size "vertex_point_size" + OpName %main_inner "main_inner" + OpName %main "main" + OpDecorate %value BuiltIn Position + OpDecorate %vertex_point_size BuiltIn PointSize + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_Output_v4float = OpTypePointer Output %v4float + %5 = OpConstantNull %v4float + %value = OpVariable %_ptr_Output_v4float Output %5 +%_ptr_Output_float = OpTypePointer Output %float + %8 = OpConstantNull %float +%vertex_point_size = OpVariable %_ptr_Output_float Output %8 + %9 = OpTypeFunction %v4float + %float_1 = OpConstant %float 1 + %13 = OpConstantComposite %v4float %8 %8 %float_1 %float_1 + %void = OpTypeVoid + %14 = OpTypeFunction %void + %main_inner = OpFunction %v4float None %9 + %11 = OpLabel + OpReturnValue %13 + OpFunctionEnd + %main = OpFunction %void None %14 + %17 = OpLabel + %18 = OpFunctionCall %v4float %main_inner + OpStore %value %18 + OpStore %vertex_point_size %float_1 + OpReturn + OpFunctionEnd diff --git a/test/tint/bug/tint/1641.wgsl.expected.wgsl b/test/tint/bug/tint/1641.wgsl.expected.wgsl new file mode 100644 index 0000000000..3f235e7561 --- /dev/null +++ b/test/tint/bug/tint/1641.wgsl.expected.wgsl @@ -0,0 +1,10 @@ +struct Normals { + f : vec3, +} + +const faceNormals = array(Normals(vec3(0, 0, 1))); + +@vertex +fn main() -> @builtin(position) vec4 { + return vec4(faceNormals[0].f, 1.0); +} diff --git a/test/tint/builtins/atomics/from_gen/literal/atomicCompareExchangeWeak/storage_i32.spvasm.expected.msl b/test/tint/builtins/atomics/from_gen/literal/atomicCompareExchangeWeak/storage_i32.spvasm.expected.msl index f1db1329c5..c4f2e90ddf 100644 --- a/test/tint/builtins/atomics/from_gen/literal/atomicCompareExchangeWeak/storage_i32.spvasm.expected.msl +++ b/test/tint/builtins/atomics/from_gen/literal/atomicCompareExchangeWeak/storage_i32.spvasm.expected.msl @@ -26,7 +26,7 @@ struct x__atomic_compare_exchange_resulti32 { }; void atomicCompareExchangeWeak_1bd40a(device SB_RW_atomic* const tint_symbol_2) { - x__atomic_compare_exchange_resulti32 res = {}; + x__atomic_compare_exchange_resulti32 res = x__atomic_compare_exchange_resulti32{}; atomic_compare_exchange_resulti32 const tint_symbol = atomicCompareExchangeWeak_1(&((*(tint_symbol_2)).arg_0), 1, 1); int const old_value_1 = tint_symbol.old_value; int const x_19 = old_value_1; diff --git a/test/tint/builtins/atomics/from_gen/literal/atomicCompareExchangeWeak/storage_u32.spvasm.expected.msl b/test/tint/builtins/atomics/from_gen/literal/atomicCompareExchangeWeak/storage_u32.spvasm.expected.msl index 2bc40c648e..dae3d285ea 100644 --- a/test/tint/builtins/atomics/from_gen/literal/atomicCompareExchangeWeak/storage_u32.spvasm.expected.msl +++ b/test/tint/builtins/atomics/from_gen/literal/atomicCompareExchangeWeak/storage_u32.spvasm.expected.msl @@ -26,7 +26,7 @@ struct x__atomic_compare_exchange_resultu32 { }; void atomicCompareExchangeWeak_63d8e6(device SB_RW_atomic* const tint_symbol_2) { - x__atomic_compare_exchange_resultu32 res = {}; + x__atomic_compare_exchange_resultu32 res = x__atomic_compare_exchange_resultu32{}; atomic_compare_exchange_resultu32 const tint_symbol = atomicCompareExchangeWeak_1(&((*(tint_symbol_2)).arg_0), 1u, 1u); uint const old_value_1 = tint_symbol.old_value; uint const x_17 = old_value_1; diff --git a/test/tint/builtins/atomics/from_gen/literal/atomicCompareExchangeWeak/workgroup_i32.spvasm.expected.msl b/test/tint/builtins/atomics/from_gen/literal/atomicCompareExchangeWeak/workgroup_i32.spvasm.expected.msl index 0f9da5788f..a296185998 100644 --- a/test/tint/builtins/atomics/from_gen/literal/atomicCompareExchangeWeak/workgroup_i32.spvasm.expected.msl +++ b/test/tint/builtins/atomics/from_gen/literal/atomicCompareExchangeWeak/workgroup_i32.spvasm.expected.msl @@ -18,7 +18,7 @@ struct x__atomic_compare_exchange_resulti32 { }; void atomicCompareExchangeWeak_e88938(threadgroup atomic_int* const tint_symbol_2) { - x__atomic_compare_exchange_resulti32 res = {}; + x__atomic_compare_exchange_resulti32 res = x__atomic_compare_exchange_resulti32{}; atomic_compare_exchange_resulti32 const tint_symbol = atomicCompareExchangeWeak_1(tint_symbol_2, 1, 1); int const old_value_1 = tint_symbol.old_value; int const x_18 = old_value_1; diff --git a/test/tint/builtins/atomics/from_gen/literal/atomicCompareExchangeWeak/workgroup_u32.spvasm.expected.msl b/test/tint/builtins/atomics/from_gen/literal/atomicCompareExchangeWeak/workgroup_u32.spvasm.expected.msl index 476bc81162..c980f5d9d9 100644 --- a/test/tint/builtins/atomics/from_gen/literal/atomicCompareExchangeWeak/workgroup_u32.spvasm.expected.msl +++ b/test/tint/builtins/atomics/from_gen/literal/atomicCompareExchangeWeak/workgroup_u32.spvasm.expected.msl @@ -18,7 +18,7 @@ struct x__atomic_compare_exchange_resultu32 { }; void atomicCompareExchangeWeak_83580d(threadgroup atomic_uint* const tint_symbol_2) { - x__atomic_compare_exchange_resultu32 res = {}; + x__atomic_compare_exchange_resultu32 res = x__atomic_compare_exchange_resultu32{}; atomic_compare_exchange_resultu32 const tint_symbol = atomicCompareExchangeWeak_1(tint_symbol_2, 1u, 1u); uint const old_value_1 = tint_symbol.old_value; uint const x_17 = old_value_1; diff --git a/test/tint/builtins/atomics/from_gen/var/atomicCompareExchangeWeak/storage_i32.spvasm.expected.msl b/test/tint/builtins/atomics/from_gen/var/atomicCompareExchangeWeak/storage_i32.spvasm.expected.msl index 089a5846ef..f629b29269 100644 --- a/test/tint/builtins/atomics/from_gen/var/atomicCompareExchangeWeak/storage_i32.spvasm.expected.msl +++ b/test/tint/builtins/atomics/from_gen/var/atomicCompareExchangeWeak/storage_i32.spvasm.expected.msl @@ -28,7 +28,7 @@ struct x__atomic_compare_exchange_resulti32 { void atomicCompareExchangeWeak_1bd40a(device SB_RW_atomic* const tint_symbol_2) { int arg_1 = 0; int arg_2 = 0; - x__atomic_compare_exchange_resulti32 res = {}; + x__atomic_compare_exchange_resulti32 res = x__atomic_compare_exchange_resulti32{}; arg_1 = 1; arg_2 = 1; int const x_23 = arg_2; diff --git a/test/tint/builtins/atomics/from_gen/var/atomicCompareExchangeWeak/storage_u32.spvasm.expected.msl b/test/tint/builtins/atomics/from_gen/var/atomicCompareExchangeWeak/storage_u32.spvasm.expected.msl index 666d14a7cf..7aca7ef3fb 100644 --- a/test/tint/builtins/atomics/from_gen/var/atomicCompareExchangeWeak/storage_u32.spvasm.expected.msl +++ b/test/tint/builtins/atomics/from_gen/var/atomicCompareExchangeWeak/storage_u32.spvasm.expected.msl @@ -28,7 +28,7 @@ struct x__atomic_compare_exchange_resultu32 { void atomicCompareExchangeWeak_63d8e6(device SB_RW_atomic* const tint_symbol_2) { uint arg_1 = 0u; uint arg_2 = 0u; - x__atomic_compare_exchange_resultu32 res = {}; + x__atomic_compare_exchange_resultu32 res = x__atomic_compare_exchange_resultu32{}; arg_1 = 1u; arg_2 = 1u; uint const x_21 = arg_2; diff --git a/test/tint/builtins/atomics/from_gen/var/atomicCompareExchangeWeak/workgroup_i32.spvasm.expected.msl b/test/tint/builtins/atomics/from_gen/var/atomicCompareExchangeWeak/workgroup_i32.spvasm.expected.msl index 8310273c91..dd319d0ad5 100644 --- a/test/tint/builtins/atomics/from_gen/var/atomicCompareExchangeWeak/workgroup_i32.spvasm.expected.msl +++ b/test/tint/builtins/atomics/from_gen/var/atomicCompareExchangeWeak/workgroup_i32.spvasm.expected.msl @@ -20,7 +20,7 @@ struct x__atomic_compare_exchange_resulti32 { void atomicCompareExchangeWeak_e88938(threadgroup atomic_int* const tint_symbol_2) { int arg_1 = 0; int arg_2 = 0; - x__atomic_compare_exchange_resulti32 res = {}; + x__atomic_compare_exchange_resulti32 res = x__atomic_compare_exchange_resulti32{}; arg_1 = 1; arg_2 = 1; int const x_22 = arg_2; diff --git a/test/tint/builtins/atomics/from_gen/var/atomicCompareExchangeWeak/workgroup_u32.spvasm.expected.msl b/test/tint/builtins/atomics/from_gen/var/atomicCompareExchangeWeak/workgroup_u32.spvasm.expected.msl index 542f76a545..4a2cafc30e 100644 --- a/test/tint/builtins/atomics/from_gen/var/atomicCompareExchangeWeak/workgroup_u32.spvasm.expected.msl +++ b/test/tint/builtins/atomics/from_gen/var/atomicCompareExchangeWeak/workgroup_u32.spvasm.expected.msl @@ -20,7 +20,7 @@ struct x__atomic_compare_exchange_resultu32 { void atomicCompareExchangeWeak_83580d(threadgroup atomic_uint* const tint_symbol_2) { uint arg_1 = 0u; uint arg_2 = 0u; - x__atomic_compare_exchange_resultu32 res = {}; + x__atomic_compare_exchange_resultu32 res = x__atomic_compare_exchange_resultu32{}; arg_1 = 1u; arg_2 = 1u; uint const x_21 = arg_2; diff --git a/test/tint/expressions/zero_init/struct/array.wgsl.expected.msl b/test/tint/expressions/zero_init/struct/array.wgsl.expected.msl index ec53d10bb8..7d32cc34a5 100644 --- a/test/tint/expressions/zero_init/struct/array.wgsl.expected.msl +++ b/test/tint/expressions/zero_init/struct/array.wgsl.expected.msl @@ -19,6 +19,6 @@ struct S { }; void f() { - S v = {}; + S v = S{}; } diff --git a/test/tint/expressions/zero_init/struct/scalar.wgsl.expected.msl b/test/tint/expressions/zero_init/struct/scalar.wgsl.expected.msl index b72ea5e63e..f63b27c232 100644 --- a/test/tint/expressions/zero_init/struct/scalar.wgsl.expected.msl +++ b/test/tint/expressions/zero_init/struct/scalar.wgsl.expected.msl @@ -9,6 +9,6 @@ struct S { }; void f() { - S v = {}; + S v = S{}; } diff --git a/test/tint/identifiers/underscore/double/struct.wgsl.expected.msl b/test/tint/identifiers/underscore/double/struct.wgsl.expected.msl index 0b38868282..3847b30bb8 100644 --- a/test/tint/identifiers/underscore/double/struct.wgsl.expected.msl +++ b/test/tint/identifiers/underscore/double/struct.wgsl.expected.msl @@ -10,7 +10,7 @@ struct a__ { }; void f() { - a__ const c = {}; + a__ const c = a__{}; int const d = c.b__; } diff --git a/test/tint/identifiers/underscore/prefix/lower/struct.wgsl.expected.msl b/test/tint/identifiers/underscore/prefix/lower/struct.wgsl.expected.msl index 72759ea544..19351299e4 100644 --- a/test/tint/identifiers/underscore/prefix/lower/struct.wgsl.expected.msl +++ b/test/tint/identifiers/underscore/prefix/lower/struct.wgsl.expected.msl @@ -10,7 +10,7 @@ struct _a { }; void f() { - _a const c = {}; + _a const c = _a{}; int const d = c._b; } diff --git a/test/tint/identifiers/underscore/prefix/upper/struct.wgsl.expected.msl b/test/tint/identifiers/underscore/prefix/upper/struct.wgsl.expected.msl index cc20aac0d5..ce966ad4f8 100644 --- a/test/tint/identifiers/underscore/prefix/upper/struct.wgsl.expected.msl +++ b/test/tint/identifiers/underscore/prefix/upper/struct.wgsl.expected.msl @@ -10,7 +10,7 @@ struct _A { }; void f() { - _A const c = {}; + _A const c = _A{}; int const d = c._B; } diff --git a/test/tint/let/inferred/function.wgsl.expected.msl b/test/tint/let/inferred/function.wgsl.expected.msl index 440faea8d3..85e3a0c4a8 100644 --- a/test/tint/let/inferred/function.wgsl.expected.msl +++ b/test/tint/let/inferred/function.wgsl.expected.msl @@ -31,7 +31,7 @@ float ret_f32() { } MyStruct ret_MyStruct() { - MyStruct const tint_symbol_2 = {}; + MyStruct const tint_symbol_2 = MyStruct{}; return tint_symbol_2; } @@ -48,7 +48,7 @@ void let_decls() { uint3 const v5 = uint3(1u); float3 const v6 = float3(1.0f); float3x3 const v7 = float3x3(v6, v6, v6); - MyStruct const v8 = {.f1=1.0f}; + MyStruct const v8 = MyStruct{.f1=1.0f}; tint_array const v9 = tint_array{}; int const v10 = ret_i32(); uint const v11 = ret_u32(); diff --git a/test/tint/out_of_order_decls/array/struct.wgsl.expected.msl b/test/tint/out_of_order_decls/array/struct.wgsl.expected.msl index 98b6893f06..19160b5128 100644 --- a/test/tint/out_of_order_decls/array/struct.wgsl.expected.msl +++ b/test/tint/out_of_order_decls/array/struct.wgsl.expected.msl @@ -20,7 +20,7 @@ struct S { fragment void f() { thread tint_array tint_symbol_1 = {}; - S const tint_symbol = {.m=1}; + S const tint_symbol = S{.m=1}; tint_symbol_1[0] = tint_symbol; return; } diff --git a/test/tint/shader_io/fragment_output_builtins_struct.wgsl.expected.msl b/test/tint/shader_io/fragment_output_builtins_struct.wgsl.expected.msl index c30a67d1be..925415a171 100644 --- a/test/tint/shader_io/fragment_output_builtins_struct.wgsl.expected.msl +++ b/test/tint/shader_io/fragment_output_builtins_struct.wgsl.expected.msl @@ -12,7 +12,7 @@ struct tint_symbol_1 { }; FragmentOutputs tint_symbol_inner() { - FragmentOutputs const tint_symbol_2 = {.frag_depth=1.0f, .sample_mask=1u}; + FragmentOutputs const tint_symbol_2 = FragmentOutputs{.frag_depth=1.0f, .sample_mask=1u}; return tint_symbol_2; } diff --git a/test/tint/shader_io/fragment_output_locations_struct.wgsl.expected.msl b/test/tint/shader_io/fragment_output_locations_struct.wgsl.expected.msl index 1cf0682166..8a867325b4 100644 --- a/test/tint/shader_io/fragment_output_locations_struct.wgsl.expected.msl +++ b/test/tint/shader_io/fragment_output_locations_struct.wgsl.expected.msl @@ -16,7 +16,7 @@ struct tint_symbol_1 { }; FragmentOutputs tint_symbol_inner() { - FragmentOutputs const tint_symbol_2 = {.loc0=1, .loc1=1u, .loc2=1.0f, .loc3=float4(1.0f, 2.0f, 3.0f, 4.0f)}; + FragmentOutputs const tint_symbol_2 = FragmentOutputs{.loc0=1, .loc1=1u, .loc2=1.0f, .loc3=float4(1.0f, 2.0f, 3.0f, 4.0f)}; return tint_symbol_2; } diff --git a/test/tint/shader_io/fragment_output_mixed.wgsl.expected.msl b/test/tint/shader_io/fragment_output_mixed.wgsl.expected.msl index 591468cd10..1fa106171c 100644 --- a/test/tint/shader_io/fragment_output_mixed.wgsl.expected.msl +++ b/test/tint/shader_io/fragment_output_mixed.wgsl.expected.msl @@ -20,7 +20,7 @@ struct tint_symbol_1 { }; FragmentOutputs tint_symbol_inner() { - FragmentOutputs const tint_symbol_2 = {.loc0=1, .frag_depth=2.0f, .loc1=1u, .loc2=1.0f, .sample_mask=2u, .loc3=float4(1.0f, 2.0f, 3.0f, 4.0f)}; + FragmentOutputs const tint_symbol_2 = FragmentOutputs{.loc0=1, .frag_depth=2.0f, .loc1=1u, .loc2=1.0f, .sample_mask=2u, .loc3=float4(1.0f, 2.0f, 3.0f, 4.0f)}; return tint_symbol_2; } diff --git a/test/tint/shader_io/interpolate_integers.wgsl.expected.msl b/test/tint/shader_io/interpolate_integers.wgsl.expected.msl index 4a2e39e907..2bc52dbbea 100644 --- a/test/tint/shader_io/interpolate_integers.wgsl.expected.msl +++ b/test/tint/shader_io/interpolate_integers.wgsl.expected.msl @@ -18,7 +18,7 @@ struct tint_symbol { }; Interface vert_main_inner() { - Interface const tint_symbol_4 = {}; + Interface const tint_symbol_4 = Interface{}; return tint_symbol_4; } diff --git a/test/tint/shader_io/interpolate_return_struct.wgsl.expected.msl b/test/tint/shader_io/interpolate_return_struct.wgsl.expected.msl index 4c51b62db1..0b0860dbae 100644 --- a/test/tint/shader_io/interpolate_return_struct.wgsl.expected.msl +++ b/test/tint/shader_io/interpolate_return_struct.wgsl.expected.msl @@ -26,7 +26,7 @@ struct tint_symbol_1 { }; Out tint_symbol_inner() { - Out const tint_symbol_2 = {}; + Out const tint_symbol_2 = Out{}; return tint_symbol_2; } diff --git a/test/tint/shader_io/invariant_struct_member.wgsl.expected.msl b/test/tint/shader_io/invariant_struct_member.wgsl.expected.msl index 5b44709f67..1af16da6f6 100644 --- a/test/tint/shader_io/invariant_struct_member.wgsl.expected.msl +++ b/test/tint/shader_io/invariant_struct_member.wgsl.expected.msl @@ -17,7 +17,7 @@ struct tint_symbol_1 { }; Out tint_symbol_inner() { - Out const tint_symbol_2 = {}; + Out const tint_symbol_2 = Out{}; return tint_symbol_2; } diff --git a/test/tint/shader_io/shared_struct_different_stages.wgsl.expected.msl b/test/tint/shader_io/shared_struct_different_stages.wgsl.expected.msl index 0fb65589ed..123f2d1573 100644 --- a/test/tint/shader_io/shared_struct_different_stages.wgsl.expected.msl +++ b/test/tint/shader_io/shared_struct_different_stages.wgsl.expected.msl @@ -14,7 +14,7 @@ struct tint_symbol { }; Interface vert_main_inner() { - Interface const tint_symbol_3 = {.col1=0.400000006f, .col2=0.600000024f, .pos=float4(0.0f)}; + Interface const tint_symbol_3 = Interface{.col1=0.400000006f, .col2=0.600000024f, .pos=float4(0.0f)}; return tint_symbol_3; } diff --git a/test/tint/shader_io/vertex_output_builtins_struct.wgsl.expected.msl b/test/tint/shader_io/vertex_output_builtins_struct.wgsl.expected.msl index 2a8b1bcf30..06a2db36c9 100644 --- a/test/tint/shader_io/vertex_output_builtins_struct.wgsl.expected.msl +++ b/test/tint/shader_io/vertex_output_builtins_struct.wgsl.expected.msl @@ -10,7 +10,7 @@ struct tint_symbol_1 { }; VertexOutputs tint_symbol_inner() { - VertexOutputs const tint_symbol_2 = {.position=float4(1.0f, 2.0f, 3.0f, 4.0f)}; + VertexOutputs const tint_symbol_2 = VertexOutputs{.position=float4(1.0f, 2.0f, 3.0f, 4.0f)}; return tint_symbol_2; } diff --git a/test/tint/shader_io/vertex_output_locations_struct.wgsl.expected.msl b/test/tint/shader_io/vertex_output_locations_struct.wgsl.expected.msl index 6b04060e6e..4d57a0432e 100644 --- a/test/tint/shader_io/vertex_output_locations_struct.wgsl.expected.msl +++ b/test/tint/shader_io/vertex_output_locations_struct.wgsl.expected.msl @@ -18,7 +18,7 @@ struct tint_symbol_1 { }; VertexOutputs tint_symbol_inner() { - VertexOutputs const tint_symbol_2 = {.loc0=1, .loc1=1u, .loc2=1.0f, .loc3=float4(1.0f, 2.0f, 3.0f, 4.0f), .position=float4(0.0f)}; + VertexOutputs const tint_symbol_2 = VertexOutputs{.loc0=1, .loc1=1u, .loc2=1.0f, .loc3=float4(1.0f, 2.0f, 3.0f, 4.0f), .position=float4(0.0f)}; return tint_symbol_2; } diff --git a/test/tint/shadowing/function/var.wgsl.expected.msl b/test/tint/shadowing/function/var.wgsl.expected.msl index ad6b654015..ddbbafe087 100644 --- a/test/tint/shadowing/function/var.wgsl.expected.msl +++ b/test/tint/shadowing/function/var.wgsl.expected.msl @@ -7,10 +7,10 @@ struct a { void f() { { - a a_1 = {}; + a a_1 = a{}; a b = a_1; } - a a_2 = {}; + a a_2 = a{}; a b = a_2; } diff --git a/test/tint/shadowing/struct/let.wgsl.expected.msl b/test/tint/shadowing/struct/let.wgsl.expected.msl index 4780a5ed31..a281f7b348 100644 --- a/test/tint/shadowing/struct/let.wgsl.expected.msl +++ b/test/tint/shadowing/struct/let.wgsl.expected.msl @@ -7,10 +7,10 @@ struct a { void f() { { - a const a_1 = {}; + a const a_1 = a{}; a const b = a_1; } - a const a_2 = {}; + a const a_2 = a{}; a const b = a_2; } diff --git a/test/tint/shadowing/struct/var.wgsl.expected.msl b/test/tint/shadowing/struct/var.wgsl.expected.msl index ad6b654015..ddbbafe087 100644 --- a/test/tint/shadowing/struct/var.wgsl.expected.msl +++ b/test/tint/shadowing/struct/var.wgsl.expected.msl @@ -7,10 +7,10 @@ struct a { void f() { { - a a_1 = {}; + a a_1 = a{}; a b = a_1; } - a a_2 = {}; + a a_2 = a{}; a b = a_2; } diff --git a/test/tint/statements/compound_assign/complex_lhs.wgsl.expected.msl b/test/tint/statements/compound_assign/complex_lhs.wgsl.expected.msl index 26fb806cb7..3c7c47a353 100644 --- a/test/tint/statements/compound_assign/complex_lhs.wgsl.expected.msl +++ b/test/tint/statements/compound_assign/complex_lhs.wgsl.expected.msl @@ -29,7 +29,7 @@ int bar(thread int* const tint_symbol_5) { } void tint_symbol(thread int* const tint_symbol_6) { - S x = {}; + S x = S{}; int const tint_symbol_3 = foo(tint_symbol_6); int const tint_symbol_1_save = tint_symbol_3; int const tint_symbol_2 = bar(tint_symbol_6); diff --git a/test/tint/statements/for/condition/struct_ctor.wgsl.expected.msl b/test/tint/statements/for/condition/struct_ctor.wgsl.expected.msl index a89dfc28ad..7ce803aa4b 100644 --- a/test/tint/statements/for/condition/struct_ctor.wgsl.expected.msl +++ b/test/tint/statements/for/condition/struct_ctor.wgsl.expected.msl @@ -8,7 +8,7 @@ struct S { void f() { int i = 0; while (true) { - S const tint_symbol = {.i=1}; + S const tint_symbol = S{.i=1}; if (!((i < tint_symbol.i))) { break; } diff --git a/test/tint/statements/for/continuing/struct_ctor.wgsl.expected.msl b/test/tint/statements/for/continuing/struct_ctor.wgsl.expected.msl index 08603f7ca4..cf7b55f00c 100644 --- a/test/tint/statements/for/continuing/struct_ctor.wgsl.expected.msl +++ b/test/tint/statements/for/continuing/struct_ctor.wgsl.expected.msl @@ -15,7 +15,7 @@ void f() { { } { - S const tint_symbol = {.i=1}; + S const tint_symbol = S{.i=1}; i = as_type((as_type(i) + as_type(tint_symbol.i))); } } diff --git a/test/tint/statements/for/initializer/struct_ctor.wgsl.expected.msl b/test/tint/statements/for/initializer/struct_ctor.wgsl.expected.msl index eb152f76dd..555f775246 100644 --- a/test/tint/statements/for/initializer/struct_ctor.wgsl.expected.msl +++ b/test/tint/statements/for/initializer/struct_ctor.wgsl.expected.msl @@ -6,7 +6,7 @@ struct S { }; void f() { - S const tint_symbol = {.i=1}; + S const tint_symbol = S{.i=1}; for(int i = tint_symbol.i; false; ) { } } diff --git a/test/tint/struct/type_constructor.wgsl.expected.msl b/test/tint/struct/type_constructor.wgsl.expected.msl index 02d79f06b7..55e2b9b0c0 100644 --- a/test/tint/struct/type_constructor.wgsl.expected.msl +++ b/test/tint/struct/type_constructor.wgsl.expected.msl @@ -38,26 +38,26 @@ struct T { kernel void tint_symbol() { int const x = 42; - S1 const empty = {}; - S1 const nonempty = {.a=1, .b=2, .c=3, .d=4}; + S1 const empty = S1{}; + S1 const nonempty = S1{.a=1, .b=2, .c=3, .d=4}; S1 const nonempty_with_expr = {.a=1, .b=x, .c=as_type((as_type(x) + as_type(1))), .d=nonempty.d}; - S3 const nested_empty = {}; - S1 const tint_symbol_1 = {.a=2, .b=3, .c=4, .d=5}; - S1 const tint_symbol_2 = {.a=7, .b=8, .c=9, .d=10}; + S3 const nested_empty = S3{}; + S1 const tint_symbol_1 = S1{.a=2, .b=3, .c=4, .d=5}; + S1 const tint_symbol_2 = S1{.a=7, .b=8, .c=9, .d=10}; S2 const tint_symbol_3 = {.e=6, .f=tint_symbol_2}; S3 const nested_nonempty = {.g=1, .h=tint_symbol_1, .i=tint_symbol_3}; S1 const tint_symbol_4 = {.a=2, .b=x, .c=as_type((as_type(x) + as_type(1))), .d=nested_nonempty.i.f.d}; S2 const tint_symbol_5 = {.e=6, .f=nonempty}; S3 const nested_nonempty_with_expr = {.g=1, .h=tint_symbol_4, .i=tint_symbol_5}; - S1 const tint_symbol_6 = {}; + S1 const tint_symbol_6 = S1{}; int const subexpr_empty = tint_symbol_6.a; - S1 const tint_symbol_7 = {.a=1, .b=2, .c=3, .d=4}; + S1 const tint_symbol_7 = S1{.a=1, .b=2, .c=3, .d=4}; int const subexpr_nonempty = tint_symbol_7.b; S1 const tint_symbol_8 = {.a=1, .b=x, .c=as_type((as_type(x) + as_type(1))), .d=nonempty.d}; int const subexpr_nonempty_with_expr = tint_symbol_8.c; - S2 const tint_symbol_9 = {}; + S2 const tint_symbol_9 = S2{}; S1 const subexpr_nested_empty = tint_symbol_9.f; - S1 const tint_symbol_10 = {.a=2, .b=3, .c=4, .d=5}; + S1 const tint_symbol_10 = S1{.a=2, .b=3, .c=4, .d=5}; S2 const tint_symbol_11 = {.e=1, .f=tint_symbol_10}; S1 const subexpr_nested_nonempty = tint_symbol_11.f; S1 const tint_symbol_12 = {.a=2, .b=x, .c=as_type((as_type(x) + as_type(1))), .d=nested_nonempty.i.f.d}; diff --git a/test/tint/types/function_scope_declarations.wgsl.expected.msl b/test/tint/types/function_scope_declarations.wgsl.expected.msl index a7cd381552..ab73c5e476 100644 --- a/test/tint/types/function_scope_declarations.wgsl.expected.msl +++ b/test/tint/types/function_scope_declarations.wgsl.expected.msl @@ -37,8 +37,8 @@ kernel void tint_symbol() { float3x4 const m3x4_let = float3x4(float4(0.0f), float4(0.0f), float4(0.0f)); tint_array arr_var = tint_array{}; tint_array const arr_let = tint_array{}; - S struct_var = {}; - S const struct_let = {}; + S struct_var = S{}; + S const struct_let = S{}; return; } diff --git a/test/tint/types/module_scope_var.wgsl.expected.msl b/test/tint/types/module_scope_var.wgsl.expected.msl index 50d0091eea..fbdf1db0d2 100644 --- a/test/tint/types/module_scope_var.wgsl.expected.msl +++ b/test/tint/types/module_scope_var.wgsl.expected.msl @@ -39,7 +39,7 @@ kernel void tint_symbol() { tint_symbol_10 = float2x3(float3(0.0f), float3(0.0f)); tint_array const tint_symbol_1 = tint_array{}; tint_symbol_11 = tint_symbol_1; - S const tint_symbol_2 = {}; + S const tint_symbol_2 = S{}; tint_symbol_12 = tint_symbol_2; return; } diff --git a/test/tint/types/module_scope_var_initializers.wgsl.expected.msl b/test/tint/types/module_scope_var_initializers.wgsl.expected.msl index e56e6536c0..f21fcf3216 100644 --- a/test/tint/types/module_scope_var_initializers.wgsl.expected.msl +++ b/test/tint/types/module_scope_var_initializers.wgsl.expected.msl @@ -28,7 +28,7 @@ kernel void tint_symbol() { thread float4 tint_symbol_9 = float4(0.0f); thread float2x3 tint_symbol_10 = float2x3(float3(0.0f), float3(0.0f)); thread tint_array tint_symbol_11 = tint_array{}; - thread S tint_symbol_12 = {}; + thread S tint_symbol_12 = S{}; tint_symbol_3 = false; tint_symbol_4 = 0; tint_symbol_5 = 0u; @@ -39,7 +39,7 @@ kernel void tint_symbol() { tint_symbol_10 = float2x3(float3(0.0f), float3(0.0f)); tint_array const tint_symbol_1 = tint_array{}; tint_symbol_11 = tint_symbol_1; - S const tint_symbol_2 = {}; + S const tint_symbol_2 = S{}; tint_symbol_12 = tint_symbol_2; return; } diff --git a/test/tint/types/return_types.wgsl.expected.msl b/test/tint/types/return_types.wgsl.expected.msl index a0cf7b676f..2f9822c996 100644 --- a/test/tint/types/return_types.wgsl.expected.msl +++ b/test/tint/types/return_types.wgsl.expected.msl @@ -56,7 +56,7 @@ tint_array ret_arr() { } S ret_struct() { - S const tint_symbol_2 = {}; + S const tint_symbol_2 = S{}; return tint_symbol_2; } diff --git a/test/tint/types/struct_members.wgsl.expected.msl b/test/tint/types/struct_members.wgsl.expected.msl index 03c6b97629..cb40b76575 100644 --- a/test/tint/types/struct_members.wgsl.expected.msl +++ b/test/tint/types/struct_members.wgsl.expected.msl @@ -32,7 +32,7 @@ struct S { }; kernel void tint_symbol() { - S const s = {}; + S const s = S{}; return; } diff --git a/test/tint/var/inferred/function.wgsl.expected.msl b/test/tint/var/inferred/function.wgsl.expected.msl index 8809684258..1e2e86035d 100644 --- a/test/tint/var/inferred/function.wgsl.expected.msl +++ b/test/tint/var/inferred/function.wgsl.expected.msl @@ -31,7 +31,7 @@ float ret_f32() { } MyStruct ret_MyStruct() { - MyStruct const tint_symbol_2 = {}; + MyStruct const tint_symbol_2 = MyStruct{}; return tint_symbol_2; } @@ -48,7 +48,7 @@ void var_decls() { uint3 v5 = uint3(1u); float3 v6 = float3(1.0f); float3x3 v7 = float3x3(v6, v6, v6); - MyStruct v8 = {.f1=1.0f}; + MyStruct v8 = MyStruct{.f1=1.0f}; tint_array v9 = tint_array{}; int v10 = ret_i32(); uint v11 = ret_u32(); diff --git a/test/tint/var/inferred/global.wgsl.expected.msl b/test/tint/var/inferred/global.wgsl.expected.msl index 50c5a7e2a2..7213119cb5 100644 --- a/test/tint/var/inferred/global.wgsl.expected.msl +++ b/test/tint/var/inferred/global.wgsl.expected.msl @@ -25,13 +25,13 @@ kernel void f() { thread int3 tint_symbol_3 = int3(1); thread uint3 tint_symbol_4 = uint3(1u, 2u, 3u); thread float3 tint_symbol_5 = float3(1.0f, 2.0f, 3.0f); - thread MyStruct tint_symbol_6 = {.f1=1.0f}; + thread MyStruct tint_symbol_6 = MyStruct{.f1=1.0f}; thread tint_array tint_symbol_7 = tint_array{}; thread int tint_symbol_8 = 0; thread uint tint_symbol_9 = 0u; thread float tint_symbol_10 = 0.0f; - thread MyStruct tint_symbol_11 = {}; - thread MyStruct tint_symbol_12 = {}; + thread MyStruct tint_symbol_11 = MyStruct{}; + thread MyStruct tint_symbol_12 = MyStruct{}; thread tint_array tint_symbol_13 = tint_array{}; thread int3 tint_symbol_14 = int3(1, 2, 3); thread float3 tint_symbol_15 = float3(1.0f, 2.0f, 3.0f); diff --git a/test/tint/var/initialization/workgroup/struct.wgsl.expected.msl b/test/tint/var/initialization/workgroup/struct.wgsl.expected.msl index 619559ac63..276d1d6176 100644 --- a/test/tint/var/initialization/workgroup/struct.wgsl.expected.msl +++ b/test/tint/var/initialization/workgroup/struct.wgsl.expected.msl @@ -8,7 +8,7 @@ struct S { void tint_symbol_inner(uint local_invocation_index, threadgroup S* const tint_symbol_2) { { - S const tint_symbol_1 = {}; + S const tint_symbol_1 = S{}; *(tint_symbol_2) = tint_symbol_1; } threadgroup_barrier(mem_flags::mem_threadgroup);