From: Pádraig Brady
Date: Thu, 21 Sep 2023 17:48:49 +0000 (+0100) Subject: build: avoid build failures on gcc <= 10, or clang X-Git-Tag: v9.5~158 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=259350229028c956fdd5d91c1a6092d4d90cf8a8;p=thirdparty%2Fcoreutils.git build: avoid build failures on gcc <= 10, or clang 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. --- diff --git a/src/tail.c b/src/tail.c index 904a76d019..4c3c7b5905 100644 --- a/src/tail.c +++ b/src/tail.c @@ -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: