]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
configure: Add -Wmissing-parameter-name if available
authorMark Wielaard <mark@klomp.org>
Sat, 7 Feb 2026 00:48:26 +0000 (01:48 +0100)
committerMark Wielaard <mark@klomp.org>
Sat, 7 Feb 2026 16:52:23 +0000 (17:52 +0100)
Before C23 omitting parameter names in function definitions isn't
supported. Add -Wmissing-parameter-name (available since GCC 15) to
catch this.

* configure.ac: Add HAVE_MISSING_PARAMETER_NAME_WARNING check.
* config/eu.am: Set MISSING_PARAMETER_NAME_WARNING based on
HAVE_MISSING_PARAMETER_NAME_WARNING.
(AM_CFLAGS): Add MISSING_PARAMETER_NAME_WARNING.

Signed-off-by: Mark Wielaard <mark@klomp.org>
Reviewed-by: Sam James <sam@gentoo.org>
config/eu.am
configure.ac

index 0f4aa9f0364c24a9e642bd1fa9bd64384f082ac8..756e7058e9c2309a0ff64573fa70cdfb06ca52c5 100644 (file)
@@ -111,11 +111,17 @@ else
 USE_AFTER_FREE3_WARNING=
 endif
 
+if HAVE_MISSING_PARAMETER_NAME_WARNING
+MISSING_PARAMETER_NAME_WARNING=-Wmissing-parameter-name
+else
+MISSING_PARAMETER_NAME_WARNING=
+endif
+
 AM_CFLAGS = -Wall -Wshadow -Wformat=2 \
            -Wold-style-definition -Wstrict-prototypes $(TRAMPOLINES_WARNING) \
            $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \
            $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \
-           $(USE_AFTER_FREE3_WARNING) \
+           $(USE_AFTER_FREE3_WARNING) $(MISSING_PARAMETER_NAME_WARNING) \
            $(if $($(*F)_no_Werror),,-Werror) \
            $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
            $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \
index 58e58af2c58cd83aa32367ab1a13e2aa544a066d..c9287039955de8890d6d59968f231e66779668c6 100644 (file)
@@ -665,6 +665,16 @@ CFLAGS="$old_CFLAGS"])
 AM_CONDITIONAL(HAVE_USE_AFTER_FREE3_WARNING,
               [test "x$ac_cv_use_after_free3" != "xno"])
 
+AC_CACHE_CHECK([whether the compiler accepts -Wmissing-parameter-name], ac_cv_missing_parameter_name, [dnl
+old_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -Wmissing-parameter-name -Werror"
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([])],
+                 ac_cv_missing_parameter_name=yes,
+                 ac_cv_missing_parameter_name=no)
+CFLAGS="$old_CFLAGS"])
+AM_CONDITIONAL(HAVE_MISSING_PARAMETER_NAME_WARNING,
+              [test "x$ac_cv_missing_parameter_name" != "xno"])
+
 AC_CACHE_CHECK([whether the compiler accepts -fno-addrsig], ac_cv_fno_addrsig, [dnl
 old_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS -fno-addrsig -Werror"