Generate texture builtin cases in a fixed order

C++ function parameters are evaluated in indeterminate order.
So avoid calling the AST builder multiple times in a function
parameter list.
This fixes unit test failures that sometimes occur, depending
on the target compiler.

Change-Id: Iae8bacbff3e338f0e91e507afacb9eb75b1e9cc9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/165940
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: David Neto <dneto@google.com>
Reviewed-by: Alan Baker <alanbaker@google.com>
Commit-Queue: David Neto <dneto@google.com>
diff --git a/src/tint/lang/wgsl/ast/builtin_texture_helper_test.cc b/src/tint/lang/wgsl/ast/builtin_texture_helper_test.cc
index 24383f3..bff2caf 100644
--- a/src/tint/lang/wgsl/ast/builtin_texture_helper_test.cc
+++ b/src/tint/lang/wgsl/ast/builtin_texture_helper_test.cc
@@ -463,7 +463,8 @@
         },
         {
             ValidTextureOverload::kDimensionsStorageWO2d,
-            "textureDimensions(t : texture_storage_2d<rgba32float>) -> vec2<u32>",
+            "textureDimensions(t : texture_storage_2d<rgba32float>) -> "
+            "vec2<u32>",
             tint::core::Access::kWrite,
             tint::core::TexelFormat::kRgba32Float,
             core::type::TextureDimension::k2d,
@@ -474,7 +475,8 @@
         },
         {
             ValidTextureOverload::kDimensionsStorageWO2dArray,
-            "textureDimensions(t : texture_storage_2d_array<rgba32float>) -> vec2<u32>",
+            "textureDimensions(t : texture_storage_2d_array<rgba32float>) -> "
+            "vec2<u32>",
             tint::core::Access::kWrite,
             tint::core::TexelFormat::kRgba32Float,
             core::type::TextureDimension::k2dArray,
@@ -485,7 +487,8 @@
         },
         {
             ValidTextureOverload::kDimensionsStorageWO3d,
-            "textureDimensions(t : texture_storage_3d<rgba32float>) -> vec3<u32>",
+            "textureDimensions(t : texture_storage_3d<rgba32float>) -> "
+            "vec3<u32>",
             tint::core::Access::kWrite,
             tint::core::TexelFormat::kRgba32Float,
             core::type::TextureDimension::k3d,
@@ -527,11 +530,12 @@
             TextureDataType::kF32,
             "textureGather",
             [](ProgramBuilder* b) {
-                return b->ExprList(0_u,                            // component
-                                   kTextureName,                   // t
-                                   kSamplerName,                   // s
-                                   b->Call<vec2<f32>>(1_f, 2_f),   // coords
-                                   b->Call<vec2<i32>>(3_i, 4_i));  // offset
+                auto* coords = b->Call<vec2<f32>>(1_f, 2_f);
+                auto* offset = b->Call<vec2<i32>>(3_i, 4_i);
+                return b->ExprList(0_u,           // component
+                                   kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords, offset);
             },
             /* returns value */ true,
         },
@@ -570,12 +574,14 @@
             TextureDataType::kF32,
             "textureGather",
             [](ProgramBuilder* b) {
-                return b->ExprList(0_u,                            // component
-                                   kTextureName,                   // t
-                                   kSamplerName,                   // s
-                                   b->Call<vec2<f32>>(1_f, 2_f),   // coords
-                                   3_u,                            // array_index
-                                   b->Call<vec2<i32>>(4_i, 5_i));  // offset
+                auto* coords = b->Call<vec2<f32>>(1_f, 2_f);
+                auto* offset = b->Call<vec2<i32>>(4_i, 5_i);
+                return b->ExprList(0_u,           // component
+                                   kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords,
+                                   3_u,  // array_index
+                                   offset);
             },
             /* returns value */ true,
         },
@@ -648,10 +654,11 @@
             TextureDataType::kF32,
             "textureGather",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                   // t
