GLSL: don't emit structs w/runtime-sized arrays.

In GLSL, runtime-sized arrays are only valid in interface blocks, not
in structs. The existing code was attempting to avoid emitting structs
containing runtime-sized arrays but was confused by type aliases in
the AST resulting in arrays being missed.

The fix is to do the work on the semantic types instead, where type
aliases have been resolved.

Bug: tint:1339
Change-Id: I8c305ee9bddd75f975dd13f1d19d623d71410693
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/82360
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
diff --git a/src/tint/writer/glsl/generator_impl.cc b/src/tint/writer/glsl/generator_impl.cc
index fe42ee3..fecb069 100644
--- a/src/tint/writer/glsl/generator_impl.cc
+++ b/src/tint/writer/glsl/generator_impl.cc
@@ -164,11 +164,13 @@
       // elsewhere.
       // TODO(crbug.com/tint/1339): We could also avoid emitting any other
       // struct that is only used as a buffer store type.
-      TINT_ASSERT(Writer, str->members.size() > 0);
-      auto* last_member = str->members[str->members.size() - 1];
-      auto* arr = last_member->type->As<ast::Array>();
-      if (!arr || !arr->IsRuntimeArray()) {
-        if (!EmitStructType(current_buffer_, builder_.Sem().Get(str))) {
+      const sem::Struct* sem_str = builder_.Sem().Get(str);
+      const auto& members = sem_str->Members();
+      TINT_ASSERT(Writer, members.size() > 0);
+      auto* last_member = members[members.size() - 1];
+      auto* arr = last_member->Type()->As<sem::Array>();
+      if (!arr || !arr->IsRuntimeSized()) {
+        if (!EmitStructType(current_buffer_, sem_str)) {
           return false;
         }
       }
diff --git a/test/tint/bug/tint/943.spvasm.expected.glsl b/test/tint/bug/tint/943.spvasm.expected.glsl
index 60a4a56..c488064 100644
--- a/test/tint/bug/tint/943.spvasm.expected.glsl
+++ b/test/tint/bug/tint/943.spvasm.expected.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 
 struct Uniforms {
@@ -10,18 +8,6 @@
   ivec2 outShapeStrides;
 };
 
-struct ssbOut {
-  float result[];
-};
-
-struct ssbA {
-  float A[];
-};
-
-struct ssbB {
-  float B[];
-};
-
 int dimAOuter_1 = 0;
 layout(binding = 3) uniform Uniforms_1 {
   float NAN;
@@ -397,10 +383,3 @@
   tint_symbol_2(gl_LocalInvocationID, gl_GlobalInvocationID, gl_LocalInvocationIndex);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:12: '' : array size required 
-ERROR: 0:13: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/bug/tint/951.spvasm.expected.glsl b/test/tint/bug/tint/951.spvasm.expected.glsl
index 3455fb0..865294e 100644
--- a/test/tint/bug/tint/951.spvasm.expected.glsl
+++ b/test/tint/bug/tint/951.spvasm.expected.glsl
@@ -1,15 +1,5 @@
-SKIP: FAILED
-
 #version 310 es
 
-struct ssbOut {
-  float result[];
-};
-
-struct ssbA {
-  float A[];
-};
-
 struct Uniforms {
   float NAN;
   int aShape;
@@ -87,10 +77,3 @@
   tint_symbol_1(gl_GlobalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:4: '' : array size required 
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/bug/tint/977.spvasm.expected.glsl b/test/tint/bug/tint/977.spvasm.expected.glsl
index 88839a0..b784f3e 100644
--- a/test/tint/bug/tint/977.spvasm.expected.glsl
+++ b/test/tint/bug/tint/977.spvasm.expected.glsl
@@ -1,19 +1,5 @@
-SKIP: FAILED
-
 #version 310 es
 
-struct ResultMatrix {
-  float numbers[];
-};
-
-struct FirstMatrix {
-  float numbers[];
-};
-
-struct SecondMatrix {
-  float numbers[];
-};
-
 struct Uniforms {
   float NAN;
   int sizeA;
@@ -70,10 +56,3 @@
   tint_symbol_1(gl_GlobalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:4: '' : array size required 
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/builtins/gen/textureDimensions/ba1481.wgsl.expected.glsl b/test/tint/builtins/gen/textureDimensions/ba1481.wgsl.expected.glsl
index 31b244c..0e70b6c 100644
--- a/test/tint/builtins/gen/textureDimensions/ba1481.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/textureDimensions/ba1481.wgsl.expected.glsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-../../src/tint/writer/glsl/generator_impl.cc:2569 internal compiler error: Multiplanar external texture transform was not run.
+../../src/tint/writer/glsl/generator_impl.cc:2571 internal compiler error: Multiplanar external texture transform was not run.
 
 
 ********************************************************************
diff --git a/test/tint/builtins/gen/textureLoad/8acf41.wgsl.expected.glsl b/test/tint/builtins/gen/textureLoad/8acf41.wgsl.expected.glsl
index 31b244c..0e70b6c 100644
--- a/test/tint/builtins/gen/textureLoad/8acf41.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/textureLoad/8acf41.wgsl.expected.glsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-../../src/tint/writer/glsl/generator_impl.cc:2569 internal compiler error: Multiplanar external texture transform was not run.
+../../src/tint/writer/glsl/generator_impl.cc:2571 internal compiler error: Multiplanar external texture transform was not run.
 
 
 ********************************************************************
diff --git a/test/tint/builtins/gen/textureSampleLevel/979816.wgsl.expected.glsl b/test/tint/builtins/gen/textureSampleLevel/979816.wgsl.expected.glsl
index 31b244c..0e70b6c 100644
--- a/test/tint/builtins/gen/textureSampleLevel/979816.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/textureSampleLevel/979816.wgsl.expected.glsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-../../src/tint/writer/glsl/generator_impl.cc:2569 internal compiler error: Multiplanar external texture transform was not run.
+../../src/tint/writer/glsl/generator_impl.cc:2571 internal compiler error: Multiplanar external texture transform was not run.
 
 
 ********************************************************************
diff --git a/test/tint/unittest/reader/spirv/SpvParserMemoryTest_ArrayLength_FromAccessChain.spvasm.expected.glsl b/test/tint/unittest/reader/spirv/SpvParserMemoryTest_ArrayLength_FromAccessChain.spvasm.expected.glsl
index 644c948..8035758 100644
--- a/test/tint/unittest/reader/spirv/SpvParserMemoryTest_ArrayLength_FromAccessChain.spvasm.expected.glsl
+++ b/test/tint/unittest/reader/spirv/SpvParserMemoryTest_ArrayLength_FromAccessChain.spvasm.expected.glsl
@@ -1,13 +1,6 @@
-SKIP: FAILED
-
 #version 310 es
 precision mediump float;
 
-struct S {
-  uint first;
-  uint rtarr[];
-};
-
 layout(binding = 0, std430) buffer S_1 {
   uint first;
   uint rtarr[];
@@ -25,10 +18,3 @@
   tint_symbol();
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:6: '' : array size required 
-ERROR: 0:7: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/unittest/reader/spirv/SpvParserMemoryTest_ArrayLength_FromVar.spvasm.expected.glsl b/test/tint/unittest/reader/spirv/SpvParserMemoryTest_ArrayLength_FromVar.spvasm.expected.glsl
index 644c948..8035758 100644
--- a/test/tint/unittest/reader/spirv/SpvParserMemoryTest_ArrayLength_FromVar.spvasm.expected.glsl
+++ b/test/tint/unittest/reader/spirv/SpvParserMemoryTest_ArrayLength_FromVar.spvasm.expected.glsl
@@ -1,13 +1,6 @@
-SKIP: FAILED
-
 #version 310 es
 precision mediump float;
 
-struct S {
-  uint first;
-  uint rtarr[];
-};
-
 layout(binding = 0, std430) buffer S_1 {
   uint first;
   uint rtarr[];
@@ -25,10 +18,3 @@
   tint_symbol();
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:6: '' : array size required 
-ERROR: 0:7: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/unittest/reader/spirv/SpvParserMemoryTest_EmitStatement_AccessChain_Struct_RuntimeArray.spvasm.expected.glsl b/test/tint/unittest/reader/spirv/SpvParserMemoryTest_EmitStatement_AccessChain_Struct_RuntimeArray.spvasm.expected.glsl
index 2781744..7d46c88 100644
--- a/test/tint/unittest/reader/spirv/SpvParserMemoryTest_EmitStatement_AccessChain_Struct_RuntimeArray.spvasm.expected.glsl
+++ b/test/tint/unittest/reader/spirv/SpvParserMemoryTest_EmitStatement_AccessChain_Struct_RuntimeArray.spvasm.expected.glsl
@@ -1,13 +1,6 @@
-SKIP: FAILED
-
 #version 310 es
 precision mediump float;
 
-struct S {
-  float field0;
-  float age[];
-};
-
 layout(binding = 0, std430) buffer S_1 {
   float field0;
   float age[];
@@ -25,10 +18,3 @@
   tint_symbol();
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:6: '' : array size required 
-ERROR: 0:7: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_Cascaded.spvasm.expected.glsl b/test/tint/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_Cascaded.spvasm.expected.glsl
index f777541..90110c6 100644
--- a/test/tint/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_Cascaded.spvasm.expected.glsl
+++ b/test/tint/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_Cascaded.spvasm.expected.glsl
@@ -1,13 +1,6 @@
-SKIP: FAILED
-
 #version 310 es
 precision mediump float;
 
-struct S {
-  uint field0;
-  uint field1[];
-};
-
 layout(binding = 0, std430) buffer S_1 {
   uint field0;
   uint field1[];
@@ -25,10 +18,3 @@
   tint_symbol();
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:6: '' : array size required 
-ERROR: 0:7: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_NonCascaded.spvasm.expected.glsl b/test/tint/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_NonCascaded.spvasm.expected.glsl
index dfa261f..615efaa 100644
--- a/test/tint/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_NonCascaded.spvasm.expected.glsl
+++ b/test/tint/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_NonCascaded.spvasm.expected.glsl
@@ -1,13 +1,6 @@
-SKIP: FAILED
-
 #version 310 es
 precision mediump float;
 
-struct S {
-  uint field0;
-  uint field1[];
-};
-
 layout(binding = 0, std430) buffer S_1 {
   uint field0;
   uint field1[];
@@ -26,10 +19,3 @@
   tint_symbol();
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:6: '' : array size required 
-ERROR: 0:7: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_NonCascaded_InBoundsAccessChain.spvasm.expected.glsl b/test/tint/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_NonCascaded_InBoundsAccessChain.spvasm.expected.glsl
index dfa261f..615efaa 100644
--- a/test/tint/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_NonCascaded_InBoundsAccessChain.spvasm.expected.glsl
+++ b/test/tint/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_NonCascaded_InBoundsAccessChain.spvasm.expected.glsl
@@ -1,13 +1,6 @@
-SKIP: FAILED
-
 #version 310 es
 precision mediump float;
 
-struct S {
-  uint field0;
-  uint field1[];
-};
-
 layout(binding = 0, std430) buffer S_1 {
   uint field0;
   uint field1[];
@@ -26,10 +19,3 @@
   tint_symbol();
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:6: '' : array size required 
-ERROR: 0:7: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_TypesAndVarDeclarations.spvasm.expected.glsl b/test/tint/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_TypesAndVarDeclarations.spvasm.expected.glsl
index 9501cea..1eb60a2 100644
--- a/test/tint/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_TypesAndVarDeclarations.spvasm.expected.glsl
+++ b/test/tint/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_TypesAndVarDeclarations.spvasm.expected.glsl
@@ -1,13 +1,6 @@
-SKIP: FAILED
-
 #version 310 es
 precision mediump float;
 
-struct S {
-  uint field0;
-  uint field1[];
-};
-
 void main_1() {
   return;
 }
@@ -20,10 +13,3 @@
   tint_symbol();
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:6: '' : array size required 
-ERROR: 0:7: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/barrier-in-loop-with-break/0-opt.spvasm.expected.glsl b/test/tint/vk-gl-cts/graphicsfuzz/barrier-in-loop-with-break/0-opt.spvasm.expected.glsl
index c6efb4b..8270991 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/barrier-in-loop-with-break/0-opt.spvasm.expected.glsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/barrier-in-loop-with-break/0-opt.spvasm.expected.glsl
@@ -1,12 +1,5 @@
-SKIP: FAILED
-
 #version 310 es
 
-struct doesNotMatter {
-  int global_seed;
-  int data[];
-};
-
 struct buf1 {
   vec2 injectionSwitch;
 };
@@ -58,10 +51,3 @@
   tint_symbol_1(gl_LocalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:5: '' : array size required 
-ERROR: 0:6: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/barrier-in-loop-with-break/0-opt.wgsl.expected.glsl b/test/tint/vk-gl-cts/graphicsfuzz/barrier-in-loop-with-break/0-opt.wgsl.expected.glsl
index 3c372c8..9bc540b 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/barrier-in-loop-with-break/0-opt.wgsl.expected.glsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/barrier-in-loop-with-break/0-opt.wgsl.expected.glsl
@@ -1,16 +1,9 @@
-SKIP: FAILED
-
 vk-gl-cts/graphicsfuzz/barrier-in-loop-with-break/0-opt.wgsl:1:15 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
 type RTArr = @stride(4) array<i32>;
               ^^^^^^
 
 #version 310 es
 
-struct doesNotMatter {
-  int global_seed;
-  int data[];
-};
-
 struct buf1 {
   vec2 injectionSwitch;
 };
@@ -62,10 +55,3 @@
   tint_symbol_1(gl_LocalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:5: '' : array size required 
-ERROR: 0:6: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/two-for-loops-with-barrier-function/0-opt.spvasm.expected.glsl b/test/tint/vk-gl-cts/graphicsfuzz/two-for-loops-with-barrier-function/0-opt.spvasm.expected.glsl
index 1c36a9f..4e9743e 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/two-for-loops-with-barrier-function/0-opt.spvasm.expected.glsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/two-for-loops-with-barrier-function/0-opt.spvasm.expected.glsl
@@ -1,15 +1,9 @@
-SKIP: FAILED
-
 #version 310 es
 
 struct buf0 {
   vec2 injectionSwitch;
 };
 
-struct doesNotMatter {
-  uint x_compute_data[];
-};
-
 vec4 GLF_live2gl_FragCoord = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 layout(binding = 1) uniform buf0_1 {
   vec2 injectionSwitch;
@@ -77,10 +71,3 @@
   tint_symbol();
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:8: '' : array size required 
-ERROR: 0:9: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/two-for-loops-with-barrier-function/0-opt.wgsl.expected.glsl b/test/tint/vk-gl-cts/graphicsfuzz/two-for-loops-with-barrier-function/0-opt.wgsl.expected.glsl
index 2b2f42b5..08eb117 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/two-for-loops-with-barrier-function/0-opt.wgsl.expected.glsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/two-for-loops-with-barrier-function/0-opt.wgsl.expected.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 vk-gl-cts/graphicsfuzz/two-for-loops-with-barrier-function/0-opt.wgsl:5:15 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
 type RTArr = @stride(4) array<u32>;
               ^^^^^^
@@ -10,10 +8,6 @@
   vec2 injectionSwitch;
 };
 
-struct doesNotMatter {
-  uint x_compute_data[];
-};
-
 vec4 GLF_live2gl_FragCoord = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 layout(binding = 1) uniform buf0_1 {
   vec2 injectionSwitch;
@@ -81,10 +75,3 @@
   tint_symbol();
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:8: '' : array size required 
-ERROR: 0:9: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/two-nested-for-loops-with-returns/0-opt.spvasm.expected.glsl b/test/tint/vk-gl-cts/graphicsfuzz/two-nested-for-loops-with-returns/0-opt.spvasm.expected.glsl
index 9df6e05..5adbbbe 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/two-nested-for-loops-with-returns/0-opt.spvasm.expected.glsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/two-nested-for-loops-with-returns/0-opt.spvasm.expected.glsl
@@ -1,11 +1,5 @@
-SKIP: FAILED
-
 #version 310 es
 
-struct doesNotMatter {
-  float x_compute_data[];
-};
-
 layout(binding = 0, std430) buffer doesNotMatter_1 {
   float x_compute_data[];
 } x_9;
@@ -66,10 +60,3 @@
   tint_symbol();
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:4: '' : array size required 
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/two-nested-for-loops-with-returns/0-opt.wgsl.expected.glsl b/test/tint/vk-gl-cts/graphicsfuzz/two-nested-for-loops-with-returns/0-opt.wgsl.expected.glsl
index a433ae8..7cc70f3 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/two-nested-for-loops-with-returns/0-opt.wgsl.expected.glsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/two-nested-for-loops-with-returns/0-opt.wgsl.expected.glsl
@@ -1,15 +1,9 @@
-SKIP: FAILED
-
 vk-gl-cts/graphicsfuzz/two-nested-for-loops-with-returns/0-opt.wgsl:1:15 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
 type RTArr = @stride(4) array<f32>;
               ^^^^^^
 
 #version 310 es
 
-struct doesNotMatter {
-  float x_compute_data[];
-};
-
 layout(binding = 0, std430) buffer doesNotMatter_1 {
   float x_compute_data[];
 } x_9;
@@ -70,10 +64,3 @@
   tint_symbol();
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:4: '' : array size required 
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/unreachable-barrier-in-loops/0-opt.spvasm.expected.glsl b/test/tint/vk-gl-cts/graphicsfuzz/unreachable-barrier-in-loops/0-opt.spvasm.expected.glsl
index 0766404..5c0702c 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/unreachable-barrier-in-loops/0-opt.spvasm.expected.glsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/unreachable-barrier-in-loops/0-opt.spvasm.expected.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 
 struct buf1 {
@@ -10,10 +8,6 @@
   vec2 resolution;
 };
 
-struct doesNotMatter {
-  int x_compute_data[];
-};
-
 uvec3 tint_symbol = uvec3(0u, 0u, 0u);
 layout(binding = 1) uniform buf1_1 {
   vec2 injectionSwitch;
@@ -123,10 +117,3 @@
   tint_symbol_1(gl_GlobalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:12: '' : array size required 
-ERROR: 0:13: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/unreachable-barrier-in-loops/0-opt.wgsl.expected.glsl b/test/tint/vk-gl-cts/graphicsfuzz/unreachable-barrier-in-loops/0-opt.wgsl.expected.glsl
index 4650ab1..c9a8c2c 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/unreachable-barrier-in-loops/0-opt.wgsl.expected.glsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/unreachable-barrier-in-loops/0-opt.wgsl.expected.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 vk-gl-cts/graphicsfuzz/unreachable-barrier-in-loops/0-opt.wgsl:9:15 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
 type RTArr = @stride(4) array<i32>;
               ^^^^^^
@@ -14,10 +12,6 @@
   vec2 resolution;
 };
 
-struct doesNotMatter {
-  int x_compute_data[];
-};
-
 uvec3 tint_symbol = uvec3(0u, 0u, 0u);
 layout(binding = 1) uniform buf1_1 {
   vec2 injectionSwitch;
@@ -127,10 +121,3 @@
   tint_symbol_1(gl_GlobalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:12: '' : array size required 
-ERROR: 0:13: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/arraylength/array-stride-larger-than-element-size/1.spvasm.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/arraylength/array-stride-larger-than-element-size/1.spvasm.expected.glsl
index 7789645..0224581 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/arraylength/array-stride-larger-than-element-size/1.spvasm.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/arraylength/array-stride-larger-than-element-size/1.spvasm.expected.glsl
@@ -1,15 +1,9 @@
-SKIP: FAILED
-
 #version 310 es
 
 struct Buf1 {
   int result;
 };
 
-struct Buf0 {
-  uint values[];
-};
-
 layout(binding = 1, std430) buffer Buf1_1 {
   int result;
 } x_4;
@@ -40,10 +34,3 @@
   tint_symbol();
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:8: '' : array size required 
-ERROR: 0:9: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/arraylength/array-stride-larger-than-element-size/1.wgsl.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/arraylength/array-stride-larger-than-element-size/1.wgsl.expected.glsl
index a396de9..2aaa454 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/arraylength/array-stride-larger-than-element-size/1.wgsl.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/arraylength/array-stride-larger-than-element-size/1.wgsl.expected.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 vk-gl-cts/spirv_assembly/instruction/compute/arraylength/array-stride-larger-than-element-size/1.wgsl:5:15 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
 type RTArr = @stride(4) array<u32>;
               ^^^^^^
@@ -10,10 +8,6 @@
   int result;
 };
 
-struct Buf0 {
-  uint values[];
-};
-
 layout(binding = 1, std430) buffer Buf1_1 {
   int result;
 } x_4;
@@ -44,10 +38,3 @@
   tint_symbol();
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:8: '' : array size required 
-ERROR: 0:9: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthan/0.spvasm.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthan/0.spvasm.expected.glsl
index 4db18f6..95529d2 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthan/0.spvasm.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthan/0.spvasm.expected.glsl
@@ -1,11 +1,5 @@
-SKIP: FAILED
-
 #version 310 es
 
-struct S {
-  uint field0[];
-};
-
 uvec3 x_2 = uvec3(0u, 0u, 0u);
 layout(binding = 0, std430) buffer S_1 {
   uint field0[];
@@ -34,10 +28,3 @@
   tint_symbol(gl_GlobalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:4: '' : array size required 
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthan/0.wgsl.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthan/0.wgsl.expected.glsl
index 9c005be..b99aba7 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthan/0.wgsl.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthan/0.wgsl.expected.glsl
@@ -1,15 +1,9 @@
-SKIP: FAILED
-
 vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthan/0.wgsl:1:15 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
 type RTArr = @stride(4) array<u32>;
               ^^^^^^
 
 #version 310 es
 
-struct S {
-  uint field0[];
-};
-
 uvec3 x_2 = uvec3(0u, 0u, 0u);
 layout(binding = 0, std430) buffer S_1 {
   uint field0[];
@@ -38,10 +32,3 @@
   tint_symbol(gl_GlobalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:4: '' : array size required 
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthanequal/0.spvasm.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthanequal/0.spvasm.expected.glsl
index 82f46db..14da4cb 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthanequal/0.spvasm.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthanequal/0.spvasm.expected.glsl
@@ -1,11 +1,5 @@
-SKIP: FAILED
-
 #version 310 es
 
-struct S {
-  uint field0[];
-};
-
 uvec3 x_2 = uvec3(0u, 0u, 0u);
 layout(binding = 0, std430) buffer S_1 {
   uint field0[];
@@ -34,10 +28,3 @@
   tint_symbol(gl_GlobalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:4: '' : array size required 
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthanequal/0.wgsl.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthanequal/0.wgsl.expected.glsl
index 735bcc6..28fa601 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthanequal/0.wgsl.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthanequal/0.wgsl.expected.glsl
@@ -1,15 +1,9 @@
-SKIP: FAILED
-
 vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthanequal/0.wgsl:1:15 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
 type RTArr = @stride(4) array<u32>;
               ^^^^^^
 
 #version 310 es
 
-struct S {
-  uint field0[];
-};
-
 uvec3 x_2 = uvec3(0u, 0u, 0u);
 layout(binding = 0, std430) buffer S_1 {
   uint field0[];
@@ -38,10 +32,3 @@
   tint_symbol(gl_GlobalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:4: '' : array size required 
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthan/0.spvasm.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthan/0.spvasm.expected.glsl
index 23be66a..bdf36c6 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthan/0.spvasm.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthan/0.spvasm.expected.glsl
@@ -1,11 +1,5 @@
-SKIP: FAILED
-
 #version 310 es
 
-struct S {
-  uint field0[];
-};
-
 uvec3 x_2 = uvec3(0u, 0u, 0u);
 layout(binding = 0, std430) buffer S_1 {
   uint field0[];
@@ -34,10 +28,3 @@
   tint_symbol(gl_GlobalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:4: '' : array size required 
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthan/0.wgsl.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthan/0.wgsl.expected.glsl
index 4a16a0a..f2f426c 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthan/0.wgsl.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthan/0.wgsl.expected.glsl
@@ -1,15 +1,9 @@
-SKIP: FAILED
-
 vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthan/0.wgsl:1:15 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
 type RTArr = @stride(4) array<u32>;
               ^^^^^^
 
 #version 310 es
 
-struct S {
-  uint field0[];
-};
-
 uvec3 x_2 = uvec3(0u, 0u, 0u);
 layout(binding = 0, std430) buffer S_1 {
   uint field0[];
@@ -38,10 +32,3 @@
   tint_symbol(gl_GlobalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:4: '' : array size required 
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthanequal/0.spvasm.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthanequal/0.spvasm.expected.glsl
index e4ca0dd..b7cf34c 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthanequal/0.spvasm.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthanequal/0.spvasm.expected.glsl
@@ -1,11 +1,5 @@
-SKIP: FAILED
-
 #version 310 es
 
-struct S {
-  uint field0[];
-};
-
 uvec3 x_2 = uvec3(0u, 0u, 0u);
 layout(binding = 0, std430) buffer S_1 {
   uint field0[];
@@ -34,10 +28,3 @@
   tint_symbol(gl_GlobalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:4: '' : array size required 
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthanequal/0.wgsl.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthanequal/0.wgsl.expected.glsl
index 5500fa3..278a968 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthanequal/0.wgsl.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthanequal/0.wgsl.expected.glsl
@@ -1,15 +1,9 @@
-SKIP: FAILED
-
 vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthanequal/0.wgsl:1:15 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
 type RTArr = @stride(4) array<u32>;
               ^^^^^^
 
 #version 310 es
 
-struct S {
-  uint field0[];
-};
-
 uvec3 x_2 = uvec3(0u, 0u, 0u);
 layout(binding = 0, std430) buffer S_1 {
   uint field0[];
@@ -38,10 +32,3 @@
   tint_symbol(gl_GlobalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:4: '' : array size required 
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_int_uclamp/0-opt.spvasm.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_int_uclamp/0-opt.spvasm.expected.glsl
index 7335a19..581c92a 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_int_uclamp/0-opt.spvasm.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_int_uclamp/0-opt.spvasm.expected.glsl
@@ -1,11 +1,5 @@
-SKIP: FAILED
-
 #version 310 es
 
-struct S {
-  int field0[];
-};
-
 uvec3 x_3 = uvec3(0u, 0u, 0u);
 layout(binding = 0, std430) buffer S_1 {
   int field0[];
@@ -38,10 +32,3 @@
   tint_symbol(gl_GlobalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:4: '' : array size required 
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_int_uclamp/0-opt.wgsl.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_int_uclamp/0-opt.wgsl.expected.glsl
index 88b843f..5abc642 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_int_uclamp/0-opt.wgsl.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_int_uclamp/0-opt.wgsl.expected.glsl
@@ -1,15 +1,9 @@
-SKIP: FAILED
-
 vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_int_uclamp/0-opt.wgsl:1:15 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
 type RTArr = @stride(4) array<i32>;
               ^^^^^^
 
 #version 310 es
 
-struct S {
-  int field0[];
-};
-
 uvec3 x_3 = uvec3(0u, 0u, 0u);
 layout(binding = 0, std430) buffer S_1 {
   int field0[];
@@ -42,10 +36,3 @@
   tint_symbol(gl_GlobalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:4: '' : array size required 
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sabs/0-opt.spvasm.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sabs/0-opt.spvasm.expected.glsl
index 0eb6b45..7d2b9dd 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sabs/0-opt.spvasm.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sabs/0-opt.spvasm.expected.glsl
@@ -1,11 +1,5 @@
-SKIP: FAILED
-
 #version 310 es
 
-struct S {
-  uint field0[];
-};
-
 uvec3 x_3 = uvec3(0u, 0u, 0u);
 layout(binding = 0, std430) buffer S_1 {
   uint field0[];
@@ -30,10 +24,3 @@
   tint_symbol(gl_GlobalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:4: '' : array size required 
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sabs/0-opt.wgsl.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sabs/0-opt.wgsl.expected.glsl
index 2928660..c63ba55 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sabs/0-opt.wgsl.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sabs/0-opt.wgsl.expected.glsl
@@ -1,15 +1,9 @@
-SKIP: FAILED
-
 vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sabs/0-opt.wgsl:1:15 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
 type RTArr = @stride(4) array<u32>;
               ^^^^^^
 
 #version 310 es
 
-struct S {
-  uint field0[];
-};
-
 uvec3 x_3 = uvec3(0u, 0u, 0u);
 layout(binding = 0, std430) buffer S_1 {
   uint field0[];
@@ -34,10 +28,3 @@
   tint_symbol(gl_GlobalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:4: '' : array size required 
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sclamp/0-opt.spvasm.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sclamp/0-opt.spvasm.expected.glsl
index cd3aea5..aa006e7 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sclamp/0-opt.spvasm.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sclamp/0-opt.spvasm.expected.glsl
@@ -1,11 +1,5 @@
-SKIP: FAILED
-
 #version 310 es
 
-struct S {
-  uint field0[];
-};
-
 uvec3 x_3 = uvec3(0u, 0u, 0u);
 layout(binding = 0, std430) buffer S_1 {
   uint field0[];
@@ -38,10 +32,3 @@
   tint_symbol(gl_GlobalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:4: '' : array size required 
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sclamp/0-opt.wgsl.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sclamp/0-opt.wgsl.expected.glsl
index 6225445..0453f7b 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sclamp/0-opt.wgsl.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sclamp/0-opt.wgsl.expected.glsl
@@ -1,15 +1,9 @@
-SKIP: FAILED
-
 vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sclamp/0-opt.wgsl:1:15 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
 type RTArr = @stride(4) array<u32>;
               ^^^^^^
 
 #version 310 es
 
-struct S {
-  uint field0[];
-};
-
 uvec3 x_3 = uvec3(0u, 0u, 0u);
 layout(binding = 0, std430) buffer S_1 {
   uint field0[];
@@ -42,10 +36,3 @@
   tint_symbol(gl_GlobalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:4: '' : array size required 
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smax/0-opt.spvasm.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smax/0-opt.spvasm.expected.glsl
index 3edb93d..62d91ce 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smax/0-opt.spvasm.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smax/0-opt.spvasm.expected.glsl
@@ -1,11 +1,5 @@
-SKIP: FAILED
-
 #version 310 es
 
-struct S {
-  uint field0[];
-};
-
 uvec3 x_3 = uvec3(0u, 0u, 0u);
 layout(binding = 0, std430) buffer S_1 {
   uint field0[];
@@ -34,10 +28,3 @@
   tint_symbol(gl_GlobalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:4: '' : array size required 
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smax/0-opt.wgsl.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smax/0-opt.wgsl.expected.glsl
index 5a257b6..5a76c16 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smax/0-opt.wgsl.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smax/0-opt.wgsl.expected.glsl
@@ -1,15 +1,9 @@
-SKIP: FAILED
-
 vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smax/0-opt.wgsl:1:15 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
 type RTArr = @stride(4) array<u32>;
               ^^^^^^
 
 #version 310 es
 
-struct S {
-  uint field0[];
-};
-
 uvec3 x_3 = uvec3(0u, 0u, 0u);
 layout(binding = 0, std430) buffer S_1 {
   uint field0[];
@@ -38,10 +32,3 @@
   tint_symbol(gl_GlobalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:4: '' : array size required 
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smin/0-opt.spvasm.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smin/0-opt.spvasm.expected.glsl
index 83ab583..250913c 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smin/0-opt.spvasm.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smin/0-opt.spvasm.expected.glsl
@@ -1,11 +1,5 @@
-SKIP: FAILED
-
 #version 310 es
 
-struct S {
-  uint field0[];
-};
-
 uvec3 x_3 = uvec3(0u, 0u, 0u);
 layout(binding = 0, std430) buffer S_1 {
   uint field0[];
@@ -34,10 +28,3 @@
   tint_symbol(gl_GlobalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:4: '' : array size required 
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smin/0-opt.wgsl.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smin/0-opt.wgsl.expected.glsl
index 1078c62..a6269d9 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smin/0-opt.wgsl.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smin/0-opt.wgsl.expected.glsl
@@ -1,15 +1,9 @@
-SKIP: FAILED
-
 vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smin/0-opt.wgsl:1:15 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
 type RTArr = @stride(4) array<u32>;
               ^^^^^^
 
 #version 310 es
 
-struct S {
-  uint field0[];
-};
-
 uvec3 x_3 = uvec3(0u, 0u, 0u);
 layout(binding = 0, std430) buffer S_1 {
   uint field0[];
@@ -38,10 +32,3 @@
   tint_symbol(gl_GlobalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:4: '' : array size required 
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_sdiv/0-opt.spvasm.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_sdiv/0-opt.spvasm.expected.glsl
index 44d2902..f02beed 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_sdiv/0-opt.spvasm.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_sdiv/0-opt.spvasm.expected.glsl
@@ -1,11 +1,5 @@
-SKIP: FAILED
-
 #version 310 es
 
-struct S {
-  uint field0[];
-};
-
 uvec3 x_2 = uvec3(0u, 0u, 0u);
 layout(binding = 0, std430) buffer S_1 {
   uint field0[];
@@ -34,10 +28,3 @@
   tint_symbol(gl_GlobalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:4: '' : array size required 
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_sdiv/0-opt.wgsl.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_sdiv/0-opt.wgsl.expected.glsl
index a777b12..c065d501 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_sdiv/0-opt.wgsl.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_sdiv/0-opt.wgsl.expected.glsl
@@ -1,15 +1,9 @@
-SKIP: FAILED
-
 vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_sdiv/0-opt.wgsl:1:15 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
 type RTArr = @stride(4) array<u32>;
               ^^^^^^
 
 #version 310 es
 
-struct S {
-  uint field0[];
-};
-
 uvec3 x_2 = uvec3(0u, 0u, 0u);
 layout(binding = 0, std430) buffer S_1 {
   uint field0[];
@@ -38,10 +32,3 @@
   tint_symbol(gl_GlobalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:4: '' : array size required 
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_snegate/0-opt.spvasm.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_snegate/0-opt.spvasm.expected.glsl
index 6c8f3c5..f56da3f 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_snegate/0-opt.spvasm.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_snegate/0-opt.spvasm.expected.glsl
@@ -1,11 +1,5 @@
-SKIP: FAILED
-
 #version 310 es
 
-struct S {
-  uint field0[];
-};
-
 uvec3 x_2 = uvec3(0u, 0u, 0u);
 layout(binding = 0, std430) buffer S_1 {
   uint field0[];
@@ -30,10 +24,3 @@
   tint_symbol(gl_GlobalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:4: '' : array size required 
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_snegate/0-opt.wgsl.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_snegate/0-opt.wgsl.expected.glsl
index 3834124..23c6f71 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_snegate/0-opt.wgsl.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_snegate/0-opt.wgsl.expected.glsl
@@ -1,15 +1,9 @@
-SKIP: FAILED
-
 vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_snegate/0-opt.wgsl:1:15 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
 type RTArr = @stride(4) array<u32>;
               ^^^^^^
 
 #version 310 es
 
-struct S {
-  uint field0[];
-};
-
 uvec3 x_2 = uvec3(0u, 0u, 0u);
 layout(binding = 0, std430) buffer S_1 {
   uint field0[];
@@ -34,10 +28,3 @@
   tint_symbol(gl_GlobalInvocationID);
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:4: '' : array size required 
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_ssbo_store/1.spvasm.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_ssbo_store/1.spvasm.expected.glsl
index 054a5cc..98554ed 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_ssbo_store/1.spvasm.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_ssbo_store/1.spvasm.expected.glsl
@@ -1,14 +1,8 @@
-SKIP: FAILED
-
 #version 310 es
 precision mediump float;
 
 layout(location = 0) flat in int x_3_param_1;
 layout(location = 0) out int x_4_1_1;
-struct S {
-  int field0[];
-};
-
 vec4 x_2 = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 int x_3 = 0;
 int x_4 = 0;
@@ -43,10 +37,3 @@
   x_4_1_1 = inner_result.x_4_1;
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:7: '' : array size required 
-ERROR: 0:8: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_ssbo_store/1.wgsl.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_ssbo_store/1.wgsl.expected.glsl
index 5fbe899..e0ca6f6 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_ssbo_store/1.wgsl.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_ssbo_store/1.wgsl.expected.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_ssbo_store/1.wgsl:1:15 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
 type RTArr = @stride(4) array<i32>;
               ^^^^^^
@@ -9,10 +7,6 @@
 
 layout(location = 0) flat in int x_3_param_1;
 layout(location = 0) out int x_4_1_1;
-struct S {
-  int field0[];
-};
-
 vec4 x_2 = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 int x_3 = 0;
 int x_4 = 0;
@@ -47,10 +41,3 @@
   x_4_1_1 = inner_result.x_4_1;
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:7: '' : array size required 
-ERROR: 0:8: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/ssbo_store_before_terminate/1.spvasm.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/ssbo_store_before_terminate/1.spvasm.expected.glsl
index d1e6534..86c6f48 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/ssbo_store_before_terminate/1.spvasm.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/ssbo_store_before_terminate/1.spvasm.expected.glsl
@@ -1,14 +1,8 @@
-SKIP: FAILED
-
 #version 310 es
 precision mediump float;
 
 layout(location = 0) flat in int x_3_param_1;
 layout(location = 0) out int x_4_1_1;
-struct S {
-  int field0[];
-};
-
 vec4 x_2 = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 int x_3 = 0;
 int x_4 = 0;
@@ -44,10 +38,3 @@
   x_4_1_1 = inner_result.x_4_1;
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:7: '' : array size required 
-ERROR: 0:8: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/ssbo_store_before_terminate/1.wgsl.expected.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/ssbo_store_before_terminate/1.wgsl.expected.glsl
index 4bd98da..f6e5b9b 100644
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/ssbo_store_before_terminate/1.wgsl.expected.glsl
+++ b/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/ssbo_store_before_terminate/1.wgsl.expected.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 vk-gl-cts/spirv_assembly/instruction/terminate_invocation/ssbo_store_before_terminate/1.wgsl:1:15 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
 type RTArr = @stride(4) array<i32>;
               ^^^^^^
@@ -9,10 +7,6 @@
 
 layout(location = 0) flat in int x_3_param_1;
 layout(location = 0) out int x_4_1_1;
-struct S {
-  int field0[];
-};
-
 vec4 x_2 = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 int x_3 = 0;
 int x_4 = 0;
@@ -48,10 +42,3 @@
   x_4_1_1 = inner_result.x_4_1;
   return;
 }
-Error parsing GLSL shader:
-ERROR: 0:7: '' : array size required 
-ERROR: 0:8: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-