diff -upr src/remove.c src/remove.c
--- src/remove.c	1970-01-01 00:00:00.000000000 +0000
+++ src/remove.c	1970-01-01 00:00:00.000000000 +0000
@@ -262,9 +262,10 @@ pop_dir (Dirstack_state *ds)
 {
   size_t n_lengths = obstack_object_size (&ds->len_stack) / sizeof (size_t);
   size_t *length = obstack_base (&ds->len_stack);
+  size_t top_len;

   assert (n_lengths > 0);
-  size_t top_len = length[n_lengths - 1];
+  top_len = length[n_lengths - 1];
   assert (top_len >= 2);

   /* Pop the specified length of file name.  */
@@ -422,10 +423,11 @@ AD_stack_top (Dirstack_state const *ds)
 static void
 AD_stack_pop (Dirstack_state *ds)
 {
+  struct AD_ent *top;
   assert (0 < AD_stack_height (ds));

   /* operate on Active_dir.  pop and free top entry */
-  struct AD_ent *top = AD_stack_top (ds);
+  top = AD_stack_top (ds);
   if (top->unremovable)
     hash_free (top->unremovable);
   obstack_blank (&ds->Active_dir, -(int) sizeof (struct AD_ent));
@@ -834,14 +836,13 @@ prompt (int fd_cwd, Dirstack_state const
 {
   int write_protected = 0;
   int dirent_type = *pdirent_type;
+  int wp_errno = 0;

   *is_empty = T_UNKNOWN;

   if (x->interactive == RMI_NEVER)
     return RM_OK;

-  int wp_errno = 0;
-
   if (!x->ignore_missing_files
       && ((x->interactive == RMI_ALWAYS) || x->stdin_tty)
       && dirent_type != DT_LNK)
@@ -889,6 +890,7 @@ prompt (int fd_cwd, Dirstack_state const
            break;
          }

+      {
       char const *quoted_name = quote (full_filename (filename));

       if (write_protected < 0)
@@ -928,6 +930,7 @@ prompt (int fd_cwd, Dirstack_state const
                    : _("%s: remove %s %s? ")),
                   program_name, file_type (sbuf), quoted_name);
        }
+      }

       if (!yesno ())
        return RM_USER_DECLINED;
@@ -1547,6 +1550,7 @@ rm_1 (Dirstack_state *ds, char const *fi
       return RM_ERROR;
     }

+  {
   struct stat st;
   cache_stat_init (&st);
   cycle_check_init (&ds->cycle_check_state);
@@ -1569,6 +1573,7 @@ rm_1 (Dirstack_state *ds, char const *fi
   AD_push_initial (ds);
   AD_INIT_OTHER_MEMBERS ();

+  {
   enum RM_status status = remove_entry (AT_FDCWD, ds, filename,
                                        DT_UNKNOWN, &st, x);
   if (status == RM_NONEMPTY_DIR)
@@ -1587,6 +1592,8 @@ rm_1 (Dirstack_state *ds, char const *fi
   ds_clear (ds);
   return status;
 }
+  }
+}

 /* Remove all files and/or directories specified by N_FILES and FILE.
    Apply the options in X.  */
diff -upr src/rm.c src/rm.c
--- src/rm.c	1970-01-01 00:00:00.000000000 +0000
+++ src/rm.c	1970-01-01 00:00:00.000000000 +0000
@@ -354,6 +354,7 @@ main (int argc, char **argv)
               quote ("/"));
     }

+  {
   size_t n_files = argc - optind;
   char const *const *file = (char const *const *) argv + optind;

@@ -367,7 +368,10 @@ main (int argc, char **argv)
       if (!yesno ())
        exit (EXIT_SUCCESS);
     }
+  {
   enum RM_status status = rm (n_files, file, &x);
   assert (VALID_STATUS (status));
   exit (status == RM_ERROR ? EXIT_FAILURE : EXIT_SUCCESS);
+  }
+  }
 }
diff -upr src/seq.c src/seq.c
--- src/seq.c	1970-01-01 00:00:00.000000000 +0000
+++ src/seq.c	1970-01-01 00:00:00.000000000 +0000
@@ -163,6 +163,7 @@ scan_arg (const char *arg)
                        : (decimal_point == arg                /* .#  -> 0.# */
                           || ! ISDIGIT (decimal_point[-1]))); /* -.# -> 0.# */
        }
+      {
       char const *e = strchr (arg, 'e');
       if (! e)
        e = strchr (arg, 'E');
@@ -171,6 +172,7 @@ scan_arg (const char *arg)
          long exponent = strtol (e + 1, NULL, 10);
          ret.precision += exponent < 0 ? -exponent : 0;
        }
+      }
     }

   return ret;
@@ -346,6 +348,7 @@ get_default_format (operand first, opera
          size_t last_width = last.width + (prec - last.precision);
          if (last.precision && prec == 0)
            last_width--;  /* don't include space for '.' */
+	  {
          size_t width = MAX (first_width, last_width);
          if (width <= INT_MAX)
            {
@@ -353,6 +356,7 @@ get_default_format (operand first, opera
              sprintf (format_buf, "%%0%d.%dLf", w, prec);
              return format_buf;
            }
+	  }
        }
       else
        {
@@ -441,6 +445,7 @@ main (int argc, char **argv)
   if (format_str)
     {
       validate_format (format_str);
+      {
       char const *f = long_double_format (format_str, &layout);
       if (! f)
        {
@@ -448,6 +453,7 @@ main (int argc, char **argv)
          usage (EXIT_FAILURE);
        }
       format_str = f;
+      }
     }

   last = scan_arg (argv[optind++]);
diff -upr src/shred.c src/shred.c
--- src/shred.c	1970-01-01 00:00:00.000000000 +0000
+++ src/shred.c	1970-01-01 00:00:00.000000000 +0000
@@ -468,7 +468,7 @@ dopass (int fd, char const *qname, off_t
                     out.  Thus, it shouldn't give up on bad blocks.  This
                     code works because lim is always a multiple of
                     SECTOR_SIZE, except at the end.  */
-		  verify (sizeof r % SECTOR_SIZE == 0);
+		  { verify (sizeof r % SECTOR_SIZE == 0); }
                  if (errnum == EIO && 0 <= size && (soff | SECTOR_MASK) < lim)
                    {
                      size_t soff1 = (soff | SECTOR_MASK) + 1;