std: rename "var c" to "var c8"
diff --git a/release/c/wuffs-unsupported-snapshot.c b/release/c/wuffs-unsupported-snapshot.c
index 164bb94..61f3548 100644
--- a/release/c/wuffs-unsupported-snapshot.c
+++ b/release/c/wuffs-unsupported-snapshot.c
@@ -13174,7 +13174,7 @@
       uint32_t v_dst_x;
       uint32_t v_dst_y;
       uint8_t v_src[1];
-      uint8_t v_c;
+      uint8_t v_c8;
     } s_do_decode_frame;
   } private_data;
 
@@ -32038,7 +32038,7 @@
     wuffs_base__slice_u8 a_workbuf) {
   wuffs_base__status status = wuffs_base__make_status(NULL);
 
-  uint8_t v_c = 0;
+  uint8_t v_c8 = 0;
   uint32_t v_i = 0;
   uint64_t v_tag = 0;
   wuffs_base__status v_status = wuffs_base__make_status(NULL);
@@ -32071,9 +32071,9 @@
         goto suspend;
       }
       uint8_t t_0 = *iop_a_src++;
-      v_c = t_0;
+      v_c8 = t_0;
     }
-    if (v_c != 66u) {
+    if (v_c8 != 66u) {
       status = wuffs_base__make_status(wuffs_bzip2__error__bad_header);
       goto exit;
     }
@@ -32084,9 +32084,9 @@
         goto suspend;
       }
       uint8_t t_1 = *iop_a_src++;
-      v_c = t_1;
+      v_c8 = t_1;
     }
-    if (v_c != 90u) {
+    if (v_c8 != 90u) {
       status = wuffs_base__make_status(wuffs_bzip2__error__bad_header);
       goto exit;
     }
@@ -32097,9 +32097,9 @@
         goto suspend;
       }
       uint8_t t_2 = *iop_a_src++;
-      v_c = t_2;
+      v_c8 = t_2;
     }
-    if (v_c != 104u) {
+    if (v_c8 != 104u) {
       status = wuffs_base__make_status(wuffs_bzip2__error__bad_header);
       goto exit;
     }
@@ -32110,13 +32110,13 @@
         goto suspend;
       }
       uint8_t t_3 = *iop_a_src++;
-      v_c = t_3;
+      v_c8 = t_3;
     }
-    if ((v_c < 49u) || (57u < v_c)) {
+    if ((v_c8 < 49u) || (57u < v_c8)) {
       status = wuffs_base__make_status(wuffs_bzip2__error__bad_header);
       goto exit;
     }
-    self->private_impl.f_max_incl_block_size = (((uint32_t)(((uint8_t)(v_c - 48u)))) * 100000u);
+    self->private_impl.f_max_incl_block_size = (((uint32_t)(((uint8_t)(v_c8 - 48u)))) * 100000u);
     while (true) {
       v_tag = 0u;
       v_i = 0u;
@@ -32129,9 +32129,9 @@
               goto suspend;
             }
             uint8_t t_4 = *iop_a_src++;
-            v_c = t_4;
+            v_c8 = t_4;
           }
-          self->private_impl.f_bits = (((uint32_t)(v_c)) << 24u);
+          self->private_impl.f_bits = (((uint32_t)(v_c8)) << 24u);
           self->private_impl.f_n_bits = 8u;
         }
         v_tag <<= 1u;
@@ -32227,9 +32227,9 @@
             goto suspend;
           }
           uint8_t t_5 = *iop_a_src++;
-          v_c = t_5;
+          v_c8 = t_5;
         }
-        self->private_impl.f_bits = (((uint32_t)(v_c)) << 24u);
+        self->private_impl.f_bits = (((uint32_t)(v_c8)) << 24u);
         self->private_impl.f_n_bits = 8u;
       }
       v_final_checksum_want <<= 1u;
@@ -32274,7 +32274,7 @@
     wuffs_base__io_buffer* a_src) {
   wuffs_base__status status = wuffs_base__make_status(NULL);
 
-  uint8_t v_c = 0;
+  uint8_t v_c8 = 0;
   uint32_t v_i = 0;
   uint32_t v_j = 0;
   uint32_t v_selector = 0;
@@ -32312,9 +32312,9 @@
             goto suspend;
           }
           uint8_t t_0 = *iop_a_src++;
-          v_c = t_0;
+          v_c8 = t_0;
         }
-        self->private_impl.f_bits = (((uint32_t)(v_c)) << 24u);
+        self->private_impl.f_bits = (((uint32_t)(v_c8)) << 24u);
         self->private_impl.f_n_bits = 8u;
       }
       self->private_impl.f_block_checksum_want <<= 1u;
@@ -32331,9 +32331,9 @@
           goto suspend;
         }
         uint8_t t_1 = *iop_a_src++;
-        v_c = t_1;
+        v_c8 = t_1;
       }
-      self->private_impl.f_bits = (((uint32_t)(v_c)) << 24u);
+      self->private_impl.f_bits = (((uint32_t)(v_c8)) << 24u);
       self->private_impl.f_n_bits = 8u;
     }
     if ((self->private_impl.f_bits >> 31u) != 0u) {
@@ -32353,9 +32353,9 @@
             goto suspend;
           }
           uint8_t t_2 = *iop_a_src++;
-          v_c = t_2;
+          v_c8 = t_2;
         }
-        self->private_impl.f_bits = (((uint32_t)(v_c)) << 24u);
+        self->private_impl.f_bits = (((uint32_t)(v_c8)) << 24u);
         self->private_impl.f_n_bits = 8u;
       }
       self->private_impl.f_original_pointer <<= 1u;
@@ -32379,9 +32379,9 @@
             goto suspend;
           }
           uint8_t t_3 = *iop_a_src++;
-          v_c = t_3;
+          v_c8 = t_3;
         }
-        self->private_impl.f_bits = (((uint32_t)(v_c)) << 24u);
+        self->private_impl.f_bits = (((uint32_t)(v_c8)) << 24u);
         self->private_impl.f_n_bits = 8u;
       }
       if ((self->private_impl.f_bits >> 31u) != 0u) {
@@ -32407,9 +32407,9 @@
               goto suspend;
             }
             uint8_t t_4 = *iop_a_src++;
-            v_c = t_4;
+            v_c8 = t_4;
           }
-          self->private_impl.f_bits = (((uint32_t)(v_c)) << 24u);
+          self->private_impl.f_bits = (((uint32_t)(v_c8)) << 24u);
           self->private_impl.f_n_bits = 8u;
         }
         self->private_data.f_scratch += (self->private_impl.f_bits >> 31u);
@@ -32438,9 +32438,9 @@
             goto suspend;
           }
           uint8_t t_5 = *iop_a_src++;
-          v_c = t_5;
+          v_c8 = t_5;
         }
-        self->private_impl.f_bits = (((uint32_t)(v_c)) << 24u);
+        self->private_impl.f_bits = (((uint32_t)(v_c8)) << 24u);
         self->private_impl.f_n_bits = 8u;
       }
       self->private_data.f_scratch <<= 1u;
@@ -32465,9 +32465,9 @@
             goto suspend;
           }
           uint8_t t_6 = *iop_a_src++;
-          v_c = t_6;
+          v_c8 = t_6;
         }
-        self->private_impl.f_bits = (((uint32_t)(v_c)) << 24u);
+        self->private_impl.f_bits = (((uint32_t)(v_c8)) << 24u);
         self->private_impl.f_n_bits = 8u;
       }
       self->private_data.f_scratch <<= 1u;
@@ -32498,9 +32498,9 @@
               goto suspend;
             }
             uint8_t t_7 = *iop_a_src++;
-            v_c = t_7;
+            v_c8 = t_7;
           }
-          self->private_impl.f_bits = (((uint32_t)(v_c)) << 24u);
+          self->private_impl.f_bits = (((uint32_t)(v_c8)) << 24u);
           self->private_impl.f_n_bits = 8u;
         }
         if ((self->private_impl.f_bits >> 31u) == 0u) {
@@ -32593,7 +32593,7 @@
     wuffs_base__io_buffer* a_src) {
   wuffs_base__status status = wuffs_base__make_status(NULL);
 
-  uint8_t v_c = 0;
+  uint8_t v_c8 = 0;
   uint32_t v_i = 0;
   uint32_t v_code_length = 0;
 
@@ -32627,9 +32627,9 @@
             goto suspend;
           }
           uint8_t t_0 = *iop_a_src++;
-          v_c = t_0;
+          v_c8 = t_0;
         }
-        self->private_impl.f_bits = (((uint32_t)(v_c)) << 24u);
+        self->private_impl.f_bits = (((uint32_t)(v_c8)) << 24u);
         self->private_impl.f_n_bits = 8u;
       }
       v_code_length <<= 1u;
@@ -32653,9 +32653,9 @@
               goto suspend;
             }
             uint8_t t_1 = *iop_a_src++;
-            v_c = t_1;
+            v_c8 = t_1;
           }
-          self->private_impl.f_bits = (((uint32_t)(v_c)) << 24u);
+          self->private_impl.f_bits = (((uint32_t)(v_c8)) << 24u);
           self->private_impl.f_n_bits = 8u;
         }
         if ((self->private_impl.f_bits >> 31u) == 0u) {
@@ -32673,9 +32673,9 @@
               goto suspend;
             }
             uint8_t t_2 = *iop_a_src++;
-            v_c = t_2;
+            v_c8 = t_2;
           }
-          self->private_impl.f_bits = (((uint32_t)(v_c)) << 24u);
+          self->private_impl.f_bits = (((uint32_t)(v_c8)) << 24u);
           self->private_impl.f_n_bits = 8u;
         }
         if ((self->private_impl.f_bits >> 31u) == 0u) {
@@ -33198,7 +33198,7 @@
     wuffs_base__io_buffer* a_src) {
   wuffs_base__status status = wuffs_base__make_status(NULL);
 
-  uint8_t v_c = 0;
+  uint8_t v_c8 = 0;
   uint32_t v_node_index = 0;
   uint16_t v_child = 0;
   uint32_t v_child_ff = 0;
@@ -33248,9 +33248,9 @@
               goto suspend;
             }
             uint8_t t_0 = *iop_a_src++;
-            v_c = t_0;
+            v_c8 = t_0;
           }
-          self->private_impl.f_bits = (((uint32_t)(v_c)) << 24u);
+          self->private_impl.f_bits = (((uint32_t)(v_c8)) << 24u);
           self->private_impl.f_n_bits = 8u;
         }
         v_child = self->private_data.f_huffman_trees[self->private_impl.f_decode_huffman_which][v_node_index][(self->private_impl.f_bits >> 31u)];
@@ -33534,7 +33534,7 @@
   uint32_t v_vminor = 0;
   uint32_t v_vminor_alt = 0;
   uint32_t v_continued = 0;
-  uint8_t v_c = 0;
+  uint8_t v_c8 = 0;
   uint8_t v_c_major = 0;
   uint8_t v_c_minor = 0;
   bool v_tagged = false;
@@ -33596,9 +33596,9 @@
             WUFFS_BASE__COROUTINE_SUSPENSION_POINT_MAYBE_SUSPEND(2);
             goto label__outer__continue;
           }
-          v_c = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
-          if ((v_indefinite_string_major_type != 0u) && (v_indefinite_string_major_type != ((uint8_t)(v_c >> 5u)))) {
-            if (v_c != 255u) {
+          v_c8 = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
+          if ((v_indefinite_string_major_type != 0u) && (v_indefinite_string_major_type != ((uint8_t)(v_c8 >> 5u)))) {
+            if (v_c8 != 255u) {
               status = wuffs_base__make_status(wuffs_cbor__error__bad_input);
               goto exit;
             }
@@ -33614,8 +33614,8 @@
             goto label__goto_parsed_a_leaf_value__break;
           }
           iop_a_src += 1u;
-          v_c_major = ((uint8_t)(((uint8_t)(v_c >> 5u))));
-          v_c_minor = ((uint8_t)(v_c & 31u));
+          v_c_major = ((uint8_t)(((uint8_t)(v_c8 >> 5u))));
+          v_c_minor = ((uint8_t)(v_c8 & 31u));
           if (v_c_minor < 24u) {
             v_string_length = ((uint64_t)(v_c_minor));
           } else {
@@ -40019,7 +40019,7 @@
     wuffs_base__io_buffer* a_src) {
   wuffs_base__status status = wuffs_base__make_status(NULL);
 
-  uint8_t v_c = 0;
+  uint8_t v_c8 = 0;
   uint8_t v_block_size = 0;
   bool v_is_animexts = false;
   bool v_is_netscape = false;
@@ -40091,12 +40091,12 @@
             goto suspend;
           }
           uint8_t t_1 = *iop_a_src++;
-          v_c = t_1;
+          v_c8 = t_1;
         }
-        v_is_animexts = (v_is_animexts && (v_c == WUFFS_GIF__ANIMEXTS1DOT0[v_block_size]));
-        v_is_netscape = (v_is_netscape && (v_c == WUFFS_GIF__NETSCAPE2DOT0[v_block_size]));
-        v_is_iccp = (v_is_iccp && (v_c == WUFFS_GIF__ICCRGBG1012[v_block_size]));
-        v_is_xmp = (v_is_xmp && (v_c == WUFFS_GIF__XMPDATAXMP[v_block_size]));
+        v_is_animexts = (v_is_animexts && (v_c8 == WUFFS_GIF__ANIMEXTS1DOT0[v_block_size]));
+        v_is_netscape = (v_is_netscape && (v_c8 == WUFFS_GIF__NETSCAPE2DOT0[v_block_size]));
+        v_is_iccp = (v_is_iccp && (v_c8 == WUFFS_GIF__ICCRGBG1012[v_block_size]));
+        v_is_xmp = (v_is_xmp && (v_c8 == WUFFS_GIF__XMPDATAXMP[v_block_size]));
 #if defined(__GNUC__)
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wconversion"
@@ -40135,9 +40135,9 @@
             goto suspend;
           }
           uint8_t t_3 = *iop_a_src++;
-          v_c = t_3;
+          v_c8 = t_3;
         }
-        if (v_c != 1u) {
+        if (v_c8 != 1u) {
           self->private_data.s_decode_ae.scratch = 2u;
           WUFFS_BASE__COROUTINE_SUSPENSION_POINT(7);
           if (self->private_data.s_decode_ae.scratch > ((uint64_t)(io2_a_src - iop_a_src))) {
@@ -40241,7 +40241,7 @@
     wuffs_base__io_buffer* a_src) {
   wuffs_base__status status = wuffs_base__make_status(NULL);
 
-  uint8_t v_c = 0;
+  uint8_t v_c8 = 0;
   uint8_t v_flags = 0;
   uint16_t v_gc_duration_centiseconds = 0;
 
@@ -40267,9 +40267,9 @@
         goto suspend;
       }
       uint8_t t_0 = *iop_a_src++;
-      v_c = t_0;
+      v_c8 = t_0;
     }
-    if (v_c != 4u) {
+    if (v_c8 != 4u) {
       status = wuffs_base__make_status(wuffs_gif__error__bad_graphic_control);
       goto exit;
     }
@@ -40337,9 +40337,9 @@
         goto suspend;
       }
       uint8_t t_4 = *iop_a_src++;
-      v_c = t_4;
+      v_c8 = t_4;
     }
-    if (v_c != 0u) {
+    if (v_c8 != 0u) {
       status = wuffs_base__make_status(wuffs_gif__error__bad_graphic_control);
       goto exit;
     }
@@ -41546,7 +41546,7 @@
     wuffs_base__slice_u8 a_workbuf) {
   wuffs_base__status status = wuffs_base__make_status(NULL);
 
-  uint8_t v_c = 0;
+  uint8_t v_c8 = 0;
   uint8_t v_flags = 0;
   uint16_t v_xlen = 0;
   uint64_t v_mark = 0;
@@ -41597,9 +41597,9 @@
         goto suspend;
       }
       uint8_t t_0 = *iop_a_src++;
-      v_c = t_0;
+      v_c8 = t_0;
     }
-    if (v_c != 31u) {
+    if (v_c8 != 31u) {
       status = wuffs_base__make_status(wuffs_gzip__error__bad_header);
       goto exit;
     }
@@ -41610,9 +41610,9 @@
         goto suspend;
       }
       uint8_t t_1 = *iop_a_src++;
-      v_c = t_1;
+      v_c8 = t_1;
     }
-    if (v_c != 139u) {
+    if (v_c8 != 139u) {
       status = wuffs_base__make_status(wuffs_gzip__error__bad_header);
       goto exit;
     }
@@ -41623,9 +41623,9 @@
         goto suspend;
       }
       uint8_t t_2 = *iop_a_src++;
-      v_c = t_2;
+      v_c8 = t_2;
     }
-    if (v_c != 8u) {
+    if (v_c8 != 8u) {
       status = wuffs_base__make_status(wuffs_gzip__error__bad_compression_method);
       goto exit;
     }
@@ -41696,9 +41696,9 @@
             goto suspend;
           }
           uint8_t t_5 = *iop_a_src++;
-          v_c = t_5;
+          v_c8 = t_5;
         }
-        if (v_c == 0u) {
+        if (v_c8 == 0u) {
           break;
         }
       }
@@ -41712,9 +41712,9 @@
             goto suspend;
           }
           uint8_t t_6 = *iop_a_src++;
-          v_c = t_6;
+          v_c8 = t_6;
         }
-        if (v_c == 0u) {
+        if (v_c8 == 0u) {
           break;
         }
       }
@@ -44100,7 +44100,7 @@
     wuffs_base__io_buffer* a_src) {
   wuffs_base__status status = wuffs_base__make_status(NULL);
 
-  uint8_t v_c = 0;
+  uint8_t v_c8 = 0;
   uint8_t v_marker = 0;
   uint32_t v_pixfmt = 0;
 
@@ -44133,9 +44133,9 @@
         goto suspend;
       }
       uint8_t t_0 = *iop_a_src++;
-      v_c = t_0;
+      v_c8 = t_0;
     }
-    if (v_c != 255u) {
+    if (v_c8 != 255u) {
       status = wuffs_base__make_status(wuffs_jpeg__error__bad_header);
       goto exit;
     }
@@ -44146,9 +44146,9 @@
         goto suspend;
       }
       uint8_t t_1 = *iop_a_src++;
-      v_c = t_1;
+      v_c8 = t_1;
     }
-    if (v_c != 216u) {
+    if (v_c8 != 216u) {
       status = wuffs_base__make_status(wuffs_jpeg__error__bad_header);
       goto exit;
     }
@@ -44161,9 +44161,9 @@
             goto suspend;
           }
           uint8_t t_2 = *iop_a_src++;
-          v_c = t_2;
+          v_c8 = t_2;
         }
-        if (v_c == 255u) {
+        if (v_c8 == 255u) {
           break;
         }
       }
@@ -44175,10 +44175,10 @@
             goto suspend;
           }
           uint8_t t_3 = *iop_a_src++;
-          v_c = t_3;
+          v_c8 = t_3;
         }
-        if (v_c != 255u) {
-          v_marker = v_c;
+        if (v_c8 != 255u) {
+          v_marker = v_c8;
           break;
         }
       }
@@ -44381,7 +44381,7 @@
     wuffs_base__io_buffer* a_src) {
   wuffs_base__status status = wuffs_base__make_status(NULL);
 
-  uint8_t v_c = 0;
+  uint8_t v_c8 = 0;
   uint8_t v_q = 0;
   uint32_t v_i = 0;
 
@@ -44413,17 +44413,17 @@
           goto suspend;
         }
         uint8_t t_0 = *iop_a_src++;
-        v_c = t_0;
+        v_c8 = t_0;
       }