-                                   kSamplerName,                   // s
-                                   b->Call<vec2<f32>>(1_f, 2_f),   // coords
-                                   b->Call<vec2<i32>>(3_i, 4_i));  // offset
+                auto* coords = b->Call<vec2<f32>>(1_f, 2_f);
+                auto* offset = b->Call<vec2<i32>>(3_i, 4_i);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords, offset);
             },
             /* returns value */ true,
         },
@@ -687,11 +694,13 @@
             TextureDataType::kF32,
             "textureGather",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                   // t
-                                   kSamplerName,                   // s
-                                   b->Call<vec2<f32>>(1_f, 2_f),   // coords
-                                   3_i,                            // array_index
-                                   b->Call<vec2<i32>>(4_i, 5_i));  // offset
+                auto* coords = b->Call<vec2<f32>>(1_f, 2_f);
+                auto* offset = b->Call<vec2<i32>>(4_i, 5_i);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords,
+                                   3_i,  // array_index
+                                   offset);
             },
             /* returns value */ true,
         },
@@ -763,11 +772,13 @@
             TextureDataType::kF32,
             "textureGatherCompare",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                   // t
-                                   kSamplerName,                   // s
-                                   b->Call<vec2<f32>>(1_f, 2_f),   // coords
-                                   3_f,                            // depth_ref
-                                   b->Call<vec2<i32>>(4_i, 5_i));  // offset
+                auto* coords = b->Call<vec2<f32>>(1_f, 2_f);
+                auto* offset = b->Call<vec2<i32>>(4_i, 5_i);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords,
+                                   3_f,  // depth_ref
+                                   offset);
             },
             /* returns value */ true,
         },
@@ -806,12 +817,14 @@
             TextureDataType::kF32,
             "textureGatherCompare",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                   // t
-                                   kSamplerName,                   // s
-                                   b->Call<vec2<f32>>(1_f, 2_f),   // coords
-                                   3_i,                            // array_index
-                                   4_f,                            // depth_ref
-                                   b->Call<vec2<i32>>(5_i, 6_i));  // offset
+                auto* coords = b->Call<vec2<f32>>(1_f, 2_f);
+                auto* offset = b->Call<vec2<i32>>(5_i, 6_i);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords,
+                                   3_i,  // array_index
+                                   4_f,  // depth_ref
+                                   offset);
             },
             /* returns value */ true,
         },
@@ -901,7 +914,8 @@
         },
         {
             ValidTextureOverload::kNumLayersStorageWO2dArray,
-            "textureNumLayers(t : texture_storage_2d_array<rgba32float>) -> u32",
+            "textureNumLayers(t : texture_storage_2d_array<rgba32float>) -> "
+            "u32",
             tint::core::Access::kWrite,
             tint::core::TexelFormat::kRgba32Float,
             core::type::TextureDimension::k2dArray,
@@ -1077,10 +1091,11 @@
             TextureDataType::kF32,
             "textureSample",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                   // t
-                                   kSamplerName,                   // s
-                                   b->Call<vec2<f32>>(1_f, 2_f),   // coords
-                                   b->Call<vec2<i32>>(3_i, 4_i));  // offset
+                auto* coords = b->Call<vec2<f32>>(1_f, 2_f);
+                auto* offset = b->Call<vec2<i32>>(3_i, 4_i);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords, offset);
             },
             /* returns value */ true,
         },
@@ -1116,11 +1131,13 @@
             TextureDataType::kF32,
             "textureSample",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                   // t
-                                   kSamplerName,                   // s
-                                   b->Call<vec2<f32>>(1_f, 2_f),   // coords
-                                   3_u,                            // array_index
-                                   b->Call<vec2<i32>>(4_i, 5_i));  // offset
+                auto* coords = b->Call<vec2<f32>>(1_f, 2_f);
+                auto* offset = b->Call<vec2<i32>>(4_i, 5_i);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords,
+                                   3_u,  // array_index
+                                   offset);
             },
             /* returns value */ true,
         },
