>From 2ce9531f47ad88f0a8f7d6b956dd18397a5fd99b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A1draig=20Brady?= Date: Sun, 13 Jan 2019 22:11:11 -0800 Subject: [PATCH] build: ensure VLAs are not used Fail developer builds if VLAs are used, as there are portability concerns to consider with them. * configure.ac: Enable -Wvla which is implicit in the full list added. * m4/jm-macros.m4: Define GNULIB_NO_VLA which disables use of VLAs within gnulib code. --- configure.ac | 1 - m4/jm-macros.m4 | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 13bb167..23086cd 100644 --- a/configure.ac +++ b/configure.ac @@ -130,7 +130,6 @@ if test "$gl_gcc_warnings" = yes; then nw="$nw -Wredundant-decls" # openat.h declares e.g., mkdirat nw="$nw -Wlogical-op" # Too many warnings until GCC 4.8.0 nw="$nw -Wformat-nonliteral" # who.c and pinky.c strftime uses - nw="$nw -Wvla" # warnings in gettext.h nw="$nw -Wnested-externs" # use of XARGMATCH/verify_function__ nw="$nw -Wswitch-enum" # Too many warnings for now nw="$nw -Wswitch-default" # Too many warnings for now diff --git a/m4/jm-macros.m4 b/m4/jm-macros.m4 index 39191de..3374137 100644 --- a/m4/jm-macros.m4 +++ b/m4/jm-macros.m4 @@ -41,6 +41,10 @@ AC_DEFUN([coreutils_MACROS], AC_DEFINE([ARGMATCH_DIE_DECL], [void usage (int _e)], [Define to the declaration of the xargmatch failure function.]) + # Ensure VLAs are not used. + # Note -Wvla is implicitly added by gl_MANYWARN_ALL_GCC + AC_DEFINE([GNULIB_NO_VLA], [1], [Define to 1 to disable use of VLAs]) + # used by shred AC_CHECK_FUNCS_ONCE([directio]) -- 2.9.3