-      if (((uint8_t)(v_c & 15u)) > 3u) {
+      if (((uint8_t)(v_c8 & 15u)) > 3u) {
         status = wuffs_base__make_status(wuffs_jpeg__error__bad_dqt_marker);
         goto exit;
       }
-      v_q = ((uint8_t)(v_c & 15u));
-      if (((uint8_t)(v_c >> 4u)) == 1u) {
+      v_q = ((uint8_t)(v_c8 & 15u));
+      if (((uint8_t)(v_c8 >> 4u)) == 1u) {
         status = wuffs_base__make_status(wuffs_jpeg__error__unsupported_precision);
         goto exit;
-      } else if ((((uint8_t)(v_c >> 4u)) > 1u) || (self->private_impl.f_payload_length < 64u)) {
+      } else if ((((uint8_t)(v_c8 >> 4u)) > 1u) || (self->private_impl.f_payload_length < 64u)) {
         status = wuffs_base__make_status(wuffs_jpeg__error__bad_dqt_marker);
         goto exit;
       }
@@ -44775,7 +44775,7 @@
     wuffs_base__io_buffer* a_src) {
   wuffs_base__status status = wuffs_base__make_status(NULL);
 
-  uint8_t v_c = 0;
+  uint8_t v_c8 = 0;
   uint8_t v_comp_h = 0;
   uint8_t v_comp_v = 0;
   uint32_t v_i = 0;
@@ -44821,13 +44821,13 @@
         goto suspend;
       }
       uint8_t t_0 = *iop_a_src++;
-      v_c = t_0;
+      v_c8 = t_0;
     }
-    if (v_c == 8u) {
-    } else if (v_c == 12u) {
+    if (v_c8 == 8u) {
+    } else if (v_c8 == 12u) {
       status = wuffs_base__make_status(wuffs_jpeg__error__unsupported_precision_12_bits);
       goto exit;
-    } else if (v_c == 16u) {
+    } else if (v_c8 == 16u) {
       status = wuffs_base__make_status(wuffs_jpeg__error__unsupported_precision_16_bits);
       goto exit;
     } else {
@@ -44907,16 +44907,16 @@
         goto suspend;
       }
       uint8_t t_3 = *iop_a_src++;
-      v_c = t_3;
+      v_c8 = t_3;
     }
-    if ((v_c == 0u) || (v_c > 4u)) {
+    if ((v_c8 == 0u) || (v_c8 > 4u)) {
       status = wuffs_base__make_status(wuffs_jpeg__error__bad_sof_marker);
       goto exit;
-    } else if (v_c == 2u) {
+    } else if (v_c8 == 2u) {
       status = wuffs_base__make_status(wuffs_jpeg__error__unsupported_color_model);
       goto exit;
     }
-    self->private_impl.f_num_components = ((uint32_t)(v_c));
+    self->private_impl.f_num_components = ((uint32_t)(v_c8));
     if (self->private_impl.f_payload_length != (3u * self->private_impl.f_num_components)) {
       status = wuffs_base__make_status(wuffs_jpeg__error__bad_sof_marker);
       goto exit;
@@ -44940,10 +44940,10 @@
           goto suspend;
         }
         uint8_t t_5 = *iop_a_src++;
-        v_c = t_5;
+        v_c8 = t_5;
       }
-      v_comp_h = ((uint8_t)(v_c >> 4u));
-      v_comp_v = ((uint8_t)(v_c & 15u));
+      v_comp_h = ((uint8_t)(v_c8 >> 4u));
+      v_comp_v = ((uint8_t)(v_c8 & 15u));
       if ((v_comp_h == 0u) ||
           (v_comp_h > 4u) ||
           (v_comp_v == 0u) ||
@@ -44966,13 +44966,13 @@
           goto suspend;
         }
         uint8_t t_6 = *iop_a_src++;
-        v_c = t_6;
+        v_c8 = t_6;
       }
-      if (v_c >= 4u) {
+      if (v_c8 >= 4u) {
         status = wuffs_base__make_status(wuffs_jpeg__error__bad_sof_marker);
         goto exit;
       }
-      self->private_impl.f_components_tq[v_i] = v_c;
+      self->private_impl.f_components_tq[v_i] = v_c8;
       v_j = 0u;
       while (v_j < v_i) {
         if (self->private_impl.f_components_c[v_j] == self->private_impl.f_components_c[v_i]) {
@@ -45361,7 +45361,7 @@
 
   uint32_t v_pixfmt = 0;
   wuffs_base__status v_status = wuffs_base__make_status(NULL);
-  uint8_t v_c = 0;
+  uint8_t v_c8 = 0;
   uint8_t v_marker = 0;
 
   const uint8_t* iop_a_src = NULL;
@@ -45437,9 +45437,9 @@
             goto suspend;
           }
           uint8_t t_0 = *iop_a_src++;
-          v_c = t_0;
+          v_c8 = t_0;
         }
-        if (v_c == 255u) {
+        if (v_c8 == 255u) {
           break;
         }
       }
@@ -45451,10 +45451,10 @@
             goto suspend;
           }
           uint8_t t_1 = *iop_a_src++;
-          v_c = t_1;
+          v_c8 = t_1;
         }
-        if (v_c != 255u) {
-          v_marker = v_c;
+        if (v_c8 != 255u) {
+          v_marker = v_c8;
           break;
         }
       }
@@ -45621,7 +45621,7 @@
     wuffs_base__io_buffer* a_src) {
   wuffs_base__status status = wuffs_base__make_status(NULL);
 
-  uint8_t v_c = 0;
+  uint8_t v_c8 = 0;
   uint8_t v_tc = 0;
   uint8_t v_th = 0;
   uint8_t v_tc4_th = 0;
@@ -45667,14 +45667,14 @@
           goto suspend;
         }
         uint8_t t_0 = *iop_a_src++;
-        v_c = t_0;
+        v_c8 = t_0;
       }
-      if ((((uint8_t)(v_c >> 4u)) > 1u) || (((uint8_t)(v_c & 15u)) > 3u)) {
+      if ((((uint8_t)(v_c8 >> 4u)) > 1u) || (((uint8_t)(v_c8 & 15u)) > 3u)) {
         status = wuffs_base__make_status(wuffs_jpeg__error__bad_dht_marker);
         goto exit;
       }
-      v_tc = ((uint8_t)(v_c >> 4u));
-      v_th = ((uint8_t)(v_c & 15u));
+      v_tc = ((uint8_t)(v_c8 >> 4u));
+      v_th = ((uint8_t)(v_c8 & 15u));
       v_tc4_th = ((uint8_t)(((uint8_t)(((uint8_t)(v_tc * 4u)) | v_th))));
       if ((self->private_impl.f_sof_marker == 192u) && (((uint8_t)(v_tc4_th & 3u)) > 1u)) {
         status = wuffs_base__make_status(wuffs_jpeg__error__bad_dht_marker);
@@ -46042,7 +46042,7 @@
     wuffs_base__io_buffer* a_src) {
   wuffs_base__status status = wuffs_base__make_status(NULL);
 
-  uint8_t v_c = 0;
+  uint8_t v_c8 = 0;
   uint32_t v_i = 0;
   uint32_t v_j = 0;
   uint32_t v_j_max_incl = 0;
@@ -46077,13 +46077,13 @@
         goto suspend;
       }
       uint8_t t_0 = *iop_a_src++;
-      v_c = t_0;
+      v_c8 = t_0;
     }
-    if ((v_c < 1u) || (v_c > 4u)) {
+    if ((v_c8 < 1u) || (v_c8 > 4u)) {
       status = wuffs_base__make_status(wuffs_jpeg__error__bad_sos_marker);
       goto exit;
     }
-    self->private_impl.f_scan_num_components = ((uint32_t)(v_c));
+    self->private_impl.f_scan_num_components = ((uint32_t)(v_c8));
     if ((self->private_impl.f_scan_num_components > self->private_impl.f_num_components) || (self->private_impl.f_payload_length != (4u + (2u * self->private_impl.f_scan_num_components)))) {
       status = wuffs_base__make_status(wuffs_jpeg__error__bad_sos_marker);
       goto exit;
@@ -46098,7 +46098,7 @@
           goto suspend;
         }
         uint8_t t_1 = *iop_a_src++;
-        v_c = t_1;
+        v_c8 = t_1;
       }
       v_j = 0u;
       while (true) {
@@ -46106,7 +46106,7 @@
           status = wuffs_base__make_status(wuffs_jpeg__error__bad_sos_marker);
           goto exit;
         }
-        if (v_c == self->private_impl.f_components_c[v_j]) {
+        if (v_c8 == self->private_impl.f_components_c[v_j]) {
           if ( ! self->private_impl.f_seen_dqt[self->private_impl.f_components_tq[v_j]]) {
             status = wuffs_base__make_status(wuffs_jpeg__error__missing_quantization_table);
             goto exit;
@@ -46131,14 +46131,14 @@
           goto suspend;
         }
         uint8_t t_2 = *iop_a_src++;
-        v_c = t_2;
+        v_c8 = t_2;
       }
-      if ((((uint8_t)(v_c >> 4u)) > 3u) || (((uint8_t)(v_c & 15u)) > 3u)) {
+      if ((((uint8_t)(v_c8 >> 4u)) > 3u) || (((uint8_t)(v_c8 & 15u)) > 3u)) {
         status = wuffs_base__make_status(wuffs_jpeg__error__bad_sos_marker);
         goto exit;
       }
-      self->private_impl.f_scan_comps_td[v_i] = ((uint8_t)(v_c >> 4u));
-      self->private_impl.f_scan_comps_ta[v_i] = ((uint8_t)(v_c & 15u));
+      self->private_impl.f_scan_comps_td[v_i] = ((uint8_t)(v_c8 >> 4u));
+      self->private_impl.f_scan_comps_ta[v_i] = ((uint8_t)(v_c8 & 15u));
       if (self->private_impl.f_sof_marker == 192u) {
         if ((self->private_impl.f_scan_comps_td[v_i] > 1u) || (self->private_impl.f_scan_comps_ta[v_i] > 1u)) {
           status = wuffs_base__make_status(wuffs_jpeg__error__bad_sos_marker);
@@ -46169,13 +46169,13 @@
           goto suspend;
         }
         uint8_t t_3 = *iop_a_src++;
-        v_c = t_3;
+        v_c8 = t_3;
       }
-      if (v_c > 63u) {
+      if (v_c8 > 63u) {
         status = wuffs_base__make_status(wuffs_jpeg__error__bad_sos_marker);
         goto exit;
       }
-      self->private_impl.f_scan_ss = v_c;
+      self->private_impl.f_scan_ss = v_c8;
       {
         WUFFS_BASE__COROUTINE_SUSPENSION_POINT(6);
         if (WUFFS_BASE__UNLIKELY(iop_a_src == io2_a_src)) {
@@ -46183,13 +46183,13 @@
           goto suspend;
         }
         uint8_t t_4 = *iop_a_src++;
-        v_c = t_4;
+        v_c8 = t_4;
       }
-      if ((v_c > 63u) || (v_c < self->private_impl.f_scan_ss)) {
+      if ((v_c8 > 63u) || (v_c8 < self->private_impl.f_scan_ss)) {
         status = wuffs_base__make_status(wuffs_jpeg__error__bad_sos_marker);
         goto exit;
       }
-      self->private_impl.f_scan_se = v_c;
+      self->private_impl.f_scan_se = v_c8;
       {
         WUFFS_BASE__COROUTINE_SUSPENSION_POINT(7);
         if (WUFFS_BASE__UNLIKELY(iop_a_src == io2_a_src)) {
@@ -46197,14 +46197,14 @@
           goto suspend;
         }
         uint8_t t_5 = *iop_a_src++;
-        v_c = t_5;
+        v_c8 = t_5;
       }
-      if ((((uint8_t)(v_c >> 4u)) > 14u) || (((uint8_t)(v_c & 15u)) > 13u)) {
+      if ((((uint8_t)(v_c8 >> 4u)) > 14u) || (((uint8_t)(v_c8 & 15u)) > 13u)) {
         status = wuffs_base__make_status(wuffs_jpeg__error__bad_sos_marker);
         goto exit;
       }
-      self->private_impl.f_scan_ah = ((uint8_t)(v_c >> 4u));
-      self->private_impl.f_scan_al = ((uint8_t)(v_c & 15u));
+      self->private_impl.f_scan_ah = ((uint8_t)(v_c8 >> 4u));
+      self->private_impl.f_scan_al = ((uint8_t)(v_c8 & 15u));
       if (self->private_impl.f_scan_ah > 0u) {
         if (((uint8_t)(self->private_impl.f_scan_ah - 1u)) != self->private_impl.f_scan_al) {
           status = wuffs_base__make_status(wuffs_jpeg__error__bad_sos_marker);
@@ -46454,7 +46454,7 @@
     wuffs_jpeg__decoder* self,
     wuffs_base__io_buffer* a_src) {
   uint32_t v_wi = 0;
-  uint8_t v_c = 0;
+  uint8_t v_c8 = 0;
   uint32_t v_new_wi = 0;
 
   const uint8_t* iop_a_src = NULL;
@@ -46482,9 +46482,9 @@
   }
   v_wi = self->private_impl.f_bitstream_wi;
   while ((v_wi < 2048u) && (((uint64_t)(io2_a_src - iop_a_src)) > 0u)) {
-    v_c = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
-    if (v_c < 255u) {
-      self->private_data.f_bitstream_buffer[v_wi] = v_c;
+    v_c8 = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
+    if (v_c8 < 255u) {
+      self->private_data.f_bitstream_buffer[v_wi] = v_c8;
       v_wi += 1u;
       iop_a_src += 1u;
       continue;
@@ -46628,7 +46628,7 @@
     wuffs_base__io_buffer* a_src) {
   wuffs_base__status status = wuffs_base__make_status(NULL);
 
-  uint8_t v_c = 0;
+  uint8_t v_c8 = 0;
 
   const uint8_t* iop_a_src = NULL;
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
@@ -46654,17 +46654,17 @@
         iop_a_src += 1u;
         continue;
       }
-      v_c = ((uint8_t)(((uint16_t)(wuffs_base__peek_u16le__no_bounds_check(iop_a_src) >> 8u))));
-      if (v_c < 192u) {
+      v_c8 = ((uint8_t)(((uint16_t)(wuffs_base__peek_u16le__no_bounds_check(iop_a_src) >> 8u))));
+      if (v_c8 < 192u) {
         iop_a_src += 2u;
         continue;
-      } else if ((v_c < 208u) || (215u < v_c)) {
+      } else if ((v_c8 < 208u) || (215u < v_c8)) {
         break;
       }
-      v_c &= 7u;
-      if ((self->private_impl.f_next_restart_marker == ((uint8_t)(((uint8_t)(v_c + 1u)) & 7u))) || (self->private_impl.f_next_restart_marker == ((uint8_t)(((uint8_t)(v_c + 2u)) & 7u)))) {
+      v_c8 &= 7u;
+      if ((self->private_impl.f_next_restart_marker == ((uint8_t)(((uint8_t)(v_c8 + 1u)) & 7u))) || (self->private_impl.f_next_restart_marker == ((uint8_t)(((uint8_t)(v_c8 + 2u)) & 7u)))) {
         break;
-      } else if ((self->private_impl.f_next_restart_marker == ((uint8_t)(((uint8_t)(v_c + 7u)) & 7u))) || (self->private_impl.f_next_restart_marker == ((uint8_t)(((uint8_t)(v_c + 6u)) & 7u)))) {
+      } else if ((self->private_impl.f_next_restart_marker == ((uint8_t)(((uint8_t)(v_c8 + 7u)) & 7u))) || (self->private_impl.f_next_restart_marker == ((uint8_t)(((uint8_t)(v_c8 + 6u)) & 7u)))) {
         iop_a_src += 2u;
         continue;
       } else {
@@ -49109,8 +49109,8 @@
   uint32_t v_stack_byte = 0;
   uint32_t v_stack_bit = 0;
   uint32_t v_match = 0;
-  uint32_t v_c4 = 0;
-  uint8_t v_c = 0;
+  uint32_t v_c32 = 0;
+  uint8_t v_c8 = 0;
   uint8_t v_backslash = 0;
   uint8_t v_char = 0;
   uint8_t v_class = 0;
@@ -49200,7 +49200,7 @@
           goto label__outer__continue;
         }
         v_whitespace_length = 0u;
-        v_c = 0u;
+        v_c8 = 0u;
         v_class = 0u;
         while (true) {
           if (((uint64_t)(io2_a_src - iop_a_src)) <= 0u) {
@@ -49218,8 +49218,8 @@
             WUFFS_BASE__COROUTINE_SUSPENSION_POINT_MAYBE_SUSPEND(3);
             goto label__outer__continue;
           }
-          v_c = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
-          v_class = WUFFS_JSON__LUT_CLASSES[v_c];
+          v_c8 = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
+          v_class = WUFFS_JSON__LUT_CLASSES[v_c8];
           if (v_class != 0u) {
             break;
           }
@@ -49278,11 +49278,11 @@
                 goto label__string_loop_outer__continue;
               }
               while (((uint64_t)(io2_a_src - iop_a_src)) > 4u) {
-                v_c4 = wuffs_base__peek_u32le__no_bounds_check(iop_a_src);
-                if (0u != (WUFFS_JSON__LUT_CHARS[(255u & (v_c4 >> 0u))] |
-                    WUFFS_JSON__LUT_CHARS[(255u & (v_c4 >> 8u))] |
-                    WUFFS_JSON__LUT_CHARS[(255u & (v_c4 >> 16u))] |
-                    WUFFS_JSON__LUT_CHARS[(255u & (v_c4 >> 24u))])) {
+                v_c32 = wuffs_base__peek_u32le__no_bounds_check(iop_a_src);
+                if (0u != (WUFFS_JSON__LUT_CHARS[(255u & (v_c32 >> 0u))] |
+                    WUFFS_JSON__LUT_CHARS[(255u & (v_c32 >> 8u))] |
+                    WUFFS_JSON__LUT_CHARS[(255u & (v_c32 >> 16u))] |
+                    WUFFS_JSON__LUT_CHARS[(255u & (v_c32 >> 24u))])) {
                   break;
                 }
                 iop_a_src += 4u;
@@ -49296,8 +49296,8 @@
                 }
                 v_string_length += 4u;
               }
-              v_c = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
-              v_char = WUFFS_JSON__LUT_CHARS[v_c];
+              v_c8 = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
+              v_char = WUFFS_JSON__LUT_CHARS[v_c8];
               if (v_char == 0u) {
                 iop_a_src += 1u;
                 if (v_string_length >= 65531u) {
@@ -49339,8 +49339,8 @@
                   WUFFS_BASE__COROUTINE_SUSPENSION_POINT_MAYBE_SUSPEND(6);
                   goto label__string_loop_outer__continue;
                 }
-                v_c = ((uint8_t)(((uint16_t)(wuffs_base__peek_u16le__no_bounds_check(iop_a_src) >> 8u))));
-                v_backslash = WUFFS_JSON__LUT_BACKSLASHES[v_c];
+                v_c8 = ((uint8_t)(((uint16_t)(wuffs_base__peek_u16le__no_bounds_check(iop_a_src) >> 8u))));
+                v_backslash = WUFFS_JSON__LUT_BACKSLASHES[v_c8];
                 if (((uint8_t)(v_backslash & 128u)) != 0u) {
                   iop_a_src += 2u;
                   *iop_a_dst++ = wuffs_base__make_token(
@@ -49357,7 +49357,7 @@
                         (((uint64_t)(2u)) << WUFFS_BASE__TOKEN__LENGTH__SHIFT));
                     goto label__string_loop_outer__continue;
                   }
-                } else if (v_c == 117u) {
+                } else if (v_c8 == 117u) {
                   if (((uint64_t)(io2_a_src - iop_a_src)) < 6u) {
                     if (a_src && a_src->meta.closed) {
                       status = wuffs_base__make_status(wuffs_json__error__bad_backslash_escape);
@@ -49370,18 +49370,18 @@
                   v_uni4_string = (((uint64_t)(wuffs_base__peek_u48le__no_bounds_check(iop_a_src))) >> 16u);
                   v_uni4_value = 0u;
                   v_uni4_ok = 128u;
-                  v_c = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni4_string >> 0u))];
-                  v_uni4_ok &= v_c;
-                  v_uni4_value |= (((uint32_t)(((uint8_t)(v_c & 15u)))) << 12u);
-                  v_c = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni4_string >> 8u))];
-                  v_uni4_ok &= v_c;
-                  v_uni4_value |= (((uint32_t)(((uint8_t)(v_c & 15u)))) << 8u);
-                  v_c = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni4_string >> 16u))];
-                  v_uni4_ok &= v_c;
-                  v_uni4_value |= (((uint32_t)(((uint8_t)(v_c & 15u)))) << 4u);
-                  v_c = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni4_string >> 24u))];
-                  v_uni4_ok &= v_c;
-                  v_uni4_value |= (((uint32_t)(((uint8_t)(v_c & 15u)))) << 0u);
+                  v_c8 = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni4_string >> 0u))];
+                  v_uni4_ok &= v_c8;
+                  v_uni4_value |= (((uint32_t)(((uint8_t)(v_c8 & 15u)))) << 12u);
+                  v_c8 = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni4_string >> 8u))];
+                  v_uni4_ok &= v_c8;
+                  v_uni4_value |= (((uint32_t)(((uint8_t)(v_c8 & 15u)))) << 8u);
+                  v_c8 = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni4_string >> 16u))];
+                  v_uni4_ok &= v_c8;
+                  v_uni4_value |= (((uint32_t)(((uint8_t)(v_c8 & 15u)))) << 4u);
+                  v_c8 = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni4_string >> 24u))];
+                  v_uni4_ok &= v_c8;
+                  v_uni4_value |= (((uint32_t)(((uint8_t)(v_c8 & 15u)))) << 0u);
                   if (v_uni4_ok == 0u) {
                   } else if ((v_uni4_value < 55296u) || (57343u < v_uni4_value)) {
                     iop_a_src += 6u;
@@ -49419,18 +49419,18 @@
                       v_uni4_value = 0u;
                       v_uni4_ok = 128u;
                       v_uni4_string >>= 16u;
-                      v_c = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni4_string >> 0u))];
-                      v_uni4_ok &= v_c;
-                      v_uni4_value |= (((uint32_t)(((uint8_t)(v_c & 15u)))) << 12u);
-                      v_c = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni4_string >> 8u))];
-                      v_uni4_ok &= v_c;
-                      v_uni4_value |= (((uint32_t)(((uint8_t)(v_c & 15u)))) << 8u);
-                      v_c = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni4_string >> 16u))];
-                      v_uni4_ok &= v_c;
-                      v_uni4_value |= (((uint32_t)(((uint8_t)(v_c & 15u)))) << 4u);
-                      v_c = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni4_string >> 24u))];
-                      v_uni4_ok &= v_c;
-                      v_uni4_value |= (((uint32_t)(((uint8_t)(v_c & 15u)))) << 0u);
+                      v_c8 = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni4_string >> 0u))];
+                      v_uni4_ok &= v_c8;
+                      v_uni4_value |= (((uint32_t)(((uint8_t)(v_c8 & 15u)))) << 12u);
+                      v_c8 = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni4_string >> 8u))];
+                      v_uni4_ok &= v_c8;
+                      v_uni4_value |= (((uint32_t)(((uint8_t)(v_c8 & 15u)))) << 8u);
+                      v_c8 = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni4_string >> 16u))];
+                      v_uni4_ok &= v_c8;
+                      v_uni4_value |= (((uint32_t)(((uint8_t)(v_c8 & 15u)))) << 4u);
+                      v_c8 = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni4_string >> 24u))];
+                      v_uni4_ok &= v_c8;
+                      v_uni4_value |= (((uint32_t)(((uint8_t)(v_c8 & 15u)))) << 0u);
                     }
                     if ((v_uni4_ok != 0u) && (56320u <= v_uni4_value) && (v_uni4_value <= 57343u)) {
                       v_uni4_value -= 56320u;
@@ -49454,7 +49454,7 @@
                         (((uint64_t)(6u)) << WUFFS_BASE__TOKEN__LENGTH__SHIFT));
                     goto label__string_loop_outer__continue;
                   }
-                } else if ((v_c == 85u) && self->private_impl.f_quirks[2u]) {
+                } else if ((v_c8 == 85u) && self->private_impl.f_quirks[2u]) {
                   if (((uint64_t)(io2_a_src - iop_a_src)) < 10u) {
                     if (a_src && a_src->meta.closed) {
                       status = wuffs_base__make_status(wuffs_json__error__bad_backslash_escape);
@@ -49467,30 +49467,30 @@
                   v_uni8_string = wuffs_base__peek_u64le__no_bounds_check(iop_a_src + 2u);
                   v_uni8_value = 0u;
                   v_uni8_ok = 128u;
-                  v_c = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni8_string >> 0u))];
-                  v_uni8_ok &= v_c;
-                  v_uni8_value |= (((uint32_t)(((uint8_t)(v_c & 15u)))) << 28u);
-                  v_c = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni8_string >> 8u))];
-                  v_uni8_ok &= v_c;
-                  v_uni8_value |= (((uint32_t)(((uint8_t)(v_c & 15u)))) << 24u);
-                  v_c = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni8_string >> 16u))];
-                  v_uni8_ok &= v_c;
-                  v_uni8_value |= (((uint32_t)(((uint8_t)(v_c & 15u)))) << 20u);
-                  v_c = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni8_string >> 24u))];
-                  v_uni8_ok &= v_c;
-                  v_uni8_value |= (((uint32_t)(((uint8_t)(v_c & 15u)))) << 16u);
-                  v_c = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni8_string >> 32u))];
-                  v_uni8_ok &= v_c;
-                  v_uni8_value |= (((uint32_t)(((uint8_t)(v_c & 15u)))) << 12u);
-                  v_c = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni8_string >> 40u))];
-                  v_uni8_ok &= v_c;
-                  v_uni8_value |= (((uint32_t)(((uint8_t)(v_c & 15u)))) << 8u);
-                  v_c = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni8_string >> 48u))];
-                  v_uni8_ok &= v_c;
-                  v_uni8_value |= (((uint32_t)(((uint8_t)(v_c & 15u)))) << 4u);
-                  v_c = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni8_string >> 56u))];
-                  v_uni8_ok &= v_c;
-                  v_uni8_value |= (((uint32_t)(((uint8_t)(v_c & 15u)))) << 0u);
+                  v_c8 = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni8_string >> 0u))];
+                  v_uni8_ok &= v_c8;
+                  v_uni8_value |= (((uint32_t)(((uint8_t)(v_c8 & 15u)))) << 28u);
+                  v_c8 = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni8_string >> 8u))];
+                  v_uni8_ok &= v_c8;
+                  v_uni8_value |= (((uint32_t)(((uint8_t)(v_c8 & 15u)))) << 24u);
+                  v_c8 = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni8_string >> 16u))];
+                  v_uni8_ok &= v_c8;
+                  v_uni8_value |= (((uint32_t)(((uint8_t)(v_c8 & 15u)))) << 20u);
+                  v_c8 = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni8_string >> 24u))];
+                  v_uni8_ok &= v_c8;
+                  v_uni8_value |= (((uint32_t)(((uint8_t)(v_c8 & 15u)))) << 16u);
+                  v_c8 = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni8_string >> 32u))];
+                  v_uni8_ok &= v_c8;
+                  v_uni8_value |= (((uint32_t)(((uint8_t)(v_c8 & 15u)))) << 12u);
+                  v_c8 = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni8_string >> 40u))];
+                  v_uni8_ok &= v_c8;
+                  v_uni8_value |= (((uint32_t)(((uint8_t)(v_c8 & 15u)))) << 8u);
+                  v_c8 = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni8_string >> 48u))];
+                  v_uni8_ok &= v_c8;
+                  v_uni8_value |= (((uint32_t)(((uint8_t)(v_c8 & 15u)))) << 4u);
+                  v_c8 = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_uni8_string >> 56u))];
+                  v_uni8_ok &= v_c8;
+                  v_uni8_value |= (((uint32_t)(((uint8_t)(v_c8 & 15u)))) << 0u);
                   if (v_uni8_ok == 0u) {
                   } else if ((v_uni8_value < 55296u) || ((57343u < v_uni8_value) && (v_uni8_value <= 1114111u))) {
                     iop_a_src += 10u;
@@ -49507,7 +49507,7 @@
                         (((uint64_t)(10u)) << WUFFS_BASE__TOKEN__LENGTH__SHIFT));
                     goto label__string_loop_outer__continue;
                   }
-                } else if ((v_c == 120u) && self->private_impl.f_quirks[9u]) {
+                } else if ((v_c8 == 120u) && self->private_impl.f_quirks[9u]) {
                   if (((uint64_t)(io2_a_src - iop_a_src)) < 4u) {
                     if (a_src && a_src->meta.closed) {
                       status = wuffs_base__make_status(wuffs_json__error__bad_backslash_escape);
@@ -49519,12 +49519,12 @@
                   }
                   v_backslash_x_string = wuffs_base__peek_u32le__no_bounds_check(iop_a_src);
                   v_backslash_x_ok = 128u;
-                  v_c = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_backslash_x_string >> 16u))];
-                  v_backslash_x_ok &= v_c;
-                  v_backslash_x_value = ((uint8_t)(((uint8_t)(((uint8_t)(v_c & 15u)) << 4u))));
-                  v_c = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_backslash_x_string >> 24u))];
-                  v_backslash_x_ok &= v_c;
-                  v_backslash_x_value = ((uint8_t)(((uint8_t)(v_backslash_x_value | ((uint8_t)(v_c & 15u))))));
+                  v_c8 = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_backslash_x_string >> 16u))];
+                  v_backslash_x_ok &= v_c8;
+                  v_backslash_x_value = ((uint8_t)(((uint8_t)(((uint8_t)(v_c8 & 15u)) << 4u))));
+                  v_c8 = WUFFS_JSON__LUT_HEXADECIMAL_DIGITS[(255u & (v_backslash_x_string >> 24u))];
+                  v_backslash_x_ok &= v_c8;
+                  v_backslash_x_value = ((uint8_t)(((uint8_t)(v_backslash_x_value | ((uint8_t)(v_c8 & 15u))))));
                   if ((v_backslash_x_ok == 0u) || ((v_backslash_x_string & 65535u) != 30812u)) {
                     status = wuffs_base__make_status(wuffs_json__error__bad_backslash_escape);
                     goto exit;
@@ -50088,7 +50088,7 @@
 wuffs_json__decoder__decode_number(
     wuffs_json__decoder* self,
     wuffs_base__io_buffer* a_src) {
-  uint8_t v_c = 0;
+  uint8_t v_c8 = 0;
   uint32_t v_n = 0;
   uint32_t v_floating_point = 0;
 
@@ -50111,8 +50111,8 @@
       }
       break;
     }
-    v_c = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
-    if (v_c != 45u) {
+    v_c8 = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
+    if (v_c8 != 45u) {
     } else {
       v_n += 1u;
       iop_a_src += 1u;
@@ -50123,9 +50123,9 @@
         v_n |= 256u;
         break;
       }
-      v_c = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
+      v_c8 = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
     }
-    if (v_c == 48u) {
+    if (v_c8 == 48u) {
       v_n += 1u;
       iop_a_src += 1u;
     } else {
@@ -50146,8 +50146,8 @@
       }
       break;
     }
-    v_c = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
-    if (v_c != 46u) {
+    v_c8 = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
+    if (v_c8 != 46u) {
     } else {
       if (v_n >= 99u) {
         v_n |= 512u;
@@ -50172,9 +50172,9 @@
         }
         break;
       }
-      v_c = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
+      v_c8 = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
     }