@@ -1153,10 +1170,11 @@
             TextureDataType::kF32,
             "textureSample",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                        // t
-                                   kSamplerName,                        // s
-                                   b->Call<vec3<f32>>(1_f, 2_f, 3_f),   // coords
-                                   b->Call<vec3<i32>>(4_i, 5_i, 6_i));  // offset
+                auto* coords = b->Call<vec3<f32>>(1_f, 2_f, 3_f);
+                auto* offset = b->Call<vec3<i32>>(4_i, 5_i, 6_i);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords, offset);
             },
             /* returns value */ true,
         },
@@ -1225,10 +1243,11 @@
             TextureDataType::kF32,
             "textureSample",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                   // t
-                                   kSamplerName,                   // s
-                                   b->Call<vec2<f32>>(1_f, 2_f),   // coords
-                                   b->Call<vec2<i32>>(3_i, 4_i));  // offset
+                auto* coords = b->Call<vec2<f32>>(1_f, 2_f);
+                auto* offset = b->Call<vec2<i32>>(3_i, 4_i);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords, offset);
             },
             /* returns value */ true,
         },
@@ -1264,11 +1283,13 @@
             TextureDataType::kF32,
             "textureSample",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                   // t
-                                   kSamplerName,                   // s
-                                   b->Call<vec2<f32>>(1_f, 2_f),   // coords
-                                   3_i,                            // array_index
-                                   b->Call<vec2<i32>>(4_i, 5_i));  // offset
+                auto* coords = b->Call<vec2<f32>>(1_f, 2_f);
+                auto* offset = b->Call<vec2<i32>>(4_i, 5_i);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords,
+                                   3_i,  // array_index
+                                   offset);
             },
             /* returns value */ true,
         },
@@ -1340,11 +1361,13 @@
             TextureDataType::kF32,
             "textureSampleBias",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                   // t
-                                   kSamplerName,                   // s
-                                   b->Call<vec2<f32>>(1_f, 2_f),   // coords
-                                   3_f,                            // bias
-                                   b->Call<vec2<i32>>(4_i, 5_i));  // offset
+                auto* coords = b->Call<vec2<f32>>(1_f, 2_f);
+                auto* offset = b->Call<vec2<i32>>(4_i, 5_i);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords,
+                                   3_f,  // bias
+                                   offset);
             },
             /* returns value */ true,
         },
@@ -1383,12 +1406,14 @@
             TextureDataType::kF32,
             "textureSampleBias",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                   // t
-                                   kSamplerName,                   // s
-                                   b->Call<vec2<f32>>(1_f, 2_f),   // coords
-                                   3_i,                            // array_index
-                                   4_f,                            // bias
-                                   b->Call<vec2<i32>>(5_i, 6_i));  // offset
+                auto* coords = b->Call<vec2<f32>>(1_f, 2_f);
+                auto* offset = b->Call<vec2<i32>>(5_i, 6_i);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords,
+                                   3_i,  // array_index
+                                   4_f,  // bias
+                                   offset);
             },
             /* returns value */ true,
         },
@@ -1424,11 +1449,13 @@
             TextureDataType::kF32,
             "textureSampleBias",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                        // t
-                                   kSamplerName,                        // s
-                                   b->Call<vec3<f32>>(1_f, 2_f, 3_f),   // coords
-                                   4_f,                                 // bias
-                                   b->Call<vec3<i32>>(5_i, 6_i, 7_i));  // offset
+                auto* coords = b->Call<vec3<f32>>(1_f, 2_f, 3_f);
+                auto* offset = b->Call<vec3<i32>>(5_i, 6_i, 7_i);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords,
+                                   4_f,  // bias
+                                   offset);
             },
             /* returns value */ true,
         },
@@ -1504,11 +1531,13 @@
             TextureDataType::kF32,
             "textureSampleLevel",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                   // t
