Skip to content

Commit

Permalink
build: ensure VLAs are not used
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
pixelb committed Jan 20, 2019
1 parent 94fa0aa commit d26dece
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 1 deletion.
1 change: 0 additions & 1 deletion configure.ac
Expand Up @@ -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
Expand Down
4 changes: 4 additions & 0 deletions m4/jm-macros.m4
Expand Up @@ -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])
Expand Down

0 comments on commit d26dece

Please sign in to comment.