Remove empty "if (coro_susp_point) {}"
diff --git a/internal/cgen/func.go b/internal/cgen/func.go
index 13df2ca..1d5bd58 100644
--- a/internal/cgen/func.go
+++ b/internal/cgen/func.go
@@ -374,11 +374,17 @@
 		// TODO: don't hard-code [0], and allow recursive coroutines.
 		b.printf("uint32_t coro_susp_point = self->private_impl.%s%s[0];\n",
 			pPrefix, g.currFunk.astFunc.FuncName().Str(g.tm))
-		b.printf("if (coro_susp_point) {\n")
-		if err := g.writeResumeSuspend(b, &g.currFunk, false); err != nil {
+
+		resumeBuffer := buffer{}
+		if err := g.writeResumeSuspend(&resumeBuffer, &g.currFunk, false); err != nil {
 			return err
 		}
-		b.writes("}\n")
+		if len(resumeBuffer) > 0 {
+			b.writes("if (coro_susp_point) {\n")
+			b.writex(resumeBuffer)
+			b.writes("}\n")
+		}
+
 		// Generate a coroutine switch similiar to the technique in
 		// https://www.chiark.greenend.org.uk/~sgtatham/coroutines.html
 		//
diff --git a/release/c/wuffs-unsupported-snapshot.c b/release/c/wuffs-unsupported-snapshot.c
index c64fdd7..2e0d0cc 100644
--- a/release/c/wuffs-unsupported-snapshot.c
+++ b/release/c/wuffs-unsupported-snapshot.c
@@ -10803,8 +10803,6 @@
   }
 
   uint32_t coro_susp_point = self->private_impl.p_decode_frame_config[0];
-  if (coro_susp_point) {
-  }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
 
@@ -11203,8 +11201,6 @@
   }
 
   uint32_t coro_susp_point = self->private_impl.p_skip_frame[0];
-  if (coro_susp_point) {
-  }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
 
@@ -12820,8 +12816,6 @@
   }
 
   uint32_t coro_susp_point = self->private_impl.p_transform_io[0];
-  if (coro_susp_point) {
-  }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
 
@@ -14621,8 +14615,6 @@
   uint32_t v_i = 0;
 
   uint32_t coro_susp_point = self->private_impl.p_transform_io[0];
-  if (coro_susp_point) {
-  }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
 
@@ -14916,8 +14908,6 @@
   }
 
   uint32_t coro_susp_point = self->private_impl.p_write_to[0];
-  if (coro_susp_point) {
-  }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
 
@@ -15406,8 +15396,6 @@
   bool v_ffio = false;
 
   uint32_t coro_susp_point = self->private_impl.p_decode_image_config[0];
-  if (coro_susp_point) {
-  }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
 
@@ -15534,8 +15522,6 @@
   }
 
   uint32_t coro_susp_point = self->private_impl.p_ack_metadata_chunk[0];
-  if (coro_susp_point) {
-  }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
 
@@ -15929,8 +15915,6 @@
   }
 
   uint32_t coro_susp_point = self->private_impl.p_skip_frame[0];
-  if (coro_susp_point) {
-  }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
 
@@ -16087,8 +16071,6 @@
   }
 
   uint32_t coro_susp_point = self->private_impl.p_decode_up_to_id_part1[0];
-  if (coro_susp_point) {
-  }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
 
@@ -16491,8 +16473,6 @@
   }
 
   uint32_t coro_susp_point = self->private_impl.p_decode_extension[0];
-  if (coro_susp_point) {
-  }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
 
@@ -16587,8 +16567,6 @@
   }
 
   uint32_t coro_susp_point = self->private_impl.p_skip_blocks[0];
-  if (coro_susp_point) {
-  }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
 
@@ -16924,8 +16902,6 @@
   }
 
   uint32_t coro_susp_point = self->private_impl.p_decode_gc[0];
-  if (coro_susp_point) {
-  }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
 
@@ -17054,8 +17030,6 @@
   }
 
   uint32_t coro_susp_point = self->private_impl.p_decode_id_part0[0];
-  if (coro_susp_point) {
-  }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
 
@@ -17275,8 +17249,6 @@
   bool v_ffio = false;
 
   uint32_t coro_susp_point = self->private_impl.p_decode_image_config[0];
-  if (coro_susp_point) {
-  }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
 
@@ -17403,8 +17375,6 @@
   }
 
   uint32_t coro_susp_point = self->private_impl.p_ack_metadata_chunk[0];
-  if (coro_susp_point) {
-  }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
 
@@ -17800,8 +17770,6 @@
   }
 
   uint32_t coro_susp_point = self->private_impl.p_skip_frame[0];
-  if (coro_susp_point) {
-  }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
 
@@ -17912,8 +17880,6 @@
   wuffs_base__status status = wuffs_base__make_status(NULL);
 
   uint32_t coro_susp_point = self->private_impl.p_decode_frame[0];
-  if (coro_susp_point) {
-  }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
 
@@ -18001,8 +17967,6 @@
   }
 
   uint32_t coro_susp_point = self->private_impl.p_decode_up_to_id_part1[0];
-  if (coro_susp_point) {
-  }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
 
@@ -18405,8 +18369,6 @@
   }
 
   uint32_t coro_susp_point = self->private_impl.p_decode_extension[0];
-  if (coro_susp_point) {
-  }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
 
@@ -18501,8 +18463,6 @@
   }
 
   uint32_t coro_susp_point = self->private_impl.p_skip_blocks[0];
-  if (coro_susp_point) {
-  }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
 
@@ -18838,8 +18798,6 @@
   }
 
   uint32_t coro_susp_point = self->private_impl.p_decode_gc[0];
-  if (coro_susp_point) {
-  }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
 
@@ -18968,8 +18926,6 @@
   }
 
   uint32_t coro_susp_point = self->private_impl.p_decode_id_part0[0];
-  if (coro_susp_point) {
-  }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
 
@@ -21927,8 +21883,6 @@
   }
 
   uint32_t coro_susp_point = self->private_impl.p_decode_leading[0];
-  if (coro_susp_point) {
-  }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
 
@@ -22414,8 +22368,6 @@
   }
 
   uint32_t coro_susp_point = self->private_impl.p_decode_trailing_new_line[0];
-  if (coro_susp_point) {
-  }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
 
@@ -22792,8 +22744,6 @@
   }
 
   uint32_t coro_susp_point = self->private_impl.p_decode_frame_config[0];
-  if (coro_susp_point) {
-  }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
 
@@ -23053,8 +23003,6 @@
   }
 
   uint32_t coro_susp_point = self->private_impl.p_skip_frame[0];
-  if (coro_susp_point) {
-  }
   switch (coro_susp_point) {
     WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;