-                                   kSamplerName,                   // s
-                                   b->Call<vec2<f32>>(1_f, 2_f),   // coords
-                                   3_f,                            // level
-                                   b->Call<vec2<i32>>(4_i, 5_i));  // offset
+                auto* coords = b->Call<vec2<f32>>(1_f, 2_f);
+                auto* offset = b->Call<vec2<i32>>(4_i, 5_i);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords,
+                                   3_f,  // level
+                                   offset);
             },
             /* returns value */ true,
         },
@@ -1547,12 +1576,14 @@
             TextureDataType::kF32,
             "textureSampleLevel",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                   // t
-                                   kSamplerName,                   // s
-                                   b->Call<vec2<f32>>(1_f, 2_f),   // coords
-                                   3_i,                            // array_index
-                                   4_f,                            // level
-                                   b->Call<vec2<i32>>(5_i, 6_i));  // offset
+                auto* coords = b->Call<vec2<f32>>(1_f, 2_f);
+                auto* offset = b->Call<vec2<i32>>(5_i, 6_i);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords,
+                                   3_i,  // array_index
+                                   4_f,  // level
+                                   offset);
             },
             /* returns value */ true,
         },
@@ -1588,11 +1619,13 @@
             TextureDataType::kF32,
             "textureSampleLevel",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                        // t
-                                   kSamplerName,                        // s
-                                   b->Call<vec3<f32>>(1_f, 2_f, 3_f),   // coords
-                                   4_f,                                 // level
-                                   b->Call<vec3<i32>>(5_i, 6_i, 7_i));  // offset
+                auto* coords = b->Call<vec3<f32>>(1_f, 2_f, 3_f);
+                auto* offset = b->Call<vec3<i32>>(5_i, 6_i, 7_i);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords,
+                                   4_f,  // level
+                                   offset);
             },
             /* returns value */ true,
         },
@@ -1668,11 +1701,13 @@
             TextureDataType::kF32,
             "textureSampleLevel",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                   // t
-                                   kSamplerName,                   // s
-                                   b->Call<vec2<f32>>(1_f, 2_f),   // coords
-                                   3_i,                            // level
-                                   b->Call<vec2<i32>>(4_i, 5_i));  // offset
+                auto* coords = b->Call<vec2<f32>>(1_f, 2_f);
+                auto* offset = b->Call<vec2<i32>>(4_i, 5_i);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords,
+                                   3_i,  // level
+                                   offset);
             },
             /* returns value */ true,
         },
@@ -1711,12 +1746,14 @@
             TextureDataType::kF32,
             "textureSampleLevel",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                   // t
-                                   kSamplerName,                   // s
-                                   b->Call<vec2<f32>>(1_f, 2_f),   // coords
-                                   3_u,                            // array_index
-                                   4_u,                            // level
-                                   b->Call<vec2<i32>>(5_i, 6_i));  // offset
+                auto* coords = b->Call<vec2<f32>>(1_f, 2_f);
+                auto* offset = b->Call<vec2<i32>>(5_i, 6_i);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords,
+                                   3_u,  // array_index
+                                   4_u,  // level
+                                   offset);
             },
             /* returns value */ true,
         },
@@ -1773,11 +1810,12 @@
             TextureDataType::kF32,
             "textureSampleGrad",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                   // t
-                                   kSamplerName,                   // s
-                                   b->Call<vec2<f32>>(1_f, 2_f),   // coords
-                                   b->Call<vec2<f32>>(3_f, 4_f),   // ddx
-                                   b->Call<vec2<f32>>(5_f, 6_f));  // ddy
+                auto* coords = b->Call<vec2<f32>>(1_f, 2_f);
+                auto* ddx = b->Call<vec2<f32>>(3_f, 4_f);
+                auto* ddy = b->Call<vec2<f32>>(5_f, 6_f);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords, ddx, ddy);
             },
             /* returns value */ true,
         },
