configure.ac: enable some -Werror= warnings not included in -W -Wall -pedantic

For some reason, these warnings are not included in -W -Wall -pedantic, at least
not on gcc 14.2.1:

	-Wstrict-prototypes
	-Wmissing-prototypes
	-Wmissing-declarations

This caused a missing prototype error (because nasm_note[f]()
prototypes were missing from include/error.h) to get missed when
compiling with --enable-werror, which is ironic at best.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
This commit is contained in:
H. Peter Anvin 2024-11-04 10:26:48 -08:00
parent 25757f83c5
commit 888d9ab550

View File

@ -306,13 +306,17 @@ PA_ARG_ENABLED([werror],
PA_ADD_CFLAGS([-Werror=return-type]) PA_ADD_CFLAGS([-Werror=return-type])
PA_ADD_CFLAGS([-Werror=trigraphs]) PA_ADD_CFLAGS([-Werror=trigraphs])
PA_ADD_CFLAGS([-Werror=pointer-arith]) PA_ADD_CFLAGS([-Werror=pointer-arith])
PA_ADD_CFLAGS([-Werror=strict-prototypes])
PA_ADD_CFLAGS([-Werror=missing-prototypes])
PA_ADD_CFLAGS([-Werror=missing-declarations])
PA_ADD_CFLAGS([-Werror=comment]) PA_ADD_CFLAGS([-Werror=comment])
PA_ADD_CFLAGS([-Werror=vla])] PA_ADD_CFLAGS([-Werror=vla])]
) )
dnl These warnings are apparently not included in -Wall -W -pedantic
dnl for some bizarre reason. They are, however, absolutely forbidden
dnl in this code base.
PA_ADD_CFLAGS([-Werror=strict-prototypes])
PA_ADD_CFLAGS([-Werror=missing-prototypes])
PA_ADD_CFLAGS([-Werror=missing-declarations])
dnl Variadic macros are used in this code, but only under explicit guard dnl Variadic macros are used in this code, but only under explicit guard
PA_ADD_CFLAGS([-Wvariadic-macros],[-Wno-variadic-macros]) PA_ADD_CFLAGS([-Wvariadic-macros],[-Wno-variadic-macros])
dnl Suppress format warning on Windows targets due to their <inttypes.h> dnl Suppress format warning on Windows targets due to their <inttypes.h>