diff --git a/posixos.c b/posixos.c
index 8c27001..4a88b3c 100644
--- a/posixos.c
+++ b/posixos.c
@@ -193,16 +193,19 @@
 {
 #if defined(F_GETFD) && defined(F_SETFD)
   if (!recursive && job_fds[0] >= 0)
-    for (int i = 0; i < 2; ++i)
-      {
-        int flags;
-        EINTRLOOP (flags, fcntl (job_fds[i], F_GETFD));
-        if (flags >= 0)
-          {
-            int r;
-            EINTRLOOP (r, fcntl (job_fds[i], F_SETFD, flags & ~FD_CLOEXEC));
-          }
-      }
+    {
+      unsigned int i;
+      for (i = 0; i < 2; ++i)
+        {
+          int flags;
+          EINTRLOOP (flags, fcntl (job_fds[i], F_GETFD));
+          if (flags >= 0)
+            {
+              int r;
+              EINTRLOOP (r, fcntl (job_fds[i], F_SETFD, flags & ~FD_CLOEXEC));
+            }
+        }
+    }
 #endif
 }
 
diff --git a/remake.c b/remake.c
index 1722474..c837903 100644
--- a/remake.c
+++ b/remake.c
@@ -271,10 +271,12 @@
 void
 show_goal_error ()
 {
+  struct goaldep *goal;
+
   if ((goal_dep->flags & (RM_INCLUDED|RM_DONTCARE)) != RM_INCLUDED)
     return;
 
-  for (struct goaldep *goal = goal_list; goal; goal = goal->next)
+  for (goal = goal_list; goal; goal = goal->next)
     if (goal_dep->file == goal->file)
       {
         if (goal->error)
diff --git a/variable.c b/variable.c
index b0d8d69..9c932d4 100644
--- a/variable.c
+++ b/variable.c
@@ -1449,6 +1449,7 @@
           /* This begins a variable expansion reference.  Make sure we don't
              treat chars inside the reference as assignment tokens.  */
           char closeparen;
+          unsigned int count;
 
           c = *p++;
           if (c == '(')
@@ -1463,7 +1464,7 @@
 
           /* P now points past the opening paren or brace.
              Count parens or braces until it is matched.  */
-          for (unsigned int count = 1; *p != '\0'; ++p)
+          for (count = 1; *p != '\0'; ++p)
             {
               if (*p == closeparen && --count == 0)
                 {
