On Thu, Jul 31, 2025 at 4:43 PM Florian Weimer <fwei...@redhat.com> wrote:

OK.

Thanks,
Richard.

> gcc/c/
>
>         PR c/120055
>         * c-typeck.cc (convert_arguments): Check if fundecl is null
>         before checking for builtin function declaration.
>
> gcc/testsuite/
>
>         * gcc.dg/Wdeprecated-non-prototype-6.c: New test.
>
> (cherry picked from commit 02fa088f5b61fb5ddfff9e2dc0c0404450e7c6a4)
>
> ---
>  gcc/c/c-typeck.cc                                  |  2 +-
>  gcc/testsuite/gcc.dg/Wdeprecated-non-prototype-6.c | 14 ++++++++++++++
>  2 files changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/gcc/c/c-typeck.cc b/gcc/c/c-typeck.cc
> index 9f1a94f98ad..b007c8ffe76 100644
> --- a/gcc/c/c-typeck.cc
> +++ b/gcc/c/c-typeck.cc
> @@ -4343,7 +4343,7 @@ convert_arguments (location_t loc, vec<location_t> 
> arg_loc, tree fntype,
>         }
>
>        if (!typetail && parmnum == 0 && !TYPE_NO_NAMED_ARGS_STDARG_P (fntype)
> -         && !fndecl_built_in_p (fundecl))
> +         && !(fundecl && fndecl_built_in_p (fundecl)))
>         {
>           auto_diagnostic_group d;
>           bool warned;
> diff --git a/gcc/testsuite/gcc.dg/Wdeprecated-non-prototype-6.c 
> b/gcc/testsuite/gcc.dg/Wdeprecated-non-prototype-6.c
> new file mode 100644
> index 00000000000..08f2995d5b2
> --- /dev/null
> +++ b/gcc/testsuite/gcc.dg/Wdeprecated-non-prototype-6.c
> @@ -0,0 +1,14 @@
> +/* { dg-do compile } */
> +/* { dg-options "-std=gnu17 -Wdeprecated-non-prototype" } */
> +
> +void (*f1) ();
> +void (*f2) ();
> +void (*f3) (...);
> +
> +void
> +g ()
> +{
> +  f1 ();
> +  f2 (1); /* { dg-warning "does not allow arguments for function" } */
> +  f3 (1);
> +}
>
> base-commit: 377c9d01a648df418d13653814b68f7cc66fc320
>

Reply via email to