@@ -1795,12 +1833,13 @@
             TextureDataType::kF32,
             "textureSampleGrad",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                   // t
-                                   kSamplerName,                   // s
-                                   b->Call<vec2<f32>>(1_f, 2_f),   // coords
-                                   b->Call<vec2<f32>>(3_f, 4_f),   // ddx
-                                   b->Call<vec2<f32>>(5_f, 6_f),   // ddy
-                                   b->Call<vec2<i32>>(7_i, 7_i));  // offset
+                auto* coords = b->Call<vec2<f32>>(1_f, 2_f);
+                auto* ddx = b->Call<vec2<f32>>(3_f, 4_f);
+                auto* ddy = b->Call<vec2<f32>>(5_f, 6_f);
+                auto* offset = b->Call<vec2<i32>>(7_i, 7_i);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords, ddx, ddy, offset);
             },
             /* returns value */ true,
         },
@@ -1818,12 +1857,14 @@
             TextureDataType::kF32,
             "textureSampleGrad",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                   // t
-                                   kSamplerName,                   // s
-                                   b->Call<vec2<f32>>(1_f, 2_f),   // coords
-                                   3_i,                            // array_index
-                                   b->Call<vec2<f32>>(4_f, 5_f),   // ddx
-                                   b->Call<vec2<f32>>(6_f, 7_f));  // ddy
+                auto* coords = b->Call<vec2<f32>>(1_f, 2_f);
+                auto* ddx = b->Call<vec2<f32>>(4_f, 5_f);
+                auto* ddy = b->Call<vec2<f32>>(6_f, 7_f);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords,
+                                   3_i,  // array_index
+                                   ddx, ddy);
             },
             /* returns value */ true,
         },
@@ -1842,13 +1883,15 @@
             TextureDataType::kF32,
             "textureSampleGrad",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                   // t
-                                   kSamplerName,                   // s
-                                   b->Call<vec2<f32>>(1_f, 2_f),   // coords
-                                   3_u,                            // array_index
-                                   b->Call<vec2<f32>>(4_f, 5_f),   // ddx
-                                   b->Call<vec2<f32>>(6_f, 7_f),   // ddy
-                                   b->Call<vec2<i32>>(6_i, 7_i));  // offset
+                auto* coords = b->Call<vec2<f32>>(1_f, 2_f);
+                auto* ddx = b->Call<vec2<f32>>(4_f, 5_f);
+                auto* ddy = b->Call<vec2<f32>>(6_f, 7_f);
+                auto* offset = b->Call<vec2<i32>>(6_i, 7_i);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords,
+                                   3_u,  // array_index
+                                   ddx, ddy, offset);
             },
             /* returns value */ true,
         },
@@ -1865,11 +1908,12 @@
             TextureDataType::kF32,
             "textureSampleGrad",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                        // t
-                                   kSamplerName,                        // s
-                                   b->Call<vec3<f32>>(1_f, 2_f, 3_f),   // coords
-                                   b->Call<vec3<f32>>(4_f, 5_f, 6_f),   // ddx
-                                   b->Call<vec3<f32>>(7_f, 8_f, 9_f));  // ddy
+                auto* coords = b->Call<vec3<f32>>(1_f, 2_f, 3_f);
+                auto* ddx = b->Call<vec3<f32>>(4_f, 5_f, 6_f);
+                auto* ddy = b->Call<vec3<f32>>(7_f, 8_f, 9_f);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords, ddx, ddy);
             },
             /* returns value */ true,
         },
@@ -1887,12 +1931,13 @@
             TextureDataType::kF32,
             "textureSampleGrad",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                        // t
