]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
build: avoid build failures on gcc <= 10, or clang
authorPádraig Brady <P@draigBrady.com>
Thu, 21 Sep 2023 17:48:49 +0000 (18:48 +0100)
committerPádraig Brady <P@draigBrady.com>
Thu, 21 Sep 2023 18:04:14 +0000 (19:04 +0100)
On gcc 10 the following build failure occurs:
  "error: a label can only be part of a statement
   and a declaration is not a statement"
This is because the current code is non standards conforming,
but GCC >= 11 will compile it (even with the -Wpedantic option).
This issue is tracked for GCC at:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111526

* src/tail.c (parse_options): Avoid a declaration after label,
by using a surrounding block.

src/tail.c

index 904a76d019289c3e85c9cb480b7da93448bfce6a..4c3c7b5905605a07dea38ec8e7373cf1bff7f520 100644 (file)
@@ -2208,11 +2208,13 @@ parse_options (int argc, char **argv,
           break;
 
         case PID_OPTION:
-          pid_t pid =
-            xdectoumax (optarg, 0, PID_T_MAX, "", _("invalid PID"), 0);
-          pids = xreallocarray (pids, nbpids + 1, sizeof (pid_t));
-          pids[nbpids] = pid;
-          nbpids++;
+          {
+            pid_t pid =
+              xdectoumax (optarg, 0, PID_T_MAX, "", _("invalid PID"), 0);
+            pids = xreallocarray (pids, nbpids + 1, sizeof (pid_t));
+            pids[nbpids] = pid;
+            nbpids++;
+          }
           break;
 
         case PRESUME_INPUT_PIPE_OPTION: