wuffs gen -version=0.3.0-beta.3
diff --git a/release/c/wuffs-v0.3.c b/release/c/wuffs-v0.3.c
index d597562..2b69393 100644
--- a/release/c/wuffs-v0.3.c
+++ b/release/c/wuffs-v0.3.c
@@ -10,6 +10,9 @@
 
 // Wuffs' C code is generated automatically, not hand-written. These warnings'
 // costs outweigh the benefits.
+//
+// The "elif defined(__clang__)" isn't redundant. While vanilla clang defines
+// __GNUC__, clang-cl (which mimics MSVC's cl.exe) does not.
 #if defined(__GNUC__)
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wmissing-field-initializers"
@@ -19,6 +22,15 @@
 #if defined(__cplusplus)
 #pragma GCC diagnostic ignored "-Wold-style-cast"
 #endif
+#elif defined(__clang__)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wmissing-field-initializers"
+#pragma clang diagnostic ignored "-Wunreachable-code"
+#pragma clang diagnostic ignored "-Wunused-function"
+#pragma clang diagnostic ignored "-Wunused-parameter"
+#if defined(__cplusplus)
+#pragma clang diagnostic ignored "-Wold-style-cast"
+#endif
 #endif
 
 // Copyright 2017 The Wuffs Authors.
@@ -70,15 +82,15 @@
 // each major.minor branch, the commit count should increase monotonically.
 //
 // WUFFS_VERSION was overridden by "wuffs gen -version" based on revision
-// 91857f4c4b827a2dcac7982ef03db1767ef72e23 committed on 2021-06-24.
+// f6945c061289cfbc6f6e415b0fd77b70f6cd46f2 committed on 2021-06-25.
 #define WUFFS_VERSION 0x000030000
 #define WUFFS_VERSION_MAJOR 0
 #define WUFFS_VERSION_MINOR 3
 #define WUFFS_VERSION_PATCH 0
-#define WUFFS_VERSION_PRE_RELEASE_LABEL "beta.2"
-#define WUFFS_VERSION_BUILD_METADATA_COMMIT_COUNT 3048
-#define WUFFS_VERSION_BUILD_METADATA_COMMIT_DATE 20210624
-#define WUFFS_VERSION_STRING "0.3.0-beta.2+3048.20210624"
+#define WUFFS_VERSION_PRE_RELEASE_LABEL "beta.3"
+#define WUFFS_VERSION_BUILD_METADATA_COMMIT_COUNT 3051
+#define WUFFS_VERSION_BUILD_METADATA_COMMIT_DATE 20210625
+#define WUFFS_VERSION_STRING "0.3.0-beta.3+3051.20210625"
 
 // ---------------- Configuration
 
@@ -22086,7 +22098,6 @@
     }
     self->private_impl.f_call_sequence = 3;
 
-    goto ok;
     ok:
     self->private_impl.p_decode_image_config[0] = 0;
     goto exit;
@@ -22195,7 +22206,6 @@
     }
     self->private_impl.f_call_sequence = 4;
 
-    goto ok;
     ok:
     self->private_impl.p_decode_frame_config[0] = 0;
     goto exit;
@@ -22383,7 +22393,6 @@
     }
     self->private_impl.f_call_sequence = 255;
 
-    goto ok;
     ok:
     self->private_impl.p_decode_frame[0] = 0;
     goto exit;
@@ -22497,7 +22506,6 @@
   status = wuffs_base__make_status(NULL);
   goto ok;
 
-  goto ok;
   ok:
   goto exit;
   exit:
@@ -22760,7 +22768,6 @@
   status = wuffs_base__make_status(NULL);
   goto ok;
 
-  goto ok;
   ok:
   goto exit;
   exit:
@@ -22901,7 +22908,6 @@
   status = wuffs_base__make_status(NULL);
   goto ok;
 
-  goto ok;
   ok:
   goto exit;
   exit:
@@ -23070,7 +23076,6 @@
   status = wuffs_base__make_status(NULL);
   goto ok;
 
-  goto ok;
   ok:
   goto exit;
   exit:
@@ -24156,7 +24161,6 @@
     label__outer__break:;
     self->private_impl.f_end_of_data = true;
 
-    goto ok;
     ok:
     self->private_impl.p_decode_tokens[0] = 0;
     goto exit;
@@ -25717,7 +25721,6 @@
       WUFFS_BASE__COROUTINE_SUSPENSION_POINT_MAYBE_SUSPEND(1);
     }
 
-    goto ok;
     ok:
     self->private_impl.p_transform_io[0] = 0;
     goto exit;
@@ -25875,7 +25878,6 @@
       }
     }
 
-    goto ok;
     ok:
     self->private_impl.p_decode_blocks[0] = 0;
     goto exit;
@@ -25995,7 +25997,6 @@
       }
     }
 
-    goto ok;
     ok:
     self->private_impl.p_decode_uncompressed[0] = 0;
     goto exit;
@@ -27586,7 +27587,6 @@
       goto exit;
     }
 
-    goto ok;
     ok:
     self->private_impl.p_decode_huffman_slow[0] = 0;
     goto exit;
@@ -27858,7 +27858,6 @@
     }
     label__0__break:;
 
-    goto ok;
     ok:
     self->private_impl.p_transform_io[0] = 0;
     goto exit;
@@ -28102,7 +28101,6 @@
       WUFFS_BASE__COROUTINE_SUSPENSION_POINT_MAYBE_SUSPEND(1);
     }
 