-    if ((v_c != 69u) && (v_c != 101u)) {
+    if ((v_c8 != 69u) && (v_c8 != 101u)) {
       break;
     }
     if (v_n >= 99u) {
@@ -50191,8 +50191,8 @@
       v_n |= 256u;
       break;
     }
-    v_c = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
-    if ((v_c != 43u) && (v_c != 45u)) {
+    v_c8 = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
+    if ((v_c8 != 43u) && (v_c8 != 45u)) {
     } else {
       if (v_n >= 99u) {
         v_n |= 512u;
@@ -50223,7 +50223,7 @@
     wuffs_json__decoder* self,
     wuffs_base__io_buffer* a_src,
     uint32_t a_n) {
-  uint8_t v_c = 0;
+  uint8_t v_c8 = 0;
   uint32_t v_n = 0;
 
   const uint8_t* iop_a_src = NULL;
@@ -50245,8 +50245,8 @@
       }
       break;
     }
-    v_c = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
-    if (0u == WUFFS_JSON__LUT_DECIMAL_DIGITS[v_c]) {
+    v_c8 = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
+    if (0u == WUFFS_JSON__LUT_DECIMAL_DIGITS[v_c8]) {
       break;
     }
     if (v_n >= 99u) {
@@ -50275,7 +50275,7 @@
     wuffs_base__io_buffer* a_src) {
   wuffs_base__status status = wuffs_base__make_status(NULL);
 
-  uint8_t v_c = 0;
+  uint8_t v_c8 = 0;
   uint32_t v_u = 0;
 
   wuffs_base__token* iop_a_dst = NULL;
@@ -50322,15 +50322,15 @@
         WUFFS_BASE__COROUTINE_SUSPENSION_POINT_MAYBE_SUSPEND(2);
         continue;
       }
-      v_c = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
-      if ((v_c == 30u) && self->private_impl.f_allow_leading_ars) {
+      v_c8 = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
+      if ((v_c8 == 30u) && self->private_impl.f_allow_leading_ars) {
         self->private_impl.f_allow_leading_ars = false;
         iop_a_src += 1u;
         *iop_a_dst++ = wuffs_base__make_token(
             (((uint64_t)(0u)) << WUFFS_BASE__TOKEN__VALUE_MINOR__SHIFT) |
             (((uint64_t)(1u)) << WUFFS_BASE__TOKEN__LENGTH__SHIFT));
         continue;
-      } else if ((v_c == 239u) && self->private_impl.f_allow_leading_ubom) {
+      } else if ((v_c8 == 239u) && self->private_impl.f_allow_leading_ubom) {
         if (((uint64_t)(io2_a_src - iop_a_src)) < 3u) {
           if (a_src && a_src->meta.closed) {
             break;
@@ -50383,8 +50383,8 @@
     wuffs_base__io_buffer* a_src) {
   wuffs_base__status status = wuffs_base__make_status(NULL);
 
-  uint8_t v_c = 0;
-  uint16_t v_c2 = 0;
+  uint8_t v_c8 = 0;
+  uint16_t v_c16 = 0;
   uint32_t v_length = 0;
 
   wuffs_base__token* iop_a_dst = NULL;
@@ -50429,8 +50429,8 @@
       status = wuffs_base__make_status(wuffs_base__suspension__short_read);
       WUFFS_BASE__COROUTINE_SUSPENSION_POINT_MAYBE_SUSPEND(2);
     }
-    v_c2 = wuffs_base__peek_u16le__no_bounds_check(iop_a_src);
-    if ((v_c2 == 10799u) && self->private_impl.f_quirks[11u]) {
+    v_c16 = wuffs_base__peek_u16le__no_bounds_check(iop_a_src);
+    if ((v_c16 == 10799u) && self->private_impl.f_quirks[11u]) {
       iop_a_src += 2u;
       v_length = 2u;
       while (true) {
@@ -50454,8 +50454,8 @@
           v_length = 0u;
           continue;
         }
-        v_c2 = wuffs_base__peek_u16le__no_bounds_check(iop_a_src);
-        if (v_c2 == 12074u) {
+        v_c16 = wuffs_base__peek_u16le__no_bounds_check(iop_a_src);
+        if (v_c16 == 12074u) {
           iop_a_src += 2u;
           *iop_a_dst++ = wuffs_base__make_token(
               (((uint64_t)(2u)) << WUFFS_BASE__TOKEN__VALUE_MINOR__SHIFT) |
@@ -50479,7 +50479,7 @@
         }
         v_length += 1u;
       }
-    } else if ((v_c2 == 12079u) && self->private_impl.f_quirks[12u]) {
+    } else if ((v_c16 == 12079u) && self->private_impl.f_quirks[12u]) {
       iop_a_src += 2u;
       v_length = 2u;
       while (true) {
@@ -50506,8 +50506,8 @@
           v_length = 0u;
           continue;
         }
-        v_c = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
-        if (v_c == 10u) {
+        v_c8 = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
+        if (v_c8 == 10u) {
           *iop_a_dst++ = wuffs_base__make_token(
               (((uint64_t)(4u)) << WUFFS_BASE__TOKEN__VALUE_MINOR__SHIFT) |
               (((uint64_t)(v_length)) << WUFFS_BASE__TOKEN__LENGTH__SHIFT));
@@ -50563,7 +50563,7 @@
     wuffs_base__io_buffer* a_src) {
   wuffs_base__status status = wuffs_base__make_status(NULL);
 
-  uint32_t v_c4 = 0;
+  uint32_t v_c32 = 0;
   uint32_t v_neg = 0;
 
   wuffs_base__token* iop_a_dst = NULL;
@@ -50609,8 +50609,8 @@
         WUFFS_BASE__COROUTINE_SUSPENSION_POINT_MAYBE_SUSPEND(2);
         continue;
       }
-      v_c4 = ((uint32_t)(wuffs_base__peek_u24le__no_bounds_check(iop_a_src)));
-      if ((v_c4 | 2105376u) == 6712937u) {
+      v_c32 = ((uint32_t)(wuffs_base__peek_u24le__no_bounds_check(iop_a_src)));
+      if ((v_c32 | 2105376u) == 6712937u) {
         if (((uint64_t)(io2_a_src - iop_a_src)) > 7u) {
           if ((wuffs_base__peek_u64le__no_bounds_check(iop_a_src) | 2314885530818453536u) == 8751735898823356009u) {
             *iop_a_dst++ = wuffs_base__make_token(
@@ -50631,16 +50631,16 @@
         iop_a_src += 3u;
         status = wuffs_base__make_status(NULL);
         goto ok;
-      } else if ((v_c4 | 2105376u) == 7233902u) {
+      } else if ((v_c32 | 2105376u) == 7233902u) {
         *iop_a_dst++ = wuffs_base__make_token(
             (((uint64_t)(10485888u)) << WUFFS_BASE__TOKEN__VALUE_MINOR__SHIFT) |
             (((uint64_t)(3u)) << WUFFS_BASE__TOKEN__LENGTH__SHIFT));
         iop_a_src += 3u;
         status = wuffs_base__make_status(NULL);
         goto ok;
-      } else if ((v_c4 & 255u) == 43u) {
+      } else if ((v_c32 & 255u) == 43u) {
         v_neg = 0u;
-      } else if ((v_c4 & 255u) == 45u) {
+      } else if ((v_c32 & 255u) == 45u) {
         v_neg = 1u;
       } else {
         status = wuffs_base__make_status(wuffs_json__error__bad_input);
@@ -50655,8 +50655,8 @@
         WUFFS_BASE__COROUTINE_SUSPENSION_POINT_MAYBE_SUSPEND(4);
         continue;
       }
-      v_c4 = (wuffs_base__peek_u32le__no_bounds_check(iop_a_src) >> 8u);
-      if ((v_c4 | 2105376u) == 6712937u) {
+      v_c32 = (wuffs_base__peek_u32le__no_bounds_check(iop_a_src) >> 8u);
+      if ((v_c32 | 2105376u) == 6712937u) {
         if (((uint64_t)(io2_a_src - iop_a_src)) > 8u) {
           if ((wuffs_base__peek_u64le__no_bounds_check(iop_a_src + 1u) | 2314885530818453536u) == 8751735898823356009u) {
             *iop_a_dst++ = wuffs_base__make_token(
@@ -50677,7 +50677,7 @@
         iop_a_src += 4u;
         status = wuffs_base__make_status(NULL);
         goto ok;
-      } else if ((v_c4 | 2105376u) == 7233902u) {
+      } else if ((v_c32 | 2105376u) == 7233902u) {
         *iop_a_dst++ = wuffs_base__make_token(
             (((uint64_t)((10485760u | (((uint32_t)(128u)) >> v_neg)))) << WUFFS_BASE__TOKEN__VALUE_MINOR__SHIFT) |
             (((uint64_t)(4u)) << WUFFS_BASE__TOKEN__LENGTH__SHIFT));
@@ -50720,7 +50720,7 @@
     wuffs_base__io_buffer* a_src) {
   wuffs_base__status status = wuffs_base__make_status(NULL);
 
-  uint8_t v_c = 0;
+  uint8_t v_c8 = 0;
   uint32_t v_whitespace_length = 0;
 
   wuffs_base__token* iop_a_dst = NULL;
@@ -50778,8 +50778,8 @@
           WUFFS_BASE__COROUTINE_SUSPENSION_POINT_MAYBE_SUSPEND(2);
           goto label__outer__continue;
         }
-        v_c = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
-        if (WUFFS_JSON__LUT_CLASSES[v_c] != 0u) {
+        v_c8 = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
+        if (WUFFS_JSON__LUT_CLASSES[v_c8] != 0u) {
           if (v_whitespace_length > 0u) {
             *iop_a_dst++ = wuffs_base__make_token(
                 (((uint64_t)(0u)) << WUFFS_BASE__TOKEN__VALUE_MINOR__SHIFT) |
@@ -50813,11 +50813,11 @@
           goto ok;
         }
         iop_a_src += 1u;
-        if ((v_whitespace_length >= 65534u) || (v_c == self->private_impl.f_trailer_stop)) {
+        if ((v_whitespace_length >= 65534u) || (v_c8 == self->private_impl.f_trailer_stop)) {
           *iop_a_dst++ = wuffs_base__make_token(
               (((uint64_t)(0u)) << WUFFS_BASE__TOKEN__VALUE_MINOR__SHIFT) |
               (((uint64_t)((v_whitespace_length + 1u))) << WUFFS_BASE__TOKEN__LENGTH__SHIFT));
-          if (v_c == self->private_impl.f_trailer_stop) {
+          if (v_c8 == self->private_impl.f_trailer_stop) {
             status = wuffs_base__make_status(NULL);
             goto ok;
           }
@@ -53646,7 +53646,7 @@
     wuffs_base__io_buffer* a_src) {
   wuffs_base__status status = wuffs_base__make_status(NULL);
 
-  uint8_t v_c = 0;
+  uint8_t v_c8 = 0;
   uint32_t v_n = 0;
 
   const uint8_t* iop_a_src = NULL;
@@ -53675,9 +53675,9 @@
         goto suspend;
       }
       uint8_t t_0 = *iop_a_src++;
-      v_c = t_0;
+      v_c8 = t_0;
     }
-    if (v_c != 80u) {
+    if (v_c8 != 80u) {
       status = wuffs_base__make_status(wuffs_netpbm__error__bad_header);
       goto exit;
     }
@@ -53688,14 +53688,14 @@
         goto suspend;
       }
       uint8_t t_1 = *iop_a_src++;
-      v_c = t_1;
+      v_c8 = t_1;
     }
-    if ((v_c < 49u) || (55u < v_c)) {
+    if ((v_c8 < 49u) || (55u < v_c8)) {
       status = wuffs_base__make_status(wuffs_netpbm__error__bad_header);
       goto exit;
-    } else if (v_c == 53u) {
+    } else if (v_c8 == 53u) {
       self->private_impl.f_pixfmt = 536870920u;
-    } else if (v_c == 54u) {
+    } else if (v_c8 == 54u) {
       self->private_impl.f_pixfmt = 2684356744u;
     } else {
       status = wuffs_base__make_status(wuffs_netpbm__error__unsupported_netpbm_file);
@@ -53708,9 +53708,9 @@
         goto suspend;
       }
       uint8_t t_2 = *iop_a_src++;
-      v_c = t_2;
+      v_c8 = t_2;
     }
-    if (v_c != 10u) {
+    if (v_c8 != 10u) {
       status = wuffs_base__make_status(wuffs_netpbm__error__bad_header);
       goto exit;
     }
@@ -53722,11 +53722,11 @@
           goto suspend;
         }
         uint8_t t_3 = *iop_a_src++;
-        v_c = t_3;
+        v_c8 = t_3;
       }
-      if ((v_c == 32u) || (v_c == 9u)) {
+      if ((v_c8 == 32u) || (v_c8 == 9u)) {
         continue;
-      } else if (v_c == 35u) {
+      } else if (v_c8 == 35u) {
         while (true) {
           {
             WUFFS_BASE__COROUTINE_SUSPENSION_POINT(5);
@@ -53735,18 +53735,18 @@
               goto suspend;
             }
             uint8_t t_4 = *iop_a_src++;
-            v_c = t_4;
+            v_c8 = t_4;
           }
-          if (v_c == 10u) {
+          if (v_c8 == 10u) {
             break;
           }
         }
         continue;
-      } else if ((v_c < 48u) || (57u < v_c)) {
+      } else if ((v_c8 < 48u) || (57u < v_c8)) {
         status = wuffs_base__make_status(wuffs_netpbm__error__bad_header);
         goto exit;
       }
-      self->private_impl.f_width = ((uint32_t)(((uint8_t)(v_c - 48u))));
+      self->private_impl.f_width = ((uint32_t)(((uint8_t)(v_c8 - 48u))));
       break;
     }
     while (true) {
@@ -53757,15 +53757,15 @@
           goto suspend;
         }
         uint8_t t_5 = *iop_a_src++;
-        v_c = t_5;
+        v_c8 = t_5;
       }
-      if ((v_c == 32u) || (v_c == 9u)) {
+      if ((v_c8 == 32u) || (v_c8 == 9u)) {
         break;
-      } else if ((v_c < 48u) || (57u < v_c)) {
+      } else if ((v_c8 < 48u) || (57u < v_c8)) {
         status = wuffs_base__make_status(wuffs_netpbm__error__bad_header);
         goto exit;
       }
-      v_n = ((10u * self->private_impl.f_width) + ((uint32_t)(((uint8_t)(v_c - 48u)))));
+      v_n = ((10u * self->private_impl.f_width) + ((uint32_t)(((uint8_t)(v_c8 - 48u)))));
       if (v_n > 16777215u) {
         status = wuffs_base__make_status(wuffs_netpbm__error__unsupported_netpbm_file);
         goto exit;
@@ -53780,11 +53780,11 @@
           goto suspend;
         }
         uint8_t t_6 = *iop_a_src++;
-        v_c = t_6;
+        v_c8 = t_6;
       }
-      if ((v_c == 32u) || (v_c == 9u)) {
+      if ((v_c8 == 32u) || (v_c8 == 9u)) {
         continue;
-      } else if (v_c == 35u) {
+      } else if (v_c8 == 35u) {
         while (true) {
           {
             WUFFS_BASE__COROUTINE_SUSPENSION_POINT(8);
@@ -53793,18 +53793,18 @@
               goto suspend;
             }
             uint8_t t_7 = *iop_a_src++;
-            v_c = t_7;
+            v_c8 = t_7;
           }
-          if (v_c == 10u) {
+          if (v_c8 == 10u) {
             break;
           }
         }
         continue;
-      } else if ((v_c < 48u) || (57u < v_c)) {
+      } else if ((v_c8 < 48u) || (57u < v_c8)) {
         status = wuffs_base__make_status(wuffs_netpbm__error__bad_header);
         goto exit;
       }
-      self->private_impl.f_height = ((uint32_t)(((uint8_t)(v_c - 48u))));
+      self->private_impl.f_height = ((uint32_t)(((uint8_t)(v_c8 - 48u))));
       break;
     }
     while (true) {
@@ -53815,17 +53815,17 @@
           goto suspend;
         }
         uint8_t t_8 = *iop_a_src++;
-        v_c = t_8;
+        v_c8 = t_8;
       }
-      if ((v_c == 32u) || (v_c == 9u) || (v_c == 13u)) {
+      if ((v_c8 == 32u) || (v_c8 == 9u) || (v_c8 == 13u)) {
         continue;
-      } else if (v_c == 10u) {
+      } else if (v_c8 == 10u) {
         break;
-      } else if ((v_c < 48u) || (57u < v_c)) {
+      } else if ((v_c8 < 48u) || (57u < v_c8)) {
         status = wuffs_base__make_status(wuffs_netpbm__error__bad_header);
         goto exit;
       }
-      v_n = ((10u * self->private_impl.f_height) + ((uint32_t)(((uint8_t)(v_c - 48u)))));
+      v_n = ((10u * self->private_impl.f_height) + ((uint32_t)(((uint8_t)(v_c8 - 48u)))));
       if (v_n > 16777215u) {
         status = wuffs_base__make_status(wuffs_netpbm__error__unsupported_netpbm_file);
         goto exit;
@@ -53840,11 +53840,11 @@
           goto suspend;
         }
         uint8_t t_9 = *iop_a_src++;
-        v_c = t_9;
+        v_c8 = t_9;
       }
-      if ((v_c == 32u) || (v_c == 9u)) {
+      if ((v_c8 == 32u) || (v_c8 == 9u)) {
         continue;
-      } else if (v_c == 35u) {
+      } else if (v_c8 == 35u) {
         while (true) {
           {
             WUFFS_BASE__COROUTINE_SUSPENSION_POINT(11);
@@ -53853,18 +53853,18 @@
               goto suspend;
             }
             uint8_t t_10 = *iop_a_src++;
-            v_c = t_10;
+            v_c8 = t_10;
           }
-          if (v_c == 10u) {
+          if (v_c8 == 10u) {
             break;
           }
         }
         continue;
-      } else if ((v_c < 48u) || (57u < v_c)) {
+      } else if ((v_c8 < 48u) || (57u < v_c8)) {
         status = wuffs_base__make_status(wuffs_netpbm__error__bad_header);
         goto exit;
       }
-      self->private_impl.f_max_value = ((uint32_t)(((uint8_t)(v_c - 48u))));
+      self->private_impl.f_max_value = ((uint32_t)(((uint8_t)(v_c8 - 48u))));
       break;
     }
     while (true) {
@@ -53875,17 +53875,17 @@
           goto suspend;
         }
         uint8_t t_11 = *iop_a_src++;
-        v_c = t_11;
+        v_c8 = t_11;
       }
-      if ((v_c == 32u) || (v_c == 9u) || (v_c == 13u)) {
+      if ((v_c8 == 32u) || (v_c8 == 9u) || (v_c8 == 13u)) {
         continue;
-      } else if (v_c == 10u) {
+      } else if (v_c8 == 10u) {
         break;
-      } else if ((v_c < 48u) || (57u < v_c)) {
+      } else if ((v_c8 < 48u) || (57u < v_c8)) {
         status = wuffs_base__make_status(wuffs_netpbm__error__bad_header);
         goto exit;
       }
-      v_n = ((10u * self->private_impl.f_max_value) + ((uint32_t)(((uint8_t)(v_c - 48u)))));
+      v_n = ((10u * self->private_impl.f_max_value) + ((uint32_t)(((uint8_t)(v_c8 - 48u)))));
       if (v_n > 16777215u) {
         status = wuffs_base__make_status(wuffs_netpbm__error__unsupported_netpbm_file);
         goto exit;
@@ -60008,7 +60008,7 @@
     wuffs_base__io_buffer* a_src) {
   wuffs_base__status status = wuffs_base__make_status(NULL);
 
-  uint8_t v_c = 0;
+  uint8_t v_c8 = 0;
 
   const uint8_t* iop_a_src = NULL;
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
@@ -60038,9 +60038,9 @@
           goto suspend;
         }
         uint8_t t_0 = *iop_a_src++;
-        v_c = t_0;
+        v_c8 = t_0;
       }
-      if (v_c == 0u) {
+      if (v_c8 == 0u) {
         break;
       }
     }
@@ -60056,9 +60056,9 @@
         goto suspend;
       }
       uint8_t t_1 = *iop_a_src++;
-      v_c = t_1;
+      v_c8 = t_1;
     }
-    if (v_c != 0u) {
+    if (v_c8 != 0u) {
       status = wuffs_base__make_status(wuffs_png__error__unsupported_png_compression_method);
       goto exit;
     }
@@ -61798,8 +61798,8 @@
     wuffs_base__io_buffer* a_src) {
   wuffs_base__status status = wuffs_base__make_status(NULL);
 
-  uint8_t v_c = 0;
-  uint16_t v_c2 = 0;
+  uint8_t v_c8 = 0;
+  uint16_t v_c16 = 0;
   wuffs_base__io_buffer u_w = wuffs_base__empty_io_buffer();
   wuffs_base__io_buffer* v_w = &u_w;
   uint8_t* iop_v_w WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
@@ -62060,18 +62060,18 @@
               wuffs_private_impl__u64__sat_add_indirect(&self->private_impl.f_ztxt_hist_pos, v_num_written);
             }
             while (self->private_impl.f_ztxt_ri < self->private_impl.f_ztxt_wi) {
-              v_c2 = WUFFS_PNG__LATIN_1[self->private_data.f_dst_palette[self->private_impl.f_ztxt_ri]];
-              if (v_c2 == 0u) {
+              v_c16 = WUFFS_PNG__LATIN_1[self->private_data.f_dst_palette[self->private_impl.f_ztxt_ri]];
+              if (v_c16 == 0u) {
                 status = wuffs_base__make_status(wuffs_png__error__bad_text_chunk_not_latin_1);
                 goto exit;
-              } else if (v_c2 <= 127u) {
+              } else if (v_c16 <= 127u) {
                 if (((uint64_t)(io2_a_dst - iop_a_dst)) <= 0u) {
                   status = wuffs_base__make_status(wuffs_base__suspension__short_write);
                   WUFFS_BASE__COROUTINE_SUSPENSION_POINT_MAYBE_SUSPEND(4);
                   goto label__loop__continue;
                 }
                 self->private_impl.f_ztxt_ri += 1u;
-                (wuffs_base__poke_u8be__no_bounds_check(iop_a_dst, ((uint8_t)(v_c2))), iop_a_dst += 1);
+                (wuffs_base__poke_u8be__no_bounds_check(iop_a_dst, ((uint8_t)(v_c16))), iop_a_dst += 1);
               } else {
                 if (((uint64_t)(io2_a_dst - iop_a_dst)) <= 1u) {
                   status = wuffs_base__make_status(wuffs_base__suspension__short_write);
@@ -62079,7 +62079,7 @@
                   goto label__loop__continue;
                 }
                 self->private_impl.f_ztxt_ri += 1u;
-                (wuffs_base__poke_u16le__no_bounds_check(iop_a_dst, v_c2), iop_a_dst += 2);
+                (wuffs_base__poke_u16le__no_bounds_check(iop_a_dst, v_c16), iop_a_dst += 2);
               }
             }
             if (wuffs_base__status__is_ok(&v_zlib_status)) {
@@ -62116,9 +62116,9 @@
               goto label__loop__continue;
             }
             self->private_impl.f_chunk_length -= 1u;
-            v_c = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
+            v_c8 = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
             iop_a_src += 1u;
-            (wuffs_base__poke_u8be__no_bounds_check(iop_a_dst, v_c), iop_a_dst += 1);
+            (wuffs_base__poke_u8be__no_bounds_check(iop_a_dst, v_c8), iop_a_dst += 1);
           }
         } else {
           while (true) {
@@ -62133,17 +62133,17 @@
               WUFFS_BASE__COROUTINE_SUSPENSION_POINT_MAYBE_SUSPEND(9);
               goto label__loop__continue;
             }
-            v_c = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
-            if (v_c == 0u) {
+            v_c8 = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
+            if (v_c8 == 0u) {
               self->private_impl.f_chunk_length -= 1u;
               iop_a_src += 1u;
               goto label__loop__break;
             }
-            v_c2 = WUFFS_PNG__LATIN_1[v_c];
-            if (v_c2 == 0u) {
+            v_c16 = WUFFS_PNG__LATIN_1[v_c8];
+            if (v_c16 == 0u) {
               status = wuffs_base__make_status(wuffs_png__error__bad_text_chunk_not_latin_1);
               goto exit;
-            } else if (v_c2 <= 127u) {
+            } else if (v_c16 <= 127u) {
               if (((uint64_t)(io2_a_dst - iop_a_dst)) <= 0u) {
                 status = wuffs_base__make_status(wuffs_base__suspension__short_write);
                 WUFFS_BASE__COROUTINE_SUSPENSION_POINT_MAYBE_SUSPEND(10);
@@ -62151,7 +62151,7 @@
               }
               self->private_impl.f_chunk_length -= 1u;
               iop_a_src += 1u;
-              (wuffs_base__poke_u8be__no_bounds_check(iop_a_dst, ((uint8_t)(v_c2))), iop_a_dst += 1);
+              (wuffs_base__poke_u8be__no_bounds_check(iop_a_dst, ((uint8_t)(v_c16))), iop_a_dst += 1);
             } else {
               if (((uint64_t)(io2_a_dst - iop_a_dst)) <= 1u) {
                 status = wuffs_base__make_status(wuffs_base__suspension__short_write);
@@ -62160,7 +62160,7 @@
               }
               self->private_impl.f_chunk_length -= 1u;
               iop_a_src += 1u;
-              (wuffs_base__poke_u16le__no_bounds_check(iop_a_dst, v_c2), iop_a_dst += 2);
+              (wuffs_base__poke_u16le__no_bounds_check(iop_a_dst, v_c16), iop_a_dst += 2);
             }
           }
         }
@@ -62181,11 +62181,11 @@
               goto suspend;
             }
             uint8_t t_3 = *iop_a_src++;
-            v_c = t_3;
+            v_c8 = t_3;
           }
-          if (v_c == 0u) {
+          if (v_c8 == 0u) {
             self->private_impl.f_metadata_is_zlib_compressed = false;
-          } else if (v_c == 1u) {
+          } else if (v_c8 == 1u) {
             self->private_impl.f_metadata_is_zlib_compressed = true;
           } else {
             status = wuffs_base__make_status(wuffs_png__error__bad_chunk);
@@ -62198,9 +62198,9 @@
               goto suspend;
             }
             uint8_t t_4 = *iop_a_src++;
-            v_c = t_4;
+            v_c8 = t_4;
           }
-          if ((v_c != 0u) && self->private_impl.f_metadata_is_zlib_compressed) {
+          if ((v_c8 != 0u) && self->private_impl.f_metadata_is_zlib_compressed) {
             status = wuffs_base__make_status(wuffs_png__error__unsupported_png_compression_method);
             goto exit;
           }
@@ -62220,9 +62220,9 @@
                   goto suspend;
                 }
                 uint8_t t_5 = *iop_a_src++;
-                v_c = t_5;
+                v_c8 = t_5;
               }
-              if (v_c == 0u) {
+              if (v_c8 == 0u) {
                 break;
               }
             }
@@ -62240,9 +62240,9 @@
               goto suspend;
             }
             uint8_t t_6 = *iop_a_src++;
-            v_c = t_6;
+            v_c8 = t_6;
           }
-          if (v_c != 0u) {
+          if (v_c8 != 0u) {
             status = wuffs_base__make_status(wuffs_png__error__unsupported_png_compression_method);
             goto exit;
           }
@@ -63551,7 +63551,7 @@
     wuffs_base__io_buffer* a_src) {
   wuffs_base__status status = wuffs_base__make_status(NULL);
 
-  uint32_t v_c = 0;
+  uint32_t v_c32 = 0;
   uint32_t v_c5 = 0;
   uint32_t v_i = 0;
 
@@ -63873,11 +63873,11 @@
                 *scratch |= ((uint64_t)(num_bits_10)) << 56;
               }
             }
-            v_c = t_10;
+            v_c32 = t_10;
           }
-          self->private_data.f_src_palette[(((v_i & 255u) * 4u) + 0u)] = ((uint8_t)((v_c >> 0u)));
-          self->private_data.f_src_palette[(((v_i & 255u) * 4u) + 1u)] = ((uint8_t)((v_c >> 8u)));
-          self->private_data.f_src_palette[(((v_i & 255u) * 4u) + 2u)] = ((uint8_t)((v_c >> 16u)));
+          self->private_data.f_src_palette[(((v_i & 255u) * 4u) + 0u)] = ((uint8_t)((v_c32 >> 0u)));
+          self->private_data.f_src_palette[(((v_i & 255u) * 4u) + 1u)] = ((uint8_t)((v_c32 >> 8u)));
+          self->private_data.f_src_palette[(((v_i & 255u) * 4u) + 2u)] = ((uint8_t)((v_c32 >> 16u)));
           self->private_data.f_src_palette[(((v_i & 255u) * 4u) + 3u)] = 255u;
         } else if (self->private_impl.f_header_color_map_entry_size == 32u) {
           {
@@ -63907,12 +63907,12 @@
                 *scratch |= ((uint64_t)(num_bits_11)) << 56;
               }
             }
-            v_c = t_11;
+            v_c32 = t_11;
           }
-          self->private_data.f_src_palette[(((v_i & 255u) * 4u) + 0u)] = ((uint8_t)((v_c >> 0u)));
-          self->private_data.f_src_palette[(((v_i & 255u) * 4u) + 1u)] = ((uint8_t)((v_c >> 8u)));
-          self->private_data.f_src_palette[(((v_i & 255u) * 4u) + 2u)] = ((uint8_t)((v_c >> 16u)));
-          self->private_data.f_src_palette[(((v_i & 255u) * 4u) + 3u)] = ((uint8_t)((v_c >> 24u)));
+          self->private_data.f_src_palette[(((v_i & 255u) * 4u) + 0u)] = ((uint8_t)((v_c32 >> 0u)));
+          self->private_data.f_src_palette[(((v_i & 255u) * 4u) + 1u)] = ((uint8_t)((v_c32 >> 8u)));
+          self->private_data.f_src_palette[(((v_i & 255u) * 4u) + 2u)] = ((uint8_t)((v_c32 >> 16u)));
+          self->private_data.f_src_palette[(((v_i & 255u) * 4u) + 3u)] = ((uint8_t)((v_c32 >> 24u)));
         } else {
           {
             WUFFS_BASE__COROUTINE_SUSPENSION_POINT(21);
@@ -63941,13 +63941,13 @@
                 *scratch |= ((uint64_t)(num_bits_12)) << 56;
               }
             }
-            v_c = t_12;
+            v_c32 = t_12;
           }
-          v_c5 = (31u & (v_c >> 0u));
+          v_c5 = (31u & (v_c32 >> 0u));
           self->private_data.f_src_palette[(((v_i & 255u) * 4u) + 0u)] = ((uint8_t)(((v_c5 << 3u) | (v_c5 >> 2u))));
-          v_c5 = (31u & (v_c >> 5u));
+          v_c5 = (31u & (v_c32 >> 5u));
           self->private_data.f_src_palette[(((v_i & 255u) * 4u) + 1u)] = ((uint8_t)(((v_c5 << 3u) | (v_c5 >> 2u))));
-          v_c5 = (31u & (v_c >> 10u));
+          v_c5 = (31u & (v_c32 >> 10u));
           self->private_data.f_src_palette[(((v_i & 255u) * 4u) + 2u)] = ((uint8_t)(((v_c5 << 3u) | (v_c5 >> 2u))));
           self->private_data.f_src_palette[(((v_i & 255u) * 4u) + 3u)] = 255u;
         }
@@ -64252,7 +64252,7 @@
   uint32_t v_run_length = 0;
   uint64_t v_num_dst_bytes = 0;
   uint32_t v_num_src_bytes = 0;
-  uint32_t v_c = 0;
+  uint32_t v_c32 = 0;
   uint32_t v_c5 = 0;
 
   const uint8_t* iop_a_src = NULL;
@@ -64446,13 +64446,13 @@
                 WUFFS_BASE__COROUTINE_SUSPENSION_POINT_MAYBE_SUSPEND(8);
                 goto label__resume__continue;
               }
-              v_c = ((uint32_t)(wuffs_base__peek_u16le__no_bounds_check(iop_a_src)));
+              v_c32 = ((uint32_t)(wuffs_base__peek_u16le__no_bounds_check(iop_a_src)));
               iop_a_src += 2u;
-              v_c5 = (31u & (v_c >> 0u));
+              v_c5 = (31u & (v_c32 >> 0u));
               self->private_data.f_scratch[0u] = ((uint8_t)(((v_c5 << 3u) | (v_c5 >> 2u))));
-              v_c5 = (31u & (v_c >> 5u));
+              v_c5 = (31u & (v_c32 >> 5u));
               self->private_data.f_scratch[1u] = ((uint8_t)(((v_c5 << 3u) | (v_c5 >> 2u))));
-              v_c5 = (31u & (v_c >> 10u));
+              v_c5 = (31u & (v_c32 >> 10u));
               self->private_data.f_scratch[2u] = ((uint8_t)(((v_c5 << 3u) | (v_c5 >> 2u))));
               self->private_data.f_scratch[3u] = 255u;
               wuffs_base__pixel_swizzler__swizzle_interleaved_from_slice(&self->private_impl.f_swizzler, v_dst, v_dst_palette, wuffs_base__make_slice_u8(self->private_data.f_scratch, 4));
@@ -64489,13 +64489,13 @@
                 }
                 v_run_length = ((((uint32_t)(wuffs_base__peek_u8be__no_bounds_check(iop_a_src))) & 127u) + 1u);
                 iop_a_src += 1u;
-                v_c = ((uint32_t)(wuffs_base__peek_u16le__no_bounds_check(iop_a_src)));
+                v_c32 = ((uint32_t)(wuffs_base__peek_u16le__no_bounds_check(iop_a_src)));
                 iop_a_src += 2u;
-                v_c5 = (31u & (v_c >> 0u));
+                v_c5 = (31u & (v_c32 >> 0u));
                 self->private_data.f_scratch[0u] = ((uint8_t)(((v_c5 << 3u) | (v_c5 >> 2u))));
-                v_c5 = (31u & (v_c >> 5u));
+                v_c5 = (31u & (v_c32 >> 5u));
                 self->private_data.f_scratch[1u] = ((uint8_t)(((v_c5 << 3u) | (v_c5 >> 2u))));
-                v_c5 = (31u & (v_c >> 10u));
+                v_c5 = (31u & (v_c32 >> 10u));
                 self->private_data.f_scratch[2u] = ((uint8_t)(((v_c5 << 3u) | (v_c5 >> 2u))));
                 self->private_data.f_scratch[3u] = 255u;
                 if ((v_run_length + v_dst_x) > self->private_impl.f_width) {
@@ -64987,7 +64987,7 @@
     wuffs_base__io_buffer* a_src) {
   wuffs_base__status status = wuffs_base__make_status(NULL);
 
-  uint8_t v_c = 0;
+  uint8_t v_c8 = 0;
   uint32_t v_i = 0;
   uint32_t v_p = 0;
 
@@ -65023,9 +65023,9 @@
           goto suspend;
         }
         uint8_t t_0 = *iop_a_src++;
-        v_c = t_0;
+        v_c8 = t_0;
       }
