diff --git a/test/bug/tint/1046.wgsl.expected.glsl b/test/bug/tint/1046.wgsl.expected.glsl
index c82363c..06f4b1a 100644
--- a/test/bug/tint/1046.wgsl.expected.glsl
+++ b/test/bug/tint/1046.wgsl.expected.glsl
@@ -6,6 +6,13 @@
 struct PointLight {
   vec4 position;
 };
+struct Uniforms {
+  mat4 worldView;
+  mat4 proj;
+  uint numPointLights;
+  uint color_source;
+  vec4 color;
+};
 
 layout (binding = 0) uniform Uniforms_1 {
   mat4 worldView;
@@ -73,7 +80,7 @@
 
 
 Error parsing GLSL shader:
-ERROR: 0:59: 'color' : redefinition 
+ERROR: 0:66: 'color' : redefinition 
 ERROR: 1 compilation errors.  No code generated.
 
 
diff --git a/test/bug/tint/804.spv.expected.glsl b/test/bug/tint/804.spv.expected.glsl
index 2bc83db..f94b4a6 100644
--- a/test/bug/tint/804.spv.expected.glsl
+++ b/test/bug/tint/804.spv.expected.glsl
@@ -1,3 +1,19 @@
 SKIP: FAILED
 
+
+struct buf0 {
+  resolution : vec2<f32>;
+};
+
+struct S {
+  field0 : u32;
+  field1 : u32;
+};
+
+[[group(0), binding(0)]] var<uniform> x_75 : buf0;
+
+var<private> gl_FragCoord : vec4<f32>;
+
+var<private> x_GLF_color : vec4<f32>;
+
 error: extended arithmetic is not finalized for WGSL: https://github.com/gpuweb/gpuweb/issues/1565: %712 = OpISubBorrow %710 %107 %470
diff --git a/test/bug/tint/807.spv.expected.glsl b/test/bug/tint/807.spv.expected.glsl
index f624e54..785418e 100644
--- a/test/bug/tint/807.spv.expected.glsl
+++ b/test/bug/tint/807.spv.expected.glsl
@@ -1,3 +1,8 @@
 SKIP: FAILED
 
+
+struct buf0 {
+  resolution : vec2<f32>;
+};
+
 error: undef pointer is not valid: %845 = OpUndef %434
diff --git a/test/bug/tint/922.wgsl.expected.glsl b/test/bug/tint/922.wgsl.expected.glsl
index 0fffaa7..43eee10 100644
--- a/test/bug/tint/922.wgsl.expected.glsl
+++ b/test/bug/tint/922.wgsl.expected.glsl
@@ -18,6 +18,16 @@
   vec4 mx;
   vec4 my;
 };
