Summary: make 4.3 is not c89 compliant
Submitted by: None
Submitted on: Sat 23 May 2020 10:35:54 PM UTC
Severity: 3 - Normal
Item Group: Build/Install
Assigned to: None
Discussion Lock: Any
Component Version: None
Operating System: POSIX-Based
Fixed Release: None
Triage Status: None
make 4.2.1 builds with compilers that default to strict c89, but make 4.3 does
not due to use of variable argument macros (a c99 feature) in lib/verify.h.
specifically, i am using the sgi mipspro 7.4.3 compiler on irix 6.5.22.
please consider either returning to c89 compliance when compiled without
support for later standards, or officially requiring C99 and using an
autotools macro such as AC_PROG_CC_C99 to ensure that necessary flags for c99
compilation are passed to the compiler.
the fact that gnu make requires c99 features is not a problem, but if it does
require c99, then this should be clear and the configure script should be
checking for c99 support and adding flags if necessary.
however, since prior versions (4.2.1) built when in c89 mode, i was unsure if
the use of c99 features is intentional.
perhaps the maintainers of gnulib ought to be notified of this also...
gnu's coding standards state that c89 should be the default targeted c
standard, and c99 functionality should be checked for if used. if gnulib is
using c99 features, and is meant to be the canonical source of portability
code, that seems like an issue to me...