-      if (v_c != 0u) {
+      if (v_c8 != 0u) {
         status = wuffs_base__make_status(wuffs_wbmp__error__bad_header);
         goto exit;
       }
@@ -65042,10 +65042,10 @@
             goto suspend;
           }
           uint8_t t_1 = *iop_a_src++;
-          v_c = t_1;
+          v_c8 = t_1;
         }
-        v_p |= ((uint32_t)(((uint8_t)(v_c & 127u))));
-        if (((uint8_t)(v_c >> 7u)) == 0u) {
+        v_p |= ((uint32_t)(((uint8_t)(v_c8 & 127u))));
+        if (((uint8_t)(v_c8 >> 7u)) == 0u) {
           break;
         } else if (v_p > 131071u) {
           status = wuffs_base__make_status(wuffs_base__error__unsupported_image_dimension);
@@ -65344,7 +65344,7 @@
   wuffs_base__table_u8 v_tab = {0};
   wuffs_base__slice_u8 v_dst = {0};
   uint8_t v_src[1] = {0};
-  uint8_t v_c = 0;
+  uint8_t v_c8 = 0;
 
   const uint8_t* iop_a_src = NULL;
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
@@ -65363,7 +65363,7 @@
     v_dst_x = self->private_data.s_do_decode_frame.v_dst_x;
     v_dst_y = self->private_data.s_do_decode_frame.v_dst_y;
     memcpy(v_src, self->private_data.s_do_decode_frame.v_src, sizeof(v_src));
-    v_c = self->private_data.s_do_decode_frame.v_c;
+    v_c8 = self->private_data.s_do_decode_frame.v_c8;
   }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
@@ -65425,15 +65425,15 @@
                 v_dst = wuffs_base__slice_u8__subslice_i(v_dst, v_dst_x_in_bytes);
               }
             }
-            v_c = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
+            v_c8 = wuffs_base__peek_u8be__no_bounds_check(iop_a_src);
             iop_a_src += 1u;
           }