+struct ub_SceneParams {
+  Mat4x4_ u_Projection;
+};
+struct ub_MaterialParams {
+  Mat4x2_ u_TexMtx[1];
+  vec4 u_Misc0_;
+};
+struct ub_PacketParams {
+  Mat4x3_ u_PosMtx[32];
+};
 struct VertexOutput {
   vec4 v_Color;
   vec2 v_TexCoord;
@@ -175,7 +185,7 @@
 
 
 Error parsing GLSL shader:
-ERROR: 0:157: 'v_Color' : redefinition 
+ERROR: 0:167: 'v_Color' : redefinition 
 ERROR: 1 compilation errors.  No code generated.
 
 
diff --git a/test/bug/tint/943.spvasm.expected.glsl b/test/bug/tint/943.spvasm.expected.glsl
index f04b212..952bbcd 100644
--- a/test/bug/tint/943.spvasm.expected.glsl
+++ b/test/bug/tint/943.spvasm.expected.glsl
@@ -1,6 +1,24 @@
+SKIP: FAILED
+
 #version 310 es
 precision mediump float;
 
+struct Uniforms {
+  float NAN;
+  ivec3 aShape;
+  ivec3 bShape;
+  ivec3 outShape;
+  ivec2 outShapeStrides;
+};
+struct ssbOut {
+  float result[];
+};
+struct ssbA {
+  float A[];
+};
+struct ssbB {
+  float B[];
+};
 
 int dimAOuter_1 = 0;
 layout (binding = 3) uniform Uniforms_1 {
@@ -392,3 +410,10 @@
 }
 
 
+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/bug/tint/948.wgsl.expected.glsl b/test/bug/tint/948.wgsl.expected.glsl
index a34da83..37c2202 100644
--- a/test/bug/tint/948.wgsl.expected.glsl
+++ b/test/bug/tint/948.wgsl.expected.glsl
@@ -3,6 +3,17 @@
 #version 310 es
 precision mediump float;
 
+struct LeftOver {
+  float time;
+  uint padding;
+  mat4 worldViewProjection;
+  vec2 outputSize;
+  vec2 stageSize;
+  vec2 spriteMapSize;
+  float stageScale;
+  float spriteCount;
+  vec3 colorMul;
+};
 
 layout (binding = 9) uniform LeftOver_1 {
   float time;
@@ -218,9 +229,9 @@
 
 
 Error parsing GLSL shader:
-ERROR: 0:65: 'frac' : no matching overloaded function found 
-ERROR: 0:65: 'assign' :  cannot convert from ' const float' to ' temp mediump 2-component vector of float'
-ERROR: 0:65: '' : compilation terminated 
+ERROR: 0:76: 'frac' : no matching overloaded function found 
+ERROR: 0:76: 'assign' :  cannot convert from ' const float' to ' temp mediump 2-component vector of float'
+ERROR: 0:76: '' : compilation terminated 
 ERROR: 3 compilation errors.  No code generated.
 
 
diff --git a/test/bug/tint/949.wgsl.expected.glsl b/test/bug/tint/949.wgsl.expected.glsl
index f3d0c47..b5ee178 100644
--- a/test/bug/tint/949.wgsl.expected.glsl
+++ b/test/bug/tint/949.wgsl.expected.glsl
@@ -7,6 +7,26 @@
   vec3 diffuse;
   vec3 specular;
 };
+struct LeftOver {
+  mat4 u_World;
+  mat4 u_ViewProjection;
+  float u_bumpStrength;
+  uint padding;
+  vec3 u_cameraPosition;
+  float u_parallaxScale;
+  float textureInfoName;
+  uint padding_1;
+  vec2 tangentSpaceParameter0;
+};
+struct Light0 {
+  vec4 vLightData;
+  vec4 vLightDiffuse;
+  vec4 vLightSpecular;
+  vec3 vLightGround;
+  uint padding_2;
+  vec4 shadowsInfo;
+  vec2 depthValues;
+};
 
 float u_Float = 0.0f;
 vec3 u_Color = vec3(0.0f, 0.0f, 0.0f);
@@ -377,9 +397,9 @@
 
 
 Error parsing GLSL shader:
-ERROR: 0:53: 'ddx' : no matching overloaded function found 
-ERROR: 0:53: 'assign' :  cannot convert from ' const float' to ' temp mediump 3-component vector of float'
-ERROR: 0:53: '' : compilation terminated 
+ERROR: 0:73: 'ddx' : no matching overloaded function found 
+ERROR: 0:73: 'assign' :  cannot convert from ' const float' to ' temp mediump 3-component vector of float'
+ERROR: 0:73: '' : compilation terminated 
 ERROR: 3 compilation errors.  No code generated.
 
 
diff --git a/test/bug/tint/951.spvasm.expected.glsl b/test/bug/tint/951.spvasm.expected.glsl
index d638979..0937bf4 100644
--- a/test/bug/tint/951.spvasm.expected.glsl
+++ b/test/bug/tint/951.spvasm.expected.glsl
@@ -1,6 +1,21 @@
+SKIP: FAILED
+
 #version 310 es
 precision mediump float;
 
+struct ssbOut {
+  float result[];
+};
+struct ssbA {
+  float A[];
+};
+struct Uniforms {
+  float NAN;
+  int aShape;
+  int outShape;
+  int outShapeStrides;
+  int size;
+};
 
 layout (binding = 0) buffer ssbOut_1 {
   float result[];
@@ -82,3 +97,10 @@
 }
 
 
+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/bug/tint/977.spvasm.expected.glsl b/test/bug/tint/977.spvasm.expected.glsl
index 920b669..364ed90 100644
--- a/test/bug/tint/977.spvasm.expected.glsl
+++ b/test/bug/tint/977.spvasm.expected.glsl
@@ -1,6 +1,22 @@
+SKIP: FAILED
+
 #version 310 es
 precision mediump float;
 
+struct ResultMatrix {
+  float numbers[];
+};
+struct FirstMatrix {
+  float numbers[];
+};
+struct SecondMatrix {
+  float numbers[];
+};
+struct Uniforms {
+  float NAN;
+  int sizeA;
+  int sizeB;
+};
 
 uvec3 tint_symbol = uvec3(0u, 0u, 0u);
 layout (binding = 2) buffer ResultMatrix_1 {
@@ -64,3 +80,10 @@
 }
 
 
+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/intrinsics/gen/isFinite/34d32b.wgsl.expected.glsl b/test/intrinsics/gen/isFinite/34d32b.wgsl.expected.glsl
index 74f2374..380ee12 100644
--- a/test/intrinsics/gen/isFinite/34d32b.wgsl.expected.glsl
+++ b/test/intrinsics/gen/isFinite/34d32b.wgsl.expected.glsl
@@ -1,5 +1,9 @@
 SKIP: FAILED
 
+intrinsics/gen/isFinite/34d32b.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec2<bool> = isFinite(vec2<f32>());
+                        ^^^^^^^^
+
 #version 310 es
 precision mediump float;
 
diff --git a/test/intrinsics/gen/isFinite/426f9f.wgsl.expected.glsl b/test/intrinsics/gen/isFinite/426f9f.wgsl.expected.glsl
index ade322a..b15d078 100644
--- a/test/intrinsics/gen/isFinite/426f9f.wgsl.expected.glsl
+++ b/test/intrinsics/gen/isFinite/426f9f.wgsl.expected.glsl
@@ -1,5 +1,9 @@
 SKIP: FAILED
 
+intrinsics/gen/isFinite/426f9f.wgsl:28:19 warning: use of deprecated intrinsic
+  var res: bool = isFinite(1.0);
+                  ^^^^^^^^
+
 #version 310 es
 precision mediump float;
 
diff --git a/test/intrinsics/gen/isFinite/8a23ad.wgsl.expected.glsl b/test/intrinsics/gen/isFinite/8a23ad.wgsl.expected.glsl
index 9fedc49..4383ca4 100644
--- a/test/intrinsics/gen/isFinite/8a23ad.wgsl.expected.glsl
+++ b/test/intrinsics/gen/isFinite/8a23ad.wgsl.expected.glsl
@@ -1,5 +1,9 @@
 SKIP: FAILED
 
+intrinsics/gen/isFinite/8a23ad.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec3<bool> = isFinite(vec3<f32>());
+                        ^^^^^^^^
+
 #version 310 es
 precision mediump float;
 
diff --git a/test/intrinsics/gen/isFinite/f31987.wgsl.expected.glsl b/test/intrinsics/gen/isFinite/f31987.wgsl.expected.glsl
index 5629d2b..3739c2a 100644
--- a/test/intrinsics/gen/isFinite/f31987.wgsl.expected.glsl
+++ b/test/intrinsics/gen/isFinite/f31987.wgsl.expected.glsl
@@ -1,5 +1,9 @@
 SKIP: FAILED
 
+intrinsics/gen/isFinite/f31987.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec4<bool> = isFinite(vec4<f32>());
+                        ^^^^^^^^
+
 #version 310 es
 precision mediump float;
 
diff --git a/test/intrinsics/gen/isNormal/863dcd.wgsl.expected.glsl b/test/intrinsics/gen/isNormal/863dcd.wgsl.expected.glsl
index 0b2c4b0..4f8eb6c 100644
--- a/test/intrinsics/gen/isNormal/863dcd.wgsl.expected.glsl
+++ b/test/intrinsics/gen/isNormal/863dcd.wgsl.expected.glsl
@@ -1,5 +1,9 @@
 SKIP: FAILED
 
+intrinsics/gen/isNormal/863dcd.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec4<bool> = isNormal(vec4<f32>());
+                        ^^^^^^^^
+
 #version 310 es
 precision mediump float;
 
diff --git a/test/intrinsics/gen/isNormal/b00ab1.wgsl.expected.glsl b/test/intrinsics/gen/isNormal/b00ab1.wgsl.expected.glsl
index 31418fa..45d65e7 100644
--- a/test/intrinsics/gen/isNormal/b00ab1.wgsl.expected.glsl
+++ b/test/intrinsics/gen/isNormal/b00ab1.wgsl.expected.glsl
@@ -1,5 +1,9 @@
 SKIP: FAILED
 
+intrinsics/gen/isNormal/b00ab1.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec2<bool> = isNormal(vec2<f32>());
+                        ^^^^^^^^
+
 #version 310 es
 precision mediump float;
 
diff --git a/test/intrinsics/gen/isNormal/c286b7.wgsl.expected.glsl b/test/intrinsics/gen/isNormal/c286b7.wgsl.expected.glsl
index f631e5d..403beac 100644
--- a/test/intrinsics/gen/isNormal/c286b7.wgsl.expected.glsl
+++ b/test/intrinsics/gen/isNormal/c286b7.wgsl.expected.glsl
@@ -1,5 +1,9 @@
 SKIP: FAILED
 
+intrinsics/gen/isNormal/c286b7.wgsl:28:25 warning: use of deprecated intrinsic
+  var res: vec3<bool> = isNormal(vec3<f32>());
+                        ^^^^^^^^
+
 #version 310 es
 precision mediump float;
 
diff --git a/test/intrinsics/gen/isNormal/c6e880.wgsl.expected.glsl b/test/intrinsics/gen/isNormal/c6e880.wgsl.expected.glsl
index 972583a..4d8a868 100644
--- a/test/intrinsics/gen/isNormal/c6e880.wgsl.expected.glsl
+++ b/test/intrinsics/gen/isNormal/c6e880.wgsl.expected.glsl
@@ -1,5 +1,9 @@
 SKIP: FAILED
 
+intrinsics/gen/isNormal/c6e880.wgsl:28:19 warning: use of deprecated intrinsic
+  var res: bool = isNormal(1.0);
+                  ^^^^^^^^
+
 #version 310 es
 precision mediump float;
 
diff --git a/test/intrinsics/repeated_use.wgsl.expected.glsl b/test/intrinsics/repeated_use.wgsl.expected.glsl
index de8612d..417fe25 100644
--- a/test/intrinsics/repeated_use.wgsl.expected.glsl
+++ b/test/intrinsics/repeated_use.wgsl.expected.glsl
@@ -1,5 +1,53 @@
 SKIP: FAILED
 
+intrinsics/repeated_use.wgsl:5:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec4<f32>());
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:6:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec4<f32>(1.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:7:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec4<f32>(1., 2., 3., 4.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:9:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec3<f32>());
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:10:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec3<f32>(1.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:11:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec3<f32>(1., 2., 3.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:13:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec2<f32>());
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:14:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec2<f32>(1.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:15:9 warning: use of deprecated intrinsic
+    _ = isNormal(vec2<f32>(1., 2.));
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:17:9 warning: use of deprecated intrinsic
+    _ = isNormal(1.);
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:18:9 warning: use of deprecated intrinsic
+    _ = isNormal(2.);
+        ^^^^^^^^
+
+intrinsics/repeated_use.wgsl:19:9 warning: use of deprecated intrinsic
+    _ = isNormal(3.);
+        ^^^^^^^^
+
 #version 310 es
 precision mediump float;
 
diff --git a/test/shader_io/shared_struct_storage_buffer.wgsl.expected.glsl b/test/shader_io/shared_struct_storage_buffer.wgsl.expected.glsl
index ea2e4e8..2886e0c 100644
--- a/test/shader_io/shared_struct_storage_buffer.wgsl.expected.glsl
+++ b/test/shader_io/shared_struct_storage_buffer.wgsl.expected.glsl
@@ -3,6 +3,11 @@
 #version 310 es
 precision mediump float;
 
+struct S {
+  float f;
+  uint u;
+  vec4 v;
+};
 
 layout (binding = 0) buffer S_1 {
   float f;
@@ -40,8 +45,9 @@
 
 
 Error parsing GLSL shader:
-ERROR: 0:17: '' :  syntax error, unexpected IDENTIFIER, expecting RIGHT_PAREN
-ERROR: 1 compilation errors.  No code generated.
+ERROR: 0:26: 'assign' :  cannot convert from ' in structure{ global mediump float f,  global mediump uint u,  global mediump 4-component vector of float v}' to 'layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer mediump float f, layout( column_major shared) buffer mediump uint u, layout( column_major shared) buffer mediump 4-component vector of float v}'
+ERROR: 0:26: '' : compilation terminated 
+ERROR: 2 compilation errors.  No code generated.
 
 
 