-    goto ok;
     ok:
     self->private_impl.p_write_to[0] = 0;
     goto exit;
@@ -28658,7 +28656,6 @@
     status = wuffs_base__make_status(NULL);
     goto ok;
 
-    goto ok;
     ok:
     self->private_impl.p_tell_me_more[0] = 0;
     goto exit;
@@ -28926,7 +28923,6 @@
     wuffs_base__u64__sat_add_indirect(&self->private_impl.f_num_decoded_frame_configs_value, 1);
     self->private_impl.f_call_sequence = 4;
 
-    goto ok;
     ok:
     self->private_impl.p_decode_frame_config[0] = 0;
     goto exit;
@@ -29592,7 +29588,6 @@
       goto suspend;
     }
 
-    goto ok;
     ok:
     self->private_impl.p_decode_extension[0] = 0;
     goto exit;
@@ -29661,7 +29656,6 @@
       iop_a_src += self->private_data.s_skip_blocks[0].scratch;
     }
 
-    goto ok;
     ok:
     self->private_impl.p_skip_blocks[0] = 0;
     goto exit;
@@ -29880,7 +29874,6 @@
       goto suspend;
     }
 
-    goto ok;
     ok:
     self->private_impl.p_decode_ae[0] = 0;
     goto exit;
@@ -30350,7 +30343,6 @@
     wuffs_lzw__decoder__set_literal_width(&self->private_data.f_lzw, ((uint32_t)(v_lw)));
     self->private_impl.f_previous_lzw_decode_ended_abruptly = true;
 
-    goto ok;
     ok:
     self->private_impl.p_decode_id_part1[0] = 0;
     goto exit;
@@ -30557,7 +30549,6 @@
       goto exit;
     }
 
-    goto ok;
     ok:
     self->private_impl.p_decode_id_part2[0] = 0;
     goto exit;
@@ -31167,7 +31158,6 @@
       goto exit;
     }
 
-    goto ok;
     ok:
     self->private_impl.p_transform_io[0] = 0;
     goto exit;
@@ -32624,7 +32614,6 @@
     }
     self->private_impl.f_end_of_data = true;
 
-    goto ok;
     ok:
     self->private_impl.p_decode_tokens[0] = 0;
     goto exit;
@@ -32926,7 +32915,6 @@
     }
     label__0__break:;
 
-    goto ok;
     ok:
     self->private_impl.p_decode_leading[0] = 0;
     goto exit;
@@ -33107,7 +33095,6 @@
       }
     }
 
-    goto ok;
     ok:
     self->private_impl.p_decode_comment[0] = 0;
     goto exit;
@@ -33268,7 +33255,6 @@
       goto exit;
     }
 
-    goto ok;
     ok:
     self->private_impl.p_decode_inf_nan[0] = 0;
     goto exit;
@@ -33414,7 +33400,6 @@
     }
     label__outer__break:;
 
-    goto ok;
     ok:
     self->private_impl.p_decode_trailer[0] = 0;
     goto exit;
@@ -33889,7 +33874,6 @@
     }
     self->private_impl.f_call_sequence = 4;
 
-    goto ok;
     ok:
     self->private_impl.p_decode_frame_config[0] = 0;
     goto exit;
@@ -33998,7 +33982,6 @@
     label__0__break:;
     self->private_impl.f_call_sequence = 255;
 
-    goto ok;
     ok:
     self->private_impl.p_decode_frame[0] = 0;
     goto exit;
@@ -34088,7 +34071,6 @@
   status = wuffs_base__make_status(NULL);
   goto ok;
 
-  goto ok;
   ok:
   goto exit;
   exit:
@@ -34688,7 +34670,6 @@
       goto exit;
     }
 
-    goto ok;
     ok:
     self->private_impl.p_transform_io[0] = 0;
     goto exit;
@@ -36840,7 +36821,6 @@
     }
     self->private_impl.f_call_sequence = 3;
 
-    goto ok;
     ok:
     self->private_impl.p_decode_image_config[0] = 0;
     goto exit;
@@ -37566,7 +37546,6 @@
     }
     self->private_impl.f_call_sequence = 4;
 
-    goto ok;
     ok:
     self->private_impl.p_decode_frame_config[0] = 0;
     goto exit;
@@ -37693,7 +37672,6 @@
     label__0__break:;
     self->private_impl.f_call_sequence = 255;
 
-    goto ok;
     ok:
     self->private_impl.p_decode_frame[0] = 0;
     goto exit;
@@ -37992,7 +37970,6 @@
       }
     }
 
-    goto ok;
     ok:
     self->private_impl.p_decode_pass[0] = 0;
     goto exit;
@@ -38796,7 +38773,6 @@
     }
     self->private_impl.f_call_sequence = 4;
 
-    goto ok;
     ok:
     self->private_impl.p_decode_frame_config[0] = 0;
     goto exit;
@@ -38961,7 +38937,6 @@
     }
     self->private_impl.f_call_sequence = 255;
 
-    goto ok;
     ok:
     self->private_impl.p_decode_frame[0] = 0;
     goto exit;
@@ -40547,6 +40522,8 @@
 
 #if defined(__GNUC__)
 #pragma GCC diagnostic pop
+#elif defined(__clang__)
+#pragma clang diagnostic pop
 #endif
 
 #endif  // WUFFS_INCLUDE_GUARD