-                                   kSamplerName,                        // s
-                                   b->Call<vec3<f32>>(1_f, 2_f, 3_f),   // coords
-                                   b->Call<vec3<f32>>(4_f, 5_f, 6_f),   // ddx
-                                   b->Call<vec3<f32>>(7_f, 8_f, 9_f),   // ddy
-                                   b->Call<vec3<i32>>(0_i, 1_i, 2_i));  // offset
+                auto* coords = b->Call<vec3<f32>>(1_f, 2_f, 3_f);
+                auto* ddx = b->Call<vec3<f32>>(4_f, 5_f, 6_f);
+                auto* ddy = b->Call<vec3<f32>>(7_f, 8_f, 9_f);
+                auto* offset = b->Call<vec3<i32>>(0_i, 1_i, 2_i);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords, ddx, ddy, offset);
             },
             /* returns value */ true,
         },
@@ -1909,11 +1954,12 @@
             TextureDataType::kF32,
             "textureSampleGrad",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                        // t
-                                   kSamplerName,                        // s
-                                   b->Call<vec3<f32>>(1_f, 2_f, 3_f),   // coords
-                                   b->Call<vec3<f32>>(4_f, 5_f, 6_f),   // ddx
-                                   b->Call<vec3<f32>>(7_f, 8_f, 9_f));  // ddy
+                auto* coords = b->Call<vec3<f32>>(1_f, 2_f, 3_f);
+                auto* ddx = b->Call<vec3<f32>>(4_f, 5_f, 6_f);
+                auto* ddy = b->Call<vec3<f32>>(7_f, 8_f, 9_f);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords, ddx, ddy);
             },
             /* returns value */ true,
         },
@@ -1931,12 +1977,14 @@
             TextureDataType::kF32,
             "textureSampleGrad",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                         // t
-                                   kSamplerName,                         // s
-                                   b->Call<vec3<f32>>(1_f, 2_f, 3_f),    // coords
-                                   4_u,                                  // array_index
-                                   b->Call<vec3<f32>>(5_f, 6_f, 7_f),    // ddx
-                                   b->Call<vec3<f32>>(8_f, 9_f, 10_f));  // ddy
+                auto* coords = b->Call<vec3<f32>>(1_f, 2_f, 3_f);
+                auto* ddx = b->Call<vec3<f32>>(5_f, 6_f, 7_f);
+                auto* ddy = b->Call<vec3<f32>>(8_f, 9_f, 10_f);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords,
+                                   4_u,  // array_index
+                                   ddx, ddy);
             },
             /* returns value */ true,
         },
@@ -1972,11 +2020,13 @@
             TextureDataType::kF32,
             "textureSampleCompare",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                   // t
-                                   kSamplerName,                   // s
-                                   b->Call<vec2<f32>>(1_f, 2_f),   // coords
-                                   3_f,                            // depth_ref
-                                   b->Call<vec2<i32>>(4_i, 5_i));  // offset
+                auto* coords = b->Call<vec2<f32>>(1_f, 2_f);
+                auto* offset = b->Call<vec2<i32>>(4_i, 5_i);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords,
+                                   3_f,  // depth_ref
+                                   offset);
             },
             /* returns value */ true,
         },
@@ -2015,12 +2065,14 @@
             TextureDataType::kF32,
             "textureSampleCompare",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                   // t
-                                   kSamplerName,                   // s
-                                   b->Call<vec2<f32>>(1_f, 2_f),   // coords
-                                   4_u,                            // array_index
-                                   3_f,                            // depth_ref
-                                   b->Call<vec2<i32>>(5_i, 6_i));  // offset
+                auto* coords = b->Call<vec2<f32>>(1_f, 2_f);
+                auto* offset = b->Call<vec2<i32>>(5_i, 6_i);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords,
+                                   4_u,  // array_index
+                                   3_f,  // depth_ref
+                                   offset);
             },
             /* returns value */ true,
         },
@@ -2096,11 +2148,13 @@
             TextureDataType::kF32,
             "textureSampleCompareLevel",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                   // t