-          if (((uint8_t)(v_c & 128u)) == 0u) {
+          if (((uint8_t)(v_c8 & 128u)) == 0u) {
             v_src[0u] = 0u;
           } else {
             v_src[0u] = 255u;
           }
-          v_c = ((uint8_t)((((uint32_t)(v_c)) << 1u)));
+          v_c8 = ((uint8_t)((((uint32_t)(v_c8)) << 1u)));
           wuffs_base__pixel_swizzler__swizzle_interleaved_from_slice(&self->private_impl.f_swizzler, v_dst, wuffs_base__utility__empty_slice_u8(), wuffs_base__make_slice_u8(v_src, 1));
           if (v_dst_bytes_per_pixel <= ((uint64_t)(v_dst.len))) {
             v_dst = wuffs_base__slice_u8__subslice_i(v_dst, v_dst_bytes_per_pixel);
@@ -65457,7 +65457,7 @@
   self->private_data.s_do_decode_frame.v_dst_x = v_dst_x;
   self->private_data.s_do_decode_frame.v_dst_y = v_dst_y;
   memcpy(self->private_data.s_do_decode_frame.v_src, v_src, sizeof(v_src));
-  self->private_data.s_do_decode_frame.v_c = v_c;
+  self->private_data.s_do_decode_frame.v_c8 = v_c8;
 
   goto exit;
   exit:
diff --git a/std/bzip2/decode_bzip2.wuffs b/std/bzip2/decode_bzip2.wuffs
index f04e4f3..c4c4d6c 100644
--- a/std/bzip2/decode_bzip2.wuffs
+++ b/std/bzip2/decode_bzip2.wuffs
@@ -144,30 +144,30 @@
 }
 
 pri func decoder.do_transform_io?(dst: base.io_writer, src: base.io_reader, workbuf: slice base.u8) {
-    var c                   : base.u8
+    var c8                  : base.u8
     var i                   : base.u32
     var tag                 : base.u64
     var status              : base.status
     var final_checksum_want : base.u32
 
     // Read the header.
-    c = args.src.read_u8?()
-    if c <> 0x42 {
+    c8 = args.src.read_u8?()
+    if c8 <> 0x42 {
         return "#bad header"
     }
-    c = args.src.read_u8?()
-    if c <> 0x5A {
+    c8 = args.src.read_u8?()
+    if c8 <> 0x5A {
         return "#bad header"
     }
-    c = args.src.read_u8?()
-    if c <> 0x68 {
+    c8 = args.src.read_u8?()
+    if c8 <> 0x68 {
         return "#bad header"
     }
-    c = args.src.read_u8?()
-    if (c < '1') or ('9' < c) {
+    c8 = args.src.read_u8?()
+    if (c8 < '1') or ('9' < c8) {
         return "#bad header"
     }
-    this.max_incl_block_size = ((c - '0') as base.u32) * 100000
+    this.max_incl_block_size = ((c8 - '0') as base.u32) * 100000
 
     while true {
         // Read the 48-bit tag.
@@ -175,8 +175,8 @@
         i = 0
         while i < 48 {
             if this.n_bits <= 0 {
-                c = args.src.read_u8?()
-                this.bits = (c as base.u32) << 24
+                c8 = args.src.read_u8?()
+                this.bits = (c8 as base.u32) << 24
                 this.n_bits = 8
                 assert this.n_bits > 0
             }
@@ -244,8 +244,8 @@
     i = 0
     while i < 32 {
         if this.n_bits <= 0 {
-            c = args.src.read_u8?()
-            this.bits = (c as base.u32) << 24
+            c8 = args.src.read_u8?()
+            this.bits = (c8 as base.u32) << 24
             this.n_bits = 8
             assert this.n_bits > 0
         }
@@ -261,7 +261,7 @@
 }
 
 pri func decoder.prepare_block?(src: base.io_reader) {
-    var c        : base.u8
+    var c8       : base.u8
     var i        : base.u32
     var j        : base.u32
     var selector : base.u32
@@ -274,8 +274,8 @@
     i = 0
     while i < 32 {
         if this.n_bits <= 0 {
-            c = args.src.read_u8?()
-            this.bits = (c as base.u32) << 24
+            c8 = args.src.read_u8?()
+            this.bits = (c8 as base.u32) << 24
             this.n_bits = 8
             assert this.n_bits > 0
         }
@@ -288,8 +288,8 @@
 
     // Read the "block randomized" bit.
     if this.n_bits <= 0 {
-        c = args.src.read_u8?()
-        this.bits = (c as base.u32) << 24
+        c8 = args.src.read_u8?()
+        this.bits = (c8 as base.u32) << 24
         this.n_bits = 8
         assert this.n_bits > 0
     }
@@ -304,8 +304,8 @@
     i = 0
     while i < 24 {
         if this.n_bits <= 0 {
-            c = args.src.read_u8?()
-            this.bits = (c as base.u32) << 24
+            c8 = args.src.read_u8?()
+            this.bits = (c8 as base.u32) << 24
             this.n_bits = 8
             assert this.n_bits > 0
         }
@@ -327,8 +327,8 @@
     i = 0
     while i < 256 {
         if this.n_bits <= 0 {
-            c = args.src.read_u8?()
-            this.bits = (c as base.u32) << 24
+            c8 = args.src.read_u8?()
+            this.bits = (c8 as base.u32) << 24
             this.n_bits = 8
             assert this.n_bits > 0
         }
@@ -350,8 +350,8 @@
         }
         while true {
             if this.n_bits <= 0 {
-                c = args.src.read_u8?()
-                this.bits = (c as base.u32) << 24
+                c8 = args.src.read_u8?()
+                this.bits = (c8 as base.u32) << 24
                 this.n_bits = 8
                 assert this.n_bits > 0
             }
@@ -375,8 +375,8 @@
     i = 0
     while i < 3 {
         if this.n_bits <= 0 {
-            c = args.src.read_u8?()
-            this.bits = (c as base.u32) << 24
+            c8 = args.src.read_u8?()
+            this.bits = (c8 as base.u32) << 24
             this.n_bits = 8
             assert this.n_bits > 0
         }
@@ -396,8 +396,8 @@
     i = 0
     while i < 15 {
         if this.n_bits <= 0 {
-            c = args.src.read_u8?()
-            this.bits = (c as base.u32) << 24
+            c8 = args.src.read_u8?()
+            this.bits = (c8 as base.u32) << 24
             this.n_bits = 8
             assert this.n_bits > 0
         }
@@ -431,8 +431,8 @@
                 inv i < 18001,
         {
             if this.n_bits <= 0 {
-                c = args.src.read_u8?()
-                this.bits = (c as base.u32) << 24
+                c8 = args.src.read_u8?()
+                this.bits = (c8 as base.u32) << 24
                 this.n_bits = 8
                 assert this.n_bits > 0
             }
@@ -497,7 +497,7 @@
 }
 
 pri func decoder.read_code_lengths?(src: base.io_reader) {
-    var c           : base.u8
+    var c8          : base.u8
     var i           : base.u32
     var code_length : base.u32
 
@@ -507,8 +507,8 @@
     i = 0
     while i < 5 {
         if this.n_bits <= 0 {
-            c = args.src.read_u8?()
-            this.bits = (c as base.u32) << 24
+            c8 = args.src.read_u8?()
+            this.bits = (c8 as base.u32) << 24
             this.n_bits = 8
             assert this.n_bits > 0
         }
@@ -531,8 +531,8 @@
             }
 
             if this.n_bits <= 0 {
-                c = args.src.read_u8?()
-                this.bits = (c as base.u32) << 24
+                c8 = args.src.read_u8?()
+                this.bits = (c8 as base.u32) << 24
                 this.n_bits = 8
                 assert this.n_bits > 0
             }
@@ -545,8 +545,8 @@
             this.n_bits -= 1
 
             if this.n_bits <= 0 {
-                c = args.src.read_u8?()
-                this.bits = (c as base.u32) << 24
+                c8 = args.src.read_u8?()
+                this.bits = (c8 as base.u32) << 24
                 this.n_bits = 8
                 assert this.n_bits > 0
             }
diff --git a/std/bzip2/decode_huffman_slow.wuffs b/std/bzip2/decode_huffman_slow.wuffs
index 16d384b..6c297f1 100644
--- a/std/bzip2/decode_huffman_slow.wuffs
+++ b/std/bzip2/decode_huffman_slow.wuffs
@@ -9,7 +9,7 @@
 // SPDX-License-Identifier: Apache-2.0 OR MIT
 
 pri func decoder.decode_huffman_slow?(src: base.io_reader) {
-    var c          : base.u8
+    var c8         : base.u8
     var node_index : base.u32[..= 256]
 
     var child    : base.u16
@@ -36,8 +36,8 @@
         node_index = 0
         while true {
             if this.n_bits <= 0 {
-                c = args.src.read_u8?()
-                this.bits = (c as base.u32) << 24
+                c8 = args.src.read_u8?()
+                this.bits = (c8 as base.u32) << 24
                 this.n_bits = 8
                 assert this.n_bits > 0
             }
diff --git a/std/cbor/decode_cbor.wuffs b/std/cbor/decode_cbor.wuffs
index 5a77cac..1f79ece 100644
--- a/std/cbor/decode_cbor.wuffs
+++ b/std/cbor/decode_cbor.wuffs
@@ -133,7 +133,7 @@
     var vminor       : base.u32[..= 0x1FF_FFFF]
     var vminor_alt   : base.u32[..= 0x1FF_FFFF]
     var continued    : base.u32[..= 1]
-    var c            : base.u8
+    var c8           : base.u8
     var c_major      : base.u8[..= 0x07]
     var c_minor      : base.u8[..= 0x1F]
     var tagged       : base.bool
@@ -160,10 +160,10 @@
             yield? base."$short read"
             continue.outer
         }
-        c = args.src.peek_u8()
+        c8 = args.src.peek_u8()
 
-        if (indefinite_string_major_type <> 0) and (indefinite_string_major_type <> (c >> 5)) {
-            if c <> 0xFF {
+        if (indefinite_string_major_type <> 0) and (indefinite_string_major_type <> (c8 >> 5)) {
+            if c8 <> 0xFF {
                 return "#bad input"
             }
             vminor = (base.TOKEN__VBC__STRING << 21) |
@@ -184,8 +184,8 @@
         }
 
         args.src.skip_u32_fast!(actual: 1, worst_case: 1)
-        c_major = (c >> 5) as base.u8
-        c_minor = c & 0x1F
+        c_major = (c8 >> 5) as base.u8
+        c_minor = c8 & 0x1F
         if c_minor < 0x18 {
             string_length = c_minor as base.u64
         } else {
diff --git a/std/gif/decode_gif.wuffs b/std/gif/decode_gif.wuffs
index 8790d59..56a4c9e 100644
--- a/std/gif/decode_gif.wuffs
+++ b/std/gif/decode_gif.wuffs
@@ -672,7 +672,7 @@
 
 // decode_ae reads an Application Extension.
 pri func decoder.decode_ae?(src: base.io_reader) {
-    var c           : base.u8
+    var c8          : base.u8
     var block_size  : base.u8
     var is_animexts : base.bool
     var is_netscape : base.bool
@@ -705,11 +705,11 @@
     is_xmp = true
     block_size = 0  // Re-purpose the block_size variable as a counter.
     while block_size < 11 {
-        c = args.src.read_u8?()
-        is_animexts = is_animexts and (c == ANIMEXTS1DOT0[block_size])
-        is_netscape = is_netscape and (c == NETSCAPE2DOT0[block_size])
-        is_iccp = is_iccp and (c == ICCRGBG1012[block_size])
-        is_xmp = is_xmp and (c == XMPDATAXMP[block_size])
+        c8 = args.src.read_u8?()
+        is_animexts = is_animexts and (c8 == ANIMEXTS1DOT0[block_size])
+        is_netscape = is_netscape and (c8 == NETSCAPE2DOT0[block_size])
+        is_iccp = is_iccp and (c8 == ICCRGBG1012[block_size])
+        is_xmp = is_xmp and (c8 == XMPDATAXMP[block_size])
         block_size += 1
     } endwhile
 
@@ -721,8 +721,8 @@
             args.src.skip_u32?(n: block_size as base.u32)
             break.goto_done
         }
-        c = args.src.read_u8?()
-        if c <> 0x01 {
+        c8 = args.src.read_u8?()
+        if c8 <> 0x01 {
             args.src.skip_u32?(n: 2)
             break.goto_done
         }
@@ -767,12 +767,12 @@
 
 // decode_gc reads a Graphic Control.
 pri func decoder.decode_gc?(src: base.io_reader) {
-    var c                        : base.u8
+    var c8                       : base.u8
     var flags                    : base.u8
     var gc_duration_centiseconds : base.u16
 
-    c = args.src.read_u8?()
-    if c <> 4 {
+    c8 = args.src.read_u8?()
+    if c8 <> 4 {
         return "#bad graphic control"
     }
 
@@ -799,8 +799,8 @@
     this.gc_duration = (gc_duration_centiseconds as base.u64) * 7_056000
     this.gc_transparent_index = args.src.read_u8?()
 
-    c = args.src.read_u8?()
-    if c <> 0 {
+    c8 = args.src.read_u8?()
+    if c8 <> 0 {
         return "#bad graphic control"
     }
 }
diff --git a/std/gzip/decode_gzip.wuffs b/std/gzip/decode_gzip.wuffs
index c23a946..98a1f83 100644
--- a/std/gzip/decode_gzip.wuffs
+++ b/std/gzip/decode_gzip.wuffs
@@ -69,7 +69,7 @@
 }
 
 pri func decoder.do_transform_io?(dst: base.io_writer, src: base.io_reader, workbuf: slice base.u8) {
-    var c                   : base.u8
+    var c8                  : base.u8
     var flags               : base.u8
     var xlen                : base.u16
     var mark                : base.u64
@@ -80,16 +80,16 @@
     var decoded_length_want : base.u32
 
     // Read the header.
-    c = args.src.read_u8?()
-    if c <> 0x1F {
+    c8 = args.src.read_u8?()
+    if c8 <> 0x1F {
         return "#bad header"
     }
-    c = args.src.read_u8?()
-    if c <> 0x8B {
+    c8 = args.src.read_u8?()
+    if c8 <> 0x8B {
         return "#bad header"
     }
-    c = args.src.read_u8?()
-    if c <> 0x08 {
+    c8 = args.src.read_u8?()
+    if c8 <> 0x08 {
         return "#bad compression method"
     }
     flags = args.src.read_u8?()
@@ -109,8 +109,8 @@
     // filename length to NAME_MAX, which is 255.
     if (flags & 0x08) <> 0 {
         while true {
-            c = args.src.read_u8?()
-            if c == 0 {
+            c8 = args.src.read_u8?()
+            if c8 == 0 {
                 break
             }
         } endwhile
@@ -119,8 +119,8 @@
     // Handle FCOMMENT.
     if (flags & 0x10) <> 0 {
         while true {
-            c = args.src.read_u8?()
-            if c == 0 {
+            c8 = args.src.read_u8?()
+            if c8 == 0 {
                 break
             }
         } endwhile
diff --git a/std/jpeg/decode_jpeg.wuffs b/std/jpeg/decode_jpeg.wuffs
index 7cbd954..f1bbac8 100644
--- a/std/jpeg/decode_jpeg.wuffs
+++ b/std/jpeg/decode_jpeg.wuffs
@@ -346,7 +346,7 @@
 }
 
 pri func decoder.do_decode_image_config?(dst: nptr base.image_config, src: base.io_reader) {
-    var c      : base.u8
+    var c8     : base.u8
     var marker : base.u8
     var pixfmt : base.u32
 
@@ -354,12 +354,12 @@
         return base."#bad call sequence"
     }
 
-    c = args.src.read_u8?()
-    if c <> 0xFF {
+    c8 = args.src.read_u8?()
+    if c8 <> 0xFF {
         return "#bad header"
     }
-    c = args.src.read_u8?()
-    if c <> 0xD8 {  // SOI (Start Of Image).
+    c8 = args.src.read_u8?()
+    if c8 <> 0xD8 {  // SOI (Start Of Image).
         return "#bad header"
     }
 
@@ -367,17 +367,17 @@
     while true {
         // Read the marker (a two-byte 0xFF 0x?? sequence).
         while true {
-            c = args.src.read_u8?()
-            if c == 0xFF {
+            c8 = args.src.read_u8?()
+            if c8 == 0xFF {
                 break
             }
             // Getting here is invalid according to the JPEG spec, but libjpeg
             // treats this as a warning (JWRN_EXTRANEOUS_DATA), not an error.
         } endwhile
         while true {
-            c = args.src.read_u8?()
-            if c <> 0xFF {
-                marker = c
+            c8 = args.src.read_u8?()
+            if c8 <> 0xFF {
+                marker = c8
                 break
             }
             // Section B.1.1.2: "Any marker may optionally be preceded by any
@@ -500,20 +500,20 @@
 }
 
 pri func decoder.decode_dqt?(src: base.io_reader) {
-    var c : base.u8
-    var q : base.u8[..= 3]
-    var i : base.u32
+    var c8 : base.u8
+    var q  : base.u8[..= 3]
+    var i  : base.u32
 
     while this.payload_length > 0 {
         this.payload_length -= 1
-        c = args.src.read_u8?()
-        if (c & 0x0F) > 3 {
+        c8 = args.src.read_u8?()
+        if (c8 & 0x0F) > 3 {
             return "#bad DQT marker"
         }
-        q = c & 0x0F
-        if (c >> 4) == 1 {
+        q = c8 & 0x0F
+        if (c8 >> 4) == 1 {
             return "#unsupported precision"
-        } else if ((c >> 4) > 1) or (this.payload_length < 64) {
+        } else if ((c8 >> 4) > 1) or (this.payload_length < 64) {
             return "#bad DQT marker"
         }
         this.payload_length -= 64
@@ -603,7 +603,7 @@
 }
 
 pri func decoder.decode_sof?(src: base.io_reader) {
-    var c      : base.u8
+    var c8     : base.u8
     var comp_h : base.u8
     var comp_v : base.u8
     var i      : base.u32
@@ -627,12 +627,12 @@
         return "#bad SOF marker"
     }
     this.payload_length -= 6
-    c = args.src.read_u8?()
-    if c == 8 {
+    c8 = args.src.read_u8?()
+    if c8 == 8 {
         // No-op.
-    } else if c == 12 {
+    } else if c8 == 12 {
         return "#unsupported precision (12 bits)"
-    } else if c == 16 {
+    } else if c8 == 16 {
         return "#unsupported precision (16 bits)"
     } else {
         return "#unsupported precision"
@@ -645,13 +645,13 @@
     if this.width == 0 {
         return base."#unsupported image dimension"
     }
-    c = args.src.read_u8?()
-    if (c == 0) or (c > 4) {
+    c8 = args.src.read_u8?()
+    if (c8 == 0) or (c8 > 4) {
         return "#bad SOF marker"
-    } else if c == 2 {
+    } else if c8 == 2 {
         return "#unsupported color model"
     }
-    this.num_components = c as base.u32
+    this.num_components = c8 as base.u32
     if this.payload_length <> (3 * this.num_components) {
         return "#bad SOF marker"
     }
@@ -661,9 +661,9 @@
     while i < this.num_components {
         assert i < 4 via "a < b: a < c; c <= b"(c: this.num_components)
         this.components_c[i] = args.src.read_u8?()
-        c = args.src.read_u8?()
-        comp_h = c >> 4
-        comp_v = c & 0x0F
+        c8 = args.src.read_u8?()
+        comp_h = c8 >> 4
+        comp_v = c8 & 0x0F
         if (comp_h == 0) or (comp_h > 4) or (comp_v == 0) or (comp_v > 4) {
             return "#bad SOF marker"
         }
@@ -675,11 +675,11 @@
         if this.max_incl_components_v < this.components_v[i] {
             this.max_incl_components_v = this.components_v[i]
         }
-        c = args.src.read_u8?()
-        if c >= 4 {
+        c8 = args.src.read_u8?()
+        if c8 >= 4 {
             return "#bad SOF marker"
         }
-        this.components_tq[i] = c
+        this.components_tq[i] = c8
 
         // Section B.2.2: "the value of C_i shall be different from the values
         // of C_1 through C_(i-1)".
@@ -902,7 +902,7 @@
 pri func decoder.do_decode_frame?(dst: ptr base.pixel_buffer, src: base.io_reader, blend: base.pixel_blend, workbuf: slice base.u8, opts: nptr base.decode_frame_options) {
     var pixfmt : base.u32
     var status : base.status
-    var c      : base.u8
+    var c8     : base.u8
     var marker : base.u8
 
     if this.call_sequence == 0x40 {
@@ -948,17 +948,17 @@
     while true {
         // Read the marker (a two-byte 0xFF 0x?? sequence).
         while true {
-            c = args.src.read_u8?()
-            if c == 0xFF {
+            c8 = args.src.read_u8?()
+            if c8 == 0xFF {
                 break
             }
             // Getting here is invalid according to the JPEG spec, but libjpeg
             // treats this as a warning (JWRN_EXTRANEOUS_DATA), not an error.
         } endwhile
         while true {
-            c = args.src.read_u8?()
-            if c <> 0xFF {
-                marker = c
+            c8 = args.src.read_u8?()
+            if c8 <> 0xFF {
+                marker = c8
                 break
             }
             // Section B.1.1.2: "Any marker may optionally be preceded by any
@@ -1044,7 +1044,7 @@
 }
 
 pri func decoder.decode_dht?(src: base.io_reader) {
-    var c                   : base.u8
+    var c8                  : base.u8
     var tc                  : base.u8[..= 1]
     var th                  : base.u8[..= 3]
     var tc4_th              : base.u8[..= 7]
@@ -1061,12 +1061,12 @@
             return "#bad DHT marker"
         }
         this.payload_length -= 17
-        c = args.src.read_u8?()
-        if ((c >> 4) > 1) or ((c & 0x0F) > 3) {
+        c8 = args.src.read_u8?()
+        if ((c8 >> 4) > 1) or ((c8 & 0x0F) > 3) {
             return "#bad DHT marker"
         }
-        tc = c >> 4
-        th = c & 0x0F
+        tc = c8 >> 4
+        th = c8 & 0x0F
         tc4_th = ((tc * 4) | th) as base.u8
 
         // SOF0 (which is 0xC0) means a baseline JPEG. The baseline (th <= 1)
@@ -1358,7 +1358,7 @@
 }
 
 pri func decoder.prepare_scan?(src: base.io_reader) {
-    var c          : base.u8
+    var c8         : base.u8
     var i          : base.u32
     var j          : base.u32
     var j_max_incl : base.u32[..= 9]
@@ -1367,11 +1367,11 @@
     if (this.payload_length < 6) or (this.payload_length > 12) {
         return "#bad SOS marker"
     }
-    c = args.src.read_u8?()
-    if (c < 1) or (c > 4) {
+    c8 = args.src.read_u8?()
+    if (c8 < 1) or (c8 > 4) {
         return "#bad SOS marker"
     }
-    this.scan_num_components = c as base.u32
+    this.scan_num_components = c8 as base.u32
     if (this.scan_num_components > this.num_components) or
             (this.payload_length <> (4 + (2 * this.scan_num_components))) {
         return "#bad SOS marker"
@@ -1381,7 +1381,7 @@
     i = 0
     while i < this.scan_num_components {
         assert i < 4 via "a < b: a < c; c <= b"(c: this.scan_num_components)
-        c = args.src.read_u8?()
+        c8 = args.src.read_u8?()
 
         j = 0
         while true,
@@ -1391,7 +1391,7 @@
                 return "#bad SOS marker"
             }
             assert j < 4 via "a < b: a < c; c <= b"(c: this.num_components)
-            if c == this.components_c[j] {
+            if c8 == this.components_c[j] {
                 if not this.seen_dqt[this.components_tq[j]] {
                     return "#missing Quantization table"
                 }
@@ -1414,12 +1414,12 @@
             j += 1
         } endwhile
 
-        c = args.src.read_u8?()
-        if ((c >> 4) > 3) or ((c & 0x0F) > 3) {
+        c8 = args.src.read_u8?()
+        if ((c8 >> 4) > 3) or ((c8 & 0x0F) > 3) {
             return "#bad SOS marker"
         }
-        this.scan_comps_td[i] = c >> 4
-        this.scan_comps_ta[i] = c & 0x0F
+        this.scan_comps_td[i] = c8 >> 4
+        this.scan_comps_ta[i] = c8 & 0x0F
         // SOF0 (which is 0xC0) means a baseline JPEG. The baseline (tx <= 1)
         // restriction is specified in table B.5.
         if this.sof_marker == 0xC0 {
@@ -1442,24 +1442,24 @@
         this.scan_al = 0
 
     } else {
-        c = args.src.read_u8?()
-        if c > 63 {
+        c8 = args.src.read_u8?()
+        if c8 > 63 {
             return "#bad SOS marker"
         }
-        this.scan_ss = c
+        this.scan_ss = c8
 
-        c = args.src.read_u8?()
-        if (c > 63) or (c < this.scan_ss) {
+        c8 = args.src.read_u8?()
+        if (c8 > 63) or (c8 < this.scan_ss) {
             return "#bad SOS marker"
         }
-        this.scan_se = c
+        this.scan_se = c8
 
-        c = args.src.read_u8?()
-        if ((c >> 4) > 14) or ((c & 0x0F) > 13) {
+        c8 = args.src.read_u8?()
+        if ((c8 >> 4) > 14) or ((c8 & 0x0F) > 13) {
             return "#bad SOS marker"
         }
-        this.scan_ah = c >> 4
-        this.scan_al = c & 0x0F
+        this.scan_ah = c8 >> 4
+        this.scan_al = c8 & 0x0F
         if this.scan_ah > 0 {
             if (this.scan_ah - 1) <> this.scan_al {
                 return "#bad SOS marker"
@@ -1638,7 +1638,7 @@
 
 pri func decoder.fill_bitstream!(src: base.io_reader) {
     var wi     : base.u32[..= 0x800]
-    var c      : base.u8
+    var c8     : base.u8
     var new_wi : base.u32[..= 0x800]
 
     // Compact unread bytes to the start of the buffer.
@@ -1657,9 +1657,9 @@
 
     wi = this.bitstream_wi
     while (wi < 0x800) and (args.src.length() > 0) {
-        c = args.src.peek_u8()
-        if c < 0xFF {
-            this.bitstream_buffer[wi] = c
+        c8 = args.src.peek_u8()
+        if c8 < 0xFF {
+            this.bitstream_buffer[wi] = c8
             wi += 1
             args.src.skip_u32_fast!(actual: 1, worst_case: 1)
             continue
@@ -1772,7 +1772,7 @@
 }
 
 pri func decoder.skip_past_the_next_restart_marker?(src: base.io_reader) {
-    var c : base.u8
+    var c8 : base.u8
 
     while true {
         if args.src.length() < 2 {
@@ -1783,24 +1783,24 @@
             continue
         }
 
-        c = (args.src.peek_u16le() >> 8) as base.u8
-        if c < 0xC0 {
+        c8 = (args.src.peek_u16le() >> 8) as base.u8
+        if c8 < 0xC0 {
             // Either a reserved marker or "\xFF\x00" byte stuffing. Consume it
             // and continue.
             args.src.skip_u32_fast!(actual: 2, worst_case: 2)
             continue
-        } else if (c < 0xD0) or (0xD7 < c) {
+        } else if (c8 < 0xD0) or (0xD7 < c8) {
             // Not an RSTn (Restart) marker. Leave it and break.
             break
         }
 
-        c &= 7
-        if (this.next_restart_marker == ((c + 1) & 7)) or
-                (this.next_restart_marker == ((c + 2) & 7)) {
+        c8 &= 7
+        if (this.next_restart_marker == ((c8 + 1) & 7)) or
+                (this.next_restart_marker == ((c8 + 2) & 7)) {
             // A leading RSTn marker. Leave it and break.
             break
-        } else if (this.next_restart_marker == ((c + 7) & 7)) or
-                (this.next_restart_marker == ((c + 6) & 7)) {
+        } else if (this.next_restart_marker == ((c8 + 7) & 7)) or
+                (this.next_restart_marker == ((c8 + 6) & 7)) {
             // A lagging RSTn marker. Consume it and continue.
             args.src.skip_u32_fast!(actual: 2, worst_case: 2)
             continue
diff --git a/std/json/decode_json.wuffs b/std/json/decode_json.wuffs
index 2ce565b..8237345 100644
--- a/std/json/decode_json.wuffs
+++ b/std/json/decode_json.wuffs
@@ -103,8 +103,8 @@
     var stack_byte        : base.u32[..= (1024 / 32) - 1]
     var stack_bit         : base.u32[..= 31]
     var match             : base.u32[..= 2]
-    var c4                : base.u32
-    var c                 : base.u8
+    var c32               : base.u32
+    var c8                : base.u8
     var backslash         : base.u8
     var char              : base.u8
     var class             : base.u8[..= 0x0F]
@@ -160,7 +160,7 @@
 
         // Consume whitespace.
         whitespace_length = 0
-        c = 0
+        c8 = 0
         class = 0
         while.ws true,
                 inv args.dst.length() > 0,
@@ -182,8 +182,8 @@
                 continue.outer
             }
 
-            c = args.src.peek_u8()
-            class = LUT_CLASSES[c]
+            c8 = args.src.peek_u8()
+            class = LUT_CLASSES[c8]
             if class <> CLASS_WHITESPACE {
                 break.ws
             }
@@ -275,11 +275,11 @@
                             inv args.dst.length() > 0,
                             inv args.src.length() > 0,
                     {
-                        c4 = args.src.peek_u32le()
-                        if 0x00 <> (LUT_CHARS[0xFF & (c4 >> 0)] |
-                                LUT_CHARS[0xFF & (c4 >> 8)] |
-                                LUT_CHARS[0xFF & (c4 >> 16)] |
-                                LUT_CHARS[0xFF & (c4 >> 24)]) {
+                        c32 = args.src.peek_u32le()
+                        if 0x00 <> (LUT_CHARS[0xFF & (c32 >> 0)] |
+                                LUT_CHARS[0xFF & (c32 >> 8)] |
+                                LUT_CHARS[0xFF & (c32 >> 16)] |
+                                LUT_CHARS[0xFF & (c32 >> 24)]) {
                             break
                         }
                         args.src.skip_u32_fast!(actual: 4, worst_case: 4)
@@ -298,8 +298,8 @@
                         string_length += 4
                     } endwhile
 
-                    c = args.src.peek_u8()
-                    char = LUT_CHARS[c]
+                    c8 = args.src.peek_u8()
+                    char = LUT_CHARS[c8]
 
                     if char == 0x00 {  // Non-special ASCII.
                         args.src.skip_u32_fast!(actual: 1, worst_case: 1)
@@ -356,8 +356,8 @@
                             yield? base."$short read"
                             continue.string_loop_outer
                         }
-                        c = (args.src.peek_u16le() >> 8) as base.u8
-                        backslash = LUT_BACKSLASHES[c]
+                        c8 = (args.src.peek_u16le() >> 8) as base.u8
+                        backslash = LUT_BACKSLASHES[c8]
                         if (backslash & 0x80) <> 0 {
                             args.src.skip_u32_fast!(actual: 2, worst_case: 2)
                             args.dst.write_simple_token_fast!(
@@ -380,7 +380,7 @@
                                 continue.string_loop_outer
                             }
 
-                        } else if c == 'u' {
+                        } else if c8 == 'u' {
                             // -------- BEGIN backslash-u.
                             if args.src.length() < 6 {
                                 if args.src.is_closed() {
@@ -394,18 +394,18 @@
                             uni4_value = 0
                             uni4_ok = 0x80
 
-                            c = LUT_HEXADECIMAL_DIGITS[0xFF & (uni4_string >> 0)]
-                            uni4_ok &= c
-                            uni4_value |= ((c & 0x0F) as base.u32) << 12
-                            c = LUT_HEXADECIMAL_DIGITS[0xFF & (uni4_string >> 8)]
-                            uni4_ok &= c
-                            uni4_value |= ((c & 0x0F) as base.u32) << 8
-                            c = LUT_HEXADECIMAL_DIGITS[0xFF & (uni4_string >> 16)]
-                            uni4_ok &= c
-                            uni4_value |= ((c & 0x0F) as base.u32) << 4
-                            c = LUT_HEXADECIMAL_DIGITS[0xFF & (uni4_string >> 24)]
-                            uni4_ok &= c
-                            uni4_value |= ((c & 0x0F) as base.u32) << 0
+                            c8 = LUT_HEXADECIMAL_DIGITS[0xFF & (uni4_string >> 0)]
+                            uni4_ok &= c8
+                            uni4_value |= ((c8 & 0x0F) as base.u32) << 12
+                            c8 = LUT_HEXADECIMAL_DIGITS[0xFF & (uni4_string >> 8)]
+                            uni4_ok &= c8
+                            uni4_value |= ((c8 & 0x0F) as base.u32) << 8
+                            c8 = LUT_HEXADECIMAL_DIGITS[0xFF & (uni4_string >> 16)]
+                            uni4_ok &= c8
+                            uni4_value |= ((c8 & 0x0F) as base.u32) << 4
+                            c8 = LUT_HEXADECIMAL_DIGITS[0xFF & (uni4_string >> 24)]
+                            uni4_ok &= c8
+                            uni4_value |= ((c8 & 0x0F) as base.u32) << 0
 
                             if uni4_ok == 0 {
                                 // It wasn't 4 hexadecimal digits. No-op (and
@@ -464,18 +464,18 @@
                                     uni4_ok = 0x80
                                     uni4_string >>= 16
 
-                                    c = LUT_HEXADECIMAL_DIGITS[0xFF & (uni4_string >> 0)]
-                                    uni4_ok &= c
-                                    uni4_value |= ((c & 0x0F) as base.u32) << 12
-                                    c = LUT_HEXADECIMAL_DIGITS[0xFF & (uni4_string >> 8)]
-                                    uni4_ok &= c
-                                    uni4_value |= ((c & 0x0F) as base.u32) << 8
-                                    c = LUT_HEXADECIMAL_DIGITS[0xFF & (uni4_string >> 16)]
-                                    uni4_ok &= c
-                                    uni4_value |= ((c & 0x0F) as base.u32) << 4
-                                    c = LUT_HEXADECIMAL_DIGITS[0xFF & (uni4_string >> 24)]
-                                    uni4_ok &= c
-                                    uni4_value |= ((c & 0x0F) as base.u32) << 0
+                                    c8 = LUT_HEXADECIMAL_DIGITS[0xFF & (uni4_string >> 0)]
+                                    uni4_ok &= c8
+                                    uni4_value |= ((c8 & 0x0F) as base.u32) << 12
+                                    c8 = LUT_HEXADECIMAL_DIGITS[0xFF & (uni4_string >> 8)]
+                                    uni4_ok &= c8
+                                    uni4_value |= ((c8 & 0x0F) as base.u32) << 8
+                                    c8 = LUT_HEXADECIMAL_DIGITS[0xFF & (uni4_string >> 16)]
+                                    uni4_ok &= c8
+                                    uni4_value |= ((c8 & 0x0F) as base.u32) << 4
+                                    c8 = LUT_HEXADECIMAL_DIGITS[0xFF & (uni4_string >> 24)]
+                                    uni4_ok &= c8
+                                    uni4_value |= ((c8 & 0x0F) as base.u32) << 0
                                 }
 
                                 if (uni4_ok <> 0) and
@@ -510,7 +510,7 @@
                             }
                             // -------- END   backslash-u.
 
-                        } else if (c == 'U') and
+                        } else if (c8 == 'U') and
                                 this.quirks[QUIRK_ALLOW_BACKSLASH_CAPITAL_U - QUIRKS_BASE] {
                             // -------- BEGIN backslash-capital-u.
                             if args.src.length() < 10 {
@@ -524,30 +524,30 @@
                             uni8_value = 0
                             uni8_ok = 0x80
 
-                            c = LUT_HEXADECIMAL_DIGITS[0xFF & (uni8_string >> 0)]
-                            uni8_ok &= c
-                            uni8_value |= ((c & 0x0F) as base.u32) << 28
-                            c = LUT_HEXADECIMAL_DIGITS[0xFF & (uni8_string >> 8)]
-                            uni8_ok &= c
-                            uni8_value |= ((c & 0x0F) as base.u32) << 24
-                            c = LUT_HEXADECIMAL_DIGITS[0xFF & (uni8_string >> 16)]
-                            uni8_ok &= c
-                            uni8_value |= ((c & 0x0F) as base.u32) << 20
-                            c = LUT_HEXADECIMAL_DIGITS[0xFF & (uni8_string >> 24)]
-                            uni8_ok &= c
-                            uni8_value |= ((c & 0x0F) as base.u32) << 16
-                            c = LUT_HEXADECIMAL_DIGITS[0xFF & (uni8_string >> 32)]
-                            uni8_ok &= c
-                            uni8_value |= ((c & 0x0F) as base.u32) << 12
-                            c = LUT_HEXADECIMAL_DIGITS[0xFF & (uni8_string >> 40)]
-                            uni8_ok &= c
-                            uni8_value |= ((c & 0x0F) as base.u32) << 8
-                            c = LUT_HEXADECIMAL_DIGITS[0xFF & (uni8_string >> 48)]
-                            uni8_ok &= c
-                            uni8_value |= ((c & 0x0F) as base.u32) << 4
-                            c = LUT_HEXADECIMAL_DIGITS[0xFF & (uni8_string >> 56)]
-                            uni8_ok &= c
-                            uni8_value |= ((c & 0x0F) as base.u32) << 0
+                            c8 = LUT_HEXADECIMAL_DIGITS[0xFF & (uni8_string >> 0)]
+                            uni8_ok &= c8
+                            uni8_value |= ((c8 & 0x0F) as base.u32) << 28
+                            c8 = LUT_HEXADECIMAL_DIGITS[0xFF & (uni8_string >> 8)]
+                            uni8_ok &= c8
+                            uni8_value |= ((c8 & 0x0F) as base.u32) << 24
+                            c8 = LUT_HEXADECIMAL_DIGITS[0xFF & (uni8_string >> 16)]
+                            uni8_ok &= c8
+                            uni8_value |= ((c8 & 0x0F) as base.u32) << 20
+                            c8 = LUT_HEXADECIMAL_DIGITS[0xFF & (uni8_string >> 24)]
+                            uni8_ok &= c8
+                            uni8_value |= ((c8 & 0x0F) as base.u32) << 16
+                            c8 = LUT_HEXADECIMAL_DIGITS[0xFF & (uni8_string >> 32)]
+                            uni8_ok &= c8
+                            uni8_value |= ((c8 & 0x0F) as base.u32) << 12
+                            c8 = LUT_HEXADECIMAL_DIGITS[0xFF & (uni8_string >> 40)]
+                            uni8_ok &= c8
+                            uni8_value |= ((c8 & 0x0F) as base.u32) << 8
+                            c8 = LUT_HEXADECIMAL_DIGITS[0xFF & (uni8_string >> 48)]
+                            uni8_ok &= c8
+                            uni8_value |= ((c8 & 0x0F) as base.u32) << 4
+                            c8 = LUT_HEXADECIMAL_DIGITS[0xFF & (uni8_string >> 56)]
+                            uni8_ok &= c8
+                            uni8_value |= ((c8 & 0x0F) as base.u32) << 0
 
                             if uni8_ok == 0 {
                                 // It wasn't 8 hexadecimal digits. No-op (and
@@ -576,7 +576,7 @@
                             }
                             // -------- END   backslash-capital-u.
 
-                        } else if (c == 'x') and
+                        } else if (c8 == 'x') and
                                 this.quirks[QUIRK_ALLOW_BACKSLASH_X_AS_CODE_POINTS - QUIRKS_BASE] {
                             // -------- BEGIN backslash-x
                             if args.src.length() < 4 {
@@ -590,12 +590,12 @@
                             backslash_x_string = args.src.peek_u32le()
                             backslash_x_ok = 0x80
 
-                            c = LUT_HEXADECIMAL_DIGITS[0xFF & (backslash_x_string >> 16)]
-                            backslash_x_ok &= c
-                            backslash_x_value = ((c & 0x0F) << 4) as base.u8
-                            c = LUT_HEXADECIMAL_DIGITS[0xFF & (backslash_x_string >> 24)]
-                            backslash_x_ok &= c
-                            backslash_x_value = (backslash_x_value | (c & 0x0F)) as base.u8
+                            c8 = LUT_HEXADECIMAL_DIGITS[0xFF & (backslash_x_string >> 16)]
+                            backslash_x_ok &= c8
+                            backslash_x_value = ((c8 & 0x0F) << 4) as base.u8
+                            c8 = LUT_HEXADECIMAL_DIGITS[0xFF & (backslash_x_string >> 24)]
+                            backslash_x_ok &= c8
+                            backslash_x_value = (backslash_x_value | (c8 & 0x0F)) as base.u8
 
                             if (backslash_x_ok == 0) or
                                     ((backslash_x_string & 0xFFFF) <> 0x785C) {
@@ -1204,7 +1204,7 @@
 }
 
 pri func decoder.decode_number!(src: base.io_reader) base.u32[..= 0x3FF] {
-    var c              : base.u8
+    var c8             : base.u8
     var n              : base.u32[..= 0x3FF]
     var floating_point : base.u32[..= 0x80]
 
@@ -1218,10 +1218,10 @@
         }
         break.goto_done
     }
-    c = args.src.peek_u8()
+    c8 = args.src.peek_u8()
 
     // Scan the optional minus sign.
-    if c <> '-' {
+    if c8 <> '-' {
         assert args.src.length() > 0
         assert n <= 1
     } else {
@@ -1236,14 +1236,14 @@
             n |= 0x100  // A '-' without digits is invalid.
             break.goto_done
         }
-        c = args.src.peek_u8()
+        c8 = args.src.peek_u8()
 
         assert args.src.length() > 0
         assert n <= 1
     }
 
     // Scan the opening digits.
-    if c == '0' {
+    if c8 == '0' {
         n += 1
         args.src.skip_u32_fast!(actual: 1, worst_case: 1)
         assert n <= 99
@@ -1262,10 +1262,10 @@
         }
         break.goto_done
     }
-    c = args.src.peek_u8()
+    c8 = args.src.peek_u8()
 
     // Scan the optional fraction.
-    if c <> '.' {
+    if c8 <> '.' {
         assert args.src.length() > 0
         assert n <= 99
     } else {
@@ -1289,14 +1289,14 @@
             }
             break.goto_done
         }
-        c = args.src.peek_u8()
+        c8 = args.src.peek_u8()
 
         assert args.src.length() > 0
         assert n <= 99
     }
 
     // Scan the optional 'E' or 'e'.
-    if (c <> 'E') and (c <> 'e') {
+    if (c8 <> 'E') and (c8 <> 'e') {
         break.goto_done
     }
     if n >= 99 {
@@ -1316,10 +1316,10 @@
         n |= 0x100  // An 'E' or 'e' without digits is invalid.
         break.goto_done
     }
-    c = args.src.peek_u8()
+    c8 = args.src.peek_u8()
 
     // Scan the optional '+' or '-'.
-    if (c <> '+') and (c <> '-') {
+    if (c8 <> '+') and (c8 <> '-') {
         assert n <= 99
     } else {
         if n >= 99 {
@@ -1341,8 +1341,8 @@
 }
 
 pri func decoder.decode_digits!(src: base.io_reader, n: base.u32[..= 99]) base.u32[..= 0x3FF] {
-    var c : base.u8
-    var n : base.u32[..= 0x3FF]
+    var c8 : base.u8
+    var n  : base.u32[..= 0x3FF]
 
     n = args.n
     while true {
@@ -1352,8 +1352,8 @@
             }
             break
         }
-        c = args.src.peek_u8()
-        if 0x00 == LUT_DECIMAL_DIGITS[c] {
+        c8 = args.src.peek_u8()
+        if 0x00 == LUT_DECIMAL_DIGITS[c8] {
             break
         }
         // Cap DECODER_NUMBER_LENGTH_MAX_INCL at an arbitrary value, 99. The
@@ -1379,8 +1379,8 @@
 }
 
 pri func decoder.decode_leading?(dst: base.token_writer, src: base.io_reader) {
-    var c : base.u8
-    var u : base.u32
+    var c8 : base.u8
+    var u  : base.u32
 
     this.allow_leading_ars =
             this.quirks[QUIRK_ALLOW_LEADING_ASCII_RECORD_SEPARATOR - QUIRKS_BASE]
@@ -1399,14 +1399,14 @@
             yield? base."$short read"
             continue
         }
-        c = args.src.peek_u8()
-        if (c == 0x1E) and this.allow_leading_ars {
+        c8 = args.src.peek_u8()
+        if (c8 == 0x1E) and this.allow_leading_ars {
             this.allow_leading_ars = false
             args.src.skip_u32_fast!(actual: 1, worst_case: 1)
             args.dst.write_simple_token_fast!(
                     value_major: 0, value_minor: 0, continued: 0, length: 1)
             continue
-        } else if (c == 0xEF) and this.allow_leading_ubom {
+        } else if (c8 == 0xEF) and this.allow_leading_ubom {
             if args.src.length() < 3 {
                 if args.src.is_closed() {
                     break
@@ -1428,8 +1428,8 @@
 }
 
 pri func decoder.decode_comment?(dst: base.token_writer, src: base.io_reader) {
-    var c      : base.u8
-    var c2     : base.u16
+    var c8     : base.u8
+    var c16    : base.u16
     var length : base.u32[..= 0xFFFD]
 
     this.comment_type = 0
@@ -1447,9 +1447,9 @@
         }
         yield? base."$short read"
     } endwhile
-    c2 = args.src.peek_u16le()
+    c16 = args.src.peek_u16le()
 
-    if (c2 == '/*'le) and this.quirks[QUIRK_ALLOW_COMMENT_BLOCK - QUIRKS_BASE] {
+    if (c16 == '/*'le) and this.quirks[QUIRK_ALLOW_COMMENT_BLOCK - QUIRKS_BASE] {
         args.src.skip_u32_fast!(actual: 2, worst_case: 2)
         length = 2
 
@@ -1478,8 +1478,8 @@
                 continue.comment_block
             }
 
-            c2 = args.src.peek_u16le()
-            if c2 == '*/'le {
+            c16 = args.src.peek_u16le()
+            if c16 == '*/'le {
                 args.src.skip_u32_fast!(actual: 2, worst_case: 2)
                 args.dst.write_simple_token_fast!(
                         value_major: 0,
@@ -1510,7 +1510,7 @@
             length += 1
         } endwhile.comment_block
 
-    } else if (c2 == '//'le) and this.quirks[QUIRK_ALLOW_COMMENT_LINE - QUIRKS_BASE] {
+    } else if (c16 == '//'le) and this.quirks[QUIRK_ALLOW_COMMENT_LINE - QUIRKS_BASE] {
         args.src.skip_u32_fast!(actual: 2, worst_case: 2)
         length = 2
 
@@ -1545,8 +1545,8 @@
                 continue.comment_line
             }
 
-            c = args.src.peek_u8()
-            if c == '\n' {
+            c8 = args.src.peek_u8()
+            if c8 == '\n' {
                 args.dst.write_simple_token_fast!(
                         value_major: 0,
                         value_minor: (base.TOKEN__VBC__FILLER << 21) |
@@ -1579,7 +1579,7 @@
 }
 
 pri func decoder.decode_inf_nan?(dst: base.token_writer, src: base.io_reader) {
-    var c4  : base.u32
+    var c32 : base.u32
     var neg : base.u32[..= 1]
 
     while true {
@@ -1597,8 +1597,8 @@
 
         // Bitwise or'ing with 0x20 converts upper case ASCII to lower case.
 
-        c4 = args.src.peek_u24le_as_u32()
-        if (c4 | 0x20_2020) == 'inf'le {
+        c32 = args.src.peek_u24le_as_u32()
+        if (c32 | 0x20_2020) == 'inf'le {
             if args.src.length() > 7 {
                 if (args.src.peek_u64le() | 0x2020_2020_2020_2020) == 'infinity'le {
                     args.dst.write_simple_token_fast!(
@@ -1623,7 +1623,7 @@
             args.src.skip_u32_fast!(actual: 3, worst_case: 3)
             return ok
 
-        } else if (c4 | 0x20_2020) == 'nan'le {
+        } else if (c32 | 0x20_2020) == 'nan'le {
             args.dst.write_simple_token_fast!(
                     value_major: 0,
                     value_minor: (base.TOKEN__VBC__NUMBER << 21) |
@@ -1632,9 +1632,9 @@
                     length: 3)
             args.src.skip_u32_fast!(actual: 3, worst_case: 3)
             return ok
-        } else if (c4 & 0xFF) == '+' {
+        } else if (c32 & 0xFF) == '+' {
             neg = 0
-        } else if (c4 & 0xFF) == '-' {
+        } else if (c32 & 0xFF) == '-' {
             neg = 1
         } else {
             return "#bad input"
@@ -1648,8 +1648,8 @@
             continue
         }
 
-        c4 = args.src.peek_u32le() >> 8
-        if (c4 | 0x20_2020) == 'inf'le {
+        c32 = args.src.peek_u32le() >> 8
+        if (c32 | 0x20_2020) == 'inf'le {
             if args.src.length() > 8 {
                 if (args.src.peek_u64le_at(offset: 1) | 0x2020_2020_2020_2020) == 'infinity'le {
                     args.dst.write_simple_token_fast!(
@@ -1674,7 +1674,7 @@
             args.src.skip_u32_fast!(actual: 4, worst_case: 4)
             return ok
 
-        } else if (c4 | 0x20_2020) == 'nan'le {
+        } else if (c32 | 0x20_2020) == 'nan'le {
             args.dst.write_simple_token_fast!(
                     value_major: 0,
                     value_minor: (base.TOKEN__VBC__NUMBER << 21) |
@@ -1690,7 +1690,7 @@
 }
 
 pri func decoder.decode_trailer?(dst: base.token_writer, src: base.io_reader) {
-    var c                 : base.u8
+    var c8                : base.u8
     var whitespace_length : base.u32[..= 0xFFFE]
 
     if this.quirks[QUIRK_EXPECT_TRAILING_NEW_LINE_OR_EOF - QUIRKS_BASE] {
@@ -1721,8 +1721,8 @@
                 continue.outer
             }
 
-            c = args.src.peek_u8()
-            if LUT_CLASSES[c] <> CLASS_WHITESPACE {
+            c8 = args.src.peek_u8()
+            if LUT_CLASSES[c8] <> CLASS_WHITESPACE {
                 if whitespace_length > 0 {
                     args.dst.write_simple_token_fast!(
                             value_major: 0, value_minor: 0, continued: 0, length: whitespace_length)
@@ -1738,10 +1738,10 @@
             }
 
             args.src.skip_u32_fast!(actual: 1, worst_case: 1)
-            if (whitespace_length >= 0xFFFE) or (c == this.trailer_stop) {
+            if (whitespace_length >= 0xFFFE) or (c8 == this.trailer_stop) {
                 args.dst.write_simple_token_fast!(
                         value_major: 0, value_minor: 0, continued: 0, length: whitespace_length + 1)
-                if c == this.trailer_stop {
+                if c8 == this.trailer_stop {
                     return ok
                 }
                 continue.outer
diff --git a/std/netpbm/decode_netpbm.wuffs b/std/netpbm/decode_netpbm.wuffs
index 0120a2d..3a92226 100644
--- a/std/netpbm/decode_netpbm.wuffs
+++ b/std/netpbm/decode_netpbm.wuffs
@@ -57,62 +57,62 @@
 }
 
 pri func decoder.do_decode_image_config?(dst: nptr base.image_config, src: base.io_reader) {
-    var c : base.u8
-    var n : base.u32
+    var c8 : base.u8
+    var n  : base.u32
 
     if this.call_sequence <> 0x00 {
         return base."#bad call sequence"
     }
 
-    c = args.src.read_u8?()
-    if c <> 'P' {
+    c8 = args.src.read_u8?()
+    if c8 <> 'P' {
         return "#bad header"
     }
 
-    c = args.src.read_u8?()
-    if (c < '1') or ('7' < c) {
+    c8 = args.src.read_u8?()
+    if (c8 < '1') or ('7' < c8) {
         return "#bad header"
-    } else if c == '5' {
+    } else if c8 == '5' {
         this.pixfmt = base.PIXEL_FORMAT__Y
-    } else if c == '6' {
+    } else if c8 == '6' {
         this.pixfmt = base.PIXEL_FORMAT__RGB
     } else {
         return "#unsupported Netpbm file"
     }
 
-    c = args.src.read_u8?()
-    if c <> 0x0A {
+    c8 = args.src.read_u8?()
+    if c8 <> 0x0A {
         return "#bad header"
     }
 
     // Decode width.
     while true {
-        c = args.src.read_u8?()
-        if (c == ' ') or (c == 0x09) {
+        c8 = args.src.read_u8?()
+        if (c8 == ' ') or (c8 == 0x09) {
             continue
-        } else if c == '#' {
+        } else if c8 == '#' {
             // Consume a "#...\n" comment.
             while true {
-                c = args.src.read_u8?()
-                if c == 0x0A {
+                c8 = args.src.read_u8?()
+                if c8 == 0x0A {
                     break
                 }
             } endwhile
             continue
-        } else if (c < '0') or ('9' < c) {
+        } else if (c8 < '0') or ('9' < c8) {
             return "#bad header"
         }
-        this.width = ((c - '0') as base.u32)
+        this.width = ((c8 - '0') as base.u32)
         break
     } endwhile
     while true {
-        c = args.src.read_u8?()
-        if (c == ' ') or (c == 0x09) {
+        c8 = args.src.read_u8?()
+        if (c8 == ' ') or (c8 == 0x09) {
             break
-        } else if (c < '0') or ('9' < c) {
+        } else if (c8 < '0') or ('9' < c8) {
             return "#bad header"
         }
-        n = (10 * this.width) + ((c - '0') as base.u32)
+        n = (10 * this.width) + ((c8 - '0') as base.u32)
         if n > 0xFF_FFFF {
             return "#unsupported Netpbm file"
         }
@@ -121,34 +121,34 @@
 
     // Decode height.
     while true {
-        c = args.src.read_u8?()
-        if (c == ' ') or (c == 0x09) {
+        c8 = args.src.read_u8?()
+        if (c8 == ' ') or (c8 == 0x09) {
             continue
-        } else if c == '#' {
+        } else if c8 == '#' {
             // Consume a "#...\n" comment.
             while true {
-                c = args.src.read_u8?()
-                if c == 0x0A {
+                c8 = args.src.read_u8?()
+                if c8 == 0x0A {
                     break
                 }
             } endwhile
             continue
-        } else if (c < '0') or ('9' < c) {
+        } else if (c8 < '0') or ('9' < c8) {
             return "#bad header"
         }
-        this.height = ((c - '0') as base.u32)
+        this.height = ((c8 - '0') as base.u32)
         break
     } endwhile
     while true {
-        c = args.src.read_u8?()
-        if (c == ' ') or (c == 0x09) or (c == 0x0D) {
+        c8 = args.src.read_u8?()
+        if (c8 == ' ') or (c8 == 0x09) or (c8 == 0x0D) {
             continue
-        } else if c == 0x0A {
+        } else if c8 == 0x0A {
             break
-        } else if (c < '0') or ('9' < c) {
+        } else if (c8 < '0') or ('9' < c8) {
             return "#bad header"
         }
-        n = (10 * this.height) + ((c - '0') as base.u32)
+        n = (10 * this.height) + ((c8 - '0') as base.u32)
         if n > 0xFF_FFFF {
             return "#unsupported Netpbm file"
         }
@@ -157,34 +157,34 @@
 
     // Decode max_value.
     while true {
-        c = args.src.read_u8?()
-        if (c == ' ') or (c == 0x09) {
+        c8 = args.src.read_u8?()
+        if (c8 == ' ') or (c8 == 0x09) {
             continue
-        } else if c == '#' {
+        } else if c8 == '#' {
             // Consume a "#...\n" comment.
             while true {
-                c = args.src.read_u8?()
-                if c == 0x0A {
+                c8 = args.src.read_u8?()
+                if c8 == 0x0A {
                     break
                 }
             } endwhile
             continue
-        } else if (c < '0') or ('9' < c) {
+        } else if (c8 < '0') or ('9' < c8) {
             return "#bad header"
         }
-        this.max_value = ((c - '0') as base.u32)
+        this.max_value = ((c8 - '0') as base.u32)
         break
     } endwhile
     while true {
-        c = args.src.read_u8?()
-        if (c == ' ') or (c == 0x09) or (c == 0x0D) {
+        c8 = args.src.read_u8?()
+        if (c8 == ' ') or (c8 == 0x09) or (c8 == 0x0D) {
             continue
-        } else if c == 0x0A {
+        } else if c8 == 0x0A {
             break
-        } else if (c < '0') or ('9' < c) {
+        } else if (c8 < '0') or ('9' < c8) {
             return "#bad header"
         }
-        n = (10 * this.max_value) + ((c - '0') as base.u32)
+        n = (10 * this.max_value) + ((c8 - '0') as base.u32)
         if n > 0xFF_FFFF {
             return "#unsupported Netpbm file"
         }
diff --git a/std/png/decode_png.wuffs b/std/png/decode_png.wuffs
index 5c9b846..5493210 100644
--- a/std/png/decode_png.wuffs
+++ b/std/png/decode_png.wuffs
@@ -790,7 +790,7 @@
 }
 
 pri func decoder.decode_iccp?(src: base.io_reader) {
-    var c : base.u8
+    var c8 : base.u8
 
     // Skip the NUL-terminated color profile name.
     while true {
@@ -798,8 +798,8 @@
             return "#bad chunk"
         }
         this.chunk_length -= 1
-        c = args.src.read_u8?()
-        if c == 0 {
+        c8 = args.src.read_u8?()
+        if c8 == 0 {
             break
         }
     } endwhile
@@ -809,8 +809,8 @@
         return "#bad chunk"
     }
     this.chunk_length -= 1
-    c = args.src.read_u8?()
-    if c <> 0 {
+    c8 = args.src.read_u8?()
+    if c8 <> 0 {
         return "#unsupported PNG compression method"
     }
 
@@ -1426,8 +1426,8 @@
 }
 
 pri func decoder.do_tell_me_more?(dst: base.io_writer, minfo: nptr base.more_information, src: base.io_reader) {
-    var c           : base.u8
-    var c2          : base.u16
+    var c8          : base.u8
+    var c16         : base.u16
     var w           : base.io_writer
     var num_written : base.u64
     var w_mark      : base.u64
@@ -1548,23 +1548,23 @@
                 // Drain this.dst_palette, converting from Latin-1 to UTF-8.
                 while this.ztxt_ri < this.ztxt_wi {
                     assert this.ztxt_ri < 1024 via "a < b: a < c; c <= b"(c: this.ztxt_wi)
-                    c2 = LATIN_1[this.dst_palette[this.ztxt_ri]]
-                    if c2 == 0 {
+                    c16 = LATIN_1[this.dst_palette[this.ztxt_ri]]
+                    if c16 == 0 {
                         return "#bad text chunk (not Latin-1)"
-                    } else if c2 <= 0x7F {
+                    } else if c16 <= 0x7F {
                         if args.dst.length() <= 0 {
                             yield? base."$short write"
                             continue.loop
                         }
                         this.ztxt_ri += 1
-                        args.dst.write_u8_fast!(a: c2 as base.u8)
+                        args.dst.write_u8_fast!(a: c16 as base.u8)
                     } else {
                         if args.dst.length() <= 1 {
                             yield? base."$short write"
                             continue.loop
                         }
                         this.ztxt_ri += 1
-                        args.dst.write_u16le_fast!(a: c2)
+                        args.dst.write_u16le_fast!(a: c16)
                     }
                 } endwhile
 
@@ -1596,9 +1596,9 @@
                     continue.loop
                 }
                 this.chunk_length -= 1
-                c = args.src.peek_u8()
+                c8 = args.src.peek_u8()
                 args.src.skip_u32_fast!(actual: 1, worst_case: 1)
-                args.dst.write_u8_fast!(a: c)
+                args.dst.write_u8_fast!(a: c8)
             } endwhile
 
         } else {
@@ -1614,23 +1614,23 @@
                     yield? base."$short read"
                     continue.loop
                 }
-                c = args.src.peek_u8()
-                if c == 0 {
+                c8 = args.src.peek_u8()
+                if c8 == 0 {
                     this.chunk_length -= 1
                     args.src.skip_u32_fast!(actual: 1, worst_case: 1)
                     break.loop
                 }
-                c2 = LATIN_1[c]
-                if c2 == 0 {
+                c16 = LATIN_1[c8]
+                if c16 == 0 {
                     return "#bad text chunk (not Latin-1)"
-                } else if c2 <= 0x7F {
+                } else if c16 <= 0x7F {
                     if args.dst.length() <= 0 {
                         yield? base."$short write"
                         continue.loop
                     }
                     this.chunk_length -= 1
                     args.src.skip_u32_fast!(actual: 1, worst_case: 1)
-                    args.dst.write_u8_fast!(a: c2 as base.u8)
+                    args.dst.write_u8_fast!(a: c16 as base.u8)
                 } else {
                     if args.dst.length() <= 1 {
                         yield? base."$short write"
@@ -1638,7 +1638,7 @@
                     }
                     this.chunk_length -= 1
                     args.src.skip_u32_fast!(actual: 1, worst_case: 1)
-                    args.dst.write_u16le_fast!(a: c2)
+                    args.dst.write_u16le_fast!(a: c16)
                 }
             } endwhile
         }
@@ -1653,16 +1653,16 @@
                 return "#bad chunk"
             }
             this.chunk_length -= 2
-            c = args.src.read_u8?()
-            if c == 0 {
+            c8 = args.src.read_u8?()
+            if c8 == 0 {
                 this.metadata_is_zlib_compressed = false
-            } else if c == 1 {
+            } else if c8 == 1 {
                 this.metadata_is_zlib_compressed = true
             } else {
                 return "#bad chunk"
             }
-            c = args.src.read_u8?()
-            if (c <> 0) and this.metadata_is_zlib_compressed {
+            c8 = args.src.read_u8?()
+            if (c8 <> 0) and this.metadata_is_zlib_compressed {
                 return "#unsupported PNG compression method"
             }
 
@@ -1676,8 +1676,8 @@
                         return "#bad chunk"
                     }
                     this.chunk_length -= 1
-                    c = args.src.read_u8?()
-                    if c == 0 {
+                    c8 = args.src.read_u8?()
+                    if c8 == 0 {
                         break
                     }
                 } endwhile
@@ -1689,8 +1689,8 @@
                 return "#bad chunk"
             }
             this.chunk_length -= 1
-            c = args.src.read_u8?()
-            if c <> 0 {
+            c8 = args.src.read_u8?()
+            if c8 <> 0 {
                 return "#unsupported PNG compression method"
             }
             this.metadata_is_zlib_compressed = true
diff --git a/std/tga/decode_tga.wuffs b/std/tga/decode_tga.wuffs
index 28e2f93..050e894 100644
--- a/std/tga/decode_tga.wuffs
+++ b/std/tga/decode_tga.wuffs
@@ -69,9 +69,9 @@
 }
 
 pri func decoder.do_decode_image_config?(dst: nptr base.image_config, src: base.io_reader) {
-    var c  : base.u32
-    var c5 : base.u32[..= 0x1F]
-    var i  : base.u32
+    var c32 : base.u32
+    var c5  : base.u32[..= 0x1F]
+    var i   : base.u32
 
     if this.call_sequence <> 0x00 {
         return base."#bad call sequence"
@@ -190,25 +190,25 @@
         while i < (this.header_color_map_length as base.u32) {
             assert i <= 0xFFFF via "a <= b: a <= c; c <= b"(c: this.header_color_map_length as base.u32)
             if this.header_color_map_entry_size == 0x18 {
-                c = args.src.read_u24le_as_u32?()
-                this.src_palette[((i & 0xFF) * 4) + 0] = ((c >> 0x00) & 0xFF) as base.u8
-                this.src_palette[((i & 0xFF) * 4) + 1] = ((c >> 0x08) & 0xFF) as base.u8
-                this.src_palette[((i & 0xFF) * 4) + 2] = ((c >> 0x10) & 0xFF) as base.u8
+                c32 = args.src.read_u24le_as_u32?()
+                this.src_palette[((i & 0xFF) * 4) + 0] = ((c32 >> 0x00) & 0xFF) as base.u8
+                this.src_palette[((i & 0xFF) * 4) + 1] = ((c32 >> 0x08) & 0xFF) as base.u8
+                this.src_palette[((i & 0xFF) * 4) + 2] = ((c32 >> 0x10) & 0xFF) as base.u8
                 this.src_palette[((i & 0xFF) * 4) + 3] = 0xFF
             } else if this.header_color_map_entry_size == 0x20 {
-                c = args.src.read_u32le?()
-                this.src_palette[((i & 0xFF) * 4) + 0] = ((c >> 0x00) & 0xFF) as base.u8
-                this.src_palette[((i & 0xFF) * 4) + 1] = ((c >> 0x08) & 0xFF) as base.u8
-                this.src_palette[((i & 0xFF) * 4) + 2] = ((c >> 0x10) & 0xFF) as base.u8
-                this.src_palette[((i & 0xFF) * 4) + 3] = ((c >> 0x18) & 0xFF) as base.u8
+                c32 = args.src.read_u32le?()
+                this.src_palette[((i & 0xFF) * 4) + 0] = ((c32 >> 0x00) & 0xFF) as base.u8
+                this.src_palette[((i & 0xFF) * 4) + 1] = ((c32 >> 0x08) & 0xFF) as base.u8
+                this.src_palette[((i & 0xFF) * 4) + 2] = ((c32 >> 0x10) & 0xFF) as base.u8
+                this.src_palette[((i & 0xFF) * 4) + 3] = ((c32 >> 0x18) & 0xFF) as base.u8
             } else {
                 // Expand 15-bit or 16-bit color map entries.
-                c = args.src.read_u16le_as_u32?()
-                c5 = 0x1F & (c >> 0)
+                c32 = args.src.read_u16le_as_u32?()
+                c5 = 0x1F & (c32 >> 0)
                 this.src_palette[((i & 0xFF) * 4) + 0] = ((c5 << 3) | (c5 >> 2)) as base.u8
-                c5 = 0x1F & (c >> 5)
+                c5 = 0x1F & (c32 >> 5)
                 this.src_palette[((i & 0xFF) * 4) + 1] = ((c5 << 3) | (c5 >> 2)) as base.u8
-                c5 = 0x1F & (c >> 10)
+                c5 = 0x1F & (c32 >> 10)
                 this.src_palette[((i & 0xFF) * 4) + 2] = ((c5 << 3) | (c5 >> 2)) as base.u8
                 // TODO: can the alpha value be zero (BGRA5551 not BGRX5551)?
                 this.src_palette[((i & 0xFF) * 4) + 3] = 0xFF
@@ -316,7 +316,7 @@
     var run_length          : base.u32[..= 0xFFFF]
     var num_dst_bytes       : base.u64[..= 0x1F_FFE0]
     var num_src_bytes       : base.u32[..= 0x3_FFFC]
-    var c                   : base.u32
+    var c32                 : base.u32
     var c5                  : base.u32[..= 0x1F]
 
     if this.call_sequence == 0x40 {
@@ -477,13 +477,13 @@
                             yield? base."$short read"
                             continue.resume
                         }
-                        c = args.src.peek_u16le_as_u32()
+                        c32 = args.src.peek_u16le_as_u32()
                         args.src.skip_u32_fast!(actual: 2, worst_case: 2)
-                        c5 = 0x1F & (c >> 0)
+                        c5 = 0x1F & (c32 >> 0)
                         this.scratch[0] = ((c5 << 3) | (c5 >> 2)) as base.u8
-                        c5 = 0x1F & (c >> 5)
+                        c5 = 0x1F & (c32 >> 5)
                         this.scratch[1] = ((c5 << 3) | (c5 >> 2)) as base.u8
-                        c5 = 0x1F & (c >> 10)
+                        c5 = 0x1F & (c32 >> 10)
                         this.scratch[2] = ((c5 << 3) | (c5 >> 2)) as base.u8
                         // TODO: can the alpha value be zero (BGRA5551 not BGRX5551)?
                         this.scratch[3] = 0xFF
@@ -528,13 +528,13 @@
                             }
                             run_length = (args.src.peek_u8_as_u32() & 0x7F) + 1
                             args.src.skip_u32_fast!(actual: 1, worst_case: 1)
-                            c = args.src.peek_u16le_as_u32()
+                            c32 = args.src.peek_u16le_as_u32()
                             args.src.skip_u32_fast!(actual: 2, worst_case: 2)
-                            c5 = 0x1F & (c >> 0)
+                            c5 = 0x1F & (c32 >> 0)
                             this.scratch[0] = ((c5 << 3) | (c5 >> 2)) as base.u8
-                            c5 = 0x1F & (c >> 5)
+                            c5 = 0x1F & (c32 >> 5)
                             this.scratch[1] = ((c5 << 3) | (c5 >> 2)) as base.u8
-                            c5 = 0x1F & (c >> 10)
+                            c5 = 0x1F & (c32 >> 10)
                             this.scratch[2] = ((c5 << 3) | (c5 >> 2)) as base.u8
                             // TODO: can the alpha value be zero (BGRA5551 not BGRX5551)?
                             this.scratch[3] = 0xFF
diff --git a/std/wbmp/decode_wbmp.wuffs b/std/wbmp/decode_wbmp.wuffs
index 75ab8a7..43599e1 100644
--- a/std/wbmp/decode_wbmp.wuffs
+++ b/std/wbmp/decode_wbmp.wuffs
@@ -48,9 +48,9 @@
 }
 
 pri func decoder.do_decode_image_config?(dst: nptr base.image_config, src: base.io_reader) {
-    var c : base.u8
-    var i : base.u32
-    var p : base.u32[..= 0xFF_FFFF]
+    var c8 : base.u8
+    var i  : base.u32
+    var p  : base.u32[..= 0xFF_FFFF]
 
     if this.call_sequence <> 0x00 {
         return base."#bad call sequence"
@@ -59,8 +59,8 @@
     // TypeField, FixHeaderField.
     i = 0
     while i < 2 {
-        c = args.src.read_u8?()
-        if c <> 0 {
+        c8 = args.src.read_u8?()
+        if c8 <> 0 {
             return "#bad header"
         }
         i += 1
@@ -74,9 +74,9 @@
         while true,
                 inv i < 2,
         {
-            c = args.src.read_u8?()
-            p |= (c & 0x7F) as base.u32
-            if (c >> 7) == 0 {
+            c8 = args.src.read_u8?()
+            p |= (c8 & 0x7F) as base.u32
+            if (c8 >> 7) == 0 {
                 break
             } else if p > 0x1_FFFF {
                 return base."#unsupported image dimension"
@@ -176,7 +176,7 @@
     var tab                 : table base.u8
     var dst                 : slice base.u8
     var src                 : array[1] base.u8
-    var c                   : base.u8
+    var c8                  : base.u8
 
     if this.call_sequence == 0x40 {
         // No-op.
@@ -232,20 +232,20 @@
                             dst = dst[dst_x_in_bytes ..]
                         }
                     } endwhile
-                    c = args.src.peek_u8()
+                    c8 = args.src.peek_u8()
                     args.src.skip_u32_fast!(actual: 1, worst_case: 1)
                 }
-                if (c & 0x80) == 0 {
+                if (c8 & 0x80) == 0 {
                     src[0] = 0x00
                 } else {
                     src[0] = 0xFF
                 }
-                // TODO: this should just be "c ~mod<<= 1", but that generates:
+                // TODO: this should just be "c8 ~mod<<= 1", but that generates:
                 //
                 // error: conversion to ‘uint8_t {aka unsigned char}’ from
                 // ‘int’ may alter its value [-Werror=conversion]
                 //     v_c <<= 1;
-                c = (((c as base.u32) << 1) & 0xFF) as base.u8
+                c8 = (((c8 as base.u32) << 1) & 0xFF) as base.u8
 
                 this.swizzler.swizzle_interleaved_from_slice!(
                         dst: dst, dst_palette: this.util.empty_slice_u8(), src: src[..])