-                                   kSamplerName,                   // s
-                                   b->Call<vec2<f32>>(1_f, 2_f),   // coords
-                                   3_f,                            // depth_ref
-                                   b->Call<vec2<i32>>(4_i, 5_i));  // offset
+                auto* coords = b->Call<vec2<f32>>(1_f, 2_f);
+                auto* offset = b->Call<vec2<i32>>(4_i, 5_i);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords,
+                                   3_f,  // depth_ref
+                                   offset);
             },
             /* returns value */ true,
         },
@@ -2139,12 +2193,14 @@
             TextureDataType::kF32,
             "textureSampleCompareLevel",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                   // t
-                                   kSamplerName,                   // s
-                                   b->Call<vec2<f32>>(1_f, 2_f),   // coords
-                                   3_i,                            // array_index
-                                   4_f,                            // depth_ref
-                                   b->Call<vec2<i32>>(5_i, 6_i));  // offset
+                auto* coords = b->Call<vec2<f32>>(1_f, 2_f);
+                auto* offset = b->Call<vec2<i32>>(5_i, 6_i);
+                return b->ExprList(kTextureName,  // t
+                                   kSamplerName,  // s
+                                   coords,
+                                   3_i,  // array_index
+                                   4_f,  // depth_ref
+                                   offset);
             },
             /* returns value */ true,
         },
@@ -2169,7 +2225,8 @@
         },
         {
             ValidTextureOverload::kSampleCompareLevelDepthCubeArrayF32,
-            "textureSampleCompareLevel(t           : texture_depth_cube_array,\n"
+            "textureSampleCompareLevel(t           : "
+            "texture_depth_cube_array,\n"
             "                          s           : sampler_comparison,\n"
             "                          coords      : vec3<f32>,\n"
             "                          array_index : i32,\n"
@@ -2512,15 +2569,17 @@
             TextureDataType::kF32,
             "textureStore",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                             // t
-                                   b->Call<vec2<i32>>(1_i, 2_i),             // coords
-                                   b->Call<vec4<f32>>(3_f, 4_f, 5_f, 6_f));  // value
+                auto* coords = b->Call<vec2<i32>>(1_i, 2_i);
+                auto* value = b->Call<vec4<f32>>(3_f, 4_f, 5_f, 6_f);
+                return b->ExprList(kTextureName,  // t
+                                   coords, value);
             },
             /* returns value */ false,
         },
         {
             ValidTextureOverload::kStoreWO2dArrayRgba32float,
-            "textureStore(t           : texture_storage_2d_array<rgba32float>,\n"
+            "textureStore(t           : "
+            "texture_storage_2d_array<rgba32float>,\n"
             "             coords      : vec2<u32>,\n"
             "             array_index : u32,\n"
             "             value       : vec4<T>)",
@@ -2530,10 +2589,12 @@
             TextureDataType::kF32,
             "textureStore",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                             // t
-                                   b->Call<vec2<u32>>(1_u, 2_u),             // coords
-                                   3_u,                                      // array_index
-                                   b->Call<vec4<f32>>(4_f, 5_f, 6_f, 7_f));  // value
+                auto* coords = b->Call<vec2<u32>>(1_u, 2_u);
+                auto* value = b->Call<vec4<f32>>(4_f, 5_f, 6_f, 7_f);
+                return b->ExprList(kTextureName,  // t
+                                   coords,
+                                   3_u,  // array_index
+                                   value);
             },
             /* returns value */ false,
         },
@@ -2548,9 +2609,10 @@
             TextureDataType::kF32,
             "textureStore",
             [](ProgramBuilder* b) {
-                return b->ExprList(kTextureName,                             // t
-                                   b->Call<vec3<u32>>(1_u, 2_u, 3_u),        // coords
-                                   b->Call<vec4<f32>>(4_f, 5_f, 6_f, 7_f));  // value
+                auto* coords = b->Call<vec3<u32>>(1_u, 2_u, 3_u);
+                auto* value = b->Call<vec4<f32>>(4_f, 5_f, 6_f, 7_f);
+                return b->ExprList(kTextureName,  // t
+                                   coords, value);
             },
             /* returns value */ false,
         },