On Tue, Jan 16, 2024 at 07:32:03PM -0700, Jeff Law wrote:
>
>
> On 1/15/24 02:22, Ilya Leoshkevich wrote:
> > Compile tested for the ia64-elf target; bootstrap and regtest running
> > on x86_64-redhat-linux. Ok for trunk when successful?
> >
> >
> >
> > ia64-elf build fails with the following warning:
> >
> > [all 2024-01-12 16:32:34] ../../gcc/gcc/config/ia64/ia64.cc:3889:59:
> > error: unused parameter 'decl' [-Werror=unused-parameter]
> > [all 2024-01-12 16:32:34] 3889 | ia64_start_function (FILE *file,
> > const char *fnname, tree decl)
> >
> > decl is passed to ASM_OUTPUT_FUNCTION_LABEL (), whose default
> > implementation does not use it. Mark it as used in order to avoid the
> > warning.
> >
> > Reported-by: Jan-Benedict Glaw <[email protected]>
> > Suggested-by: Jan-Benedict Glaw <[email protected]>
> > Fixes: c659dd8bfb55 ("Implement ASM_DECLARE_FUNCTION_NAME using
> > ASM_OUTPUT_FUNCTION_LABEL")
> > Signed-off-by: Ilya Leoshkevich <[email protected]>
> >
> > gcc/ChangeLog:
> >
> > * defaults.h (ASM_OUTPUT_FUNCTION_LABEL): Mark DECL as used.
> So normally the way to go is to just remove the unused argument's name,
> leaving its type. But in this case we're passing the unused argument into a
> generic macro.
>
> So ISTM the better way to go here is decorate the argument with
> ATTRIBUTE_UNUSED in ia64.cc. This has the ever-so-slight advantage that
> if/when the ia64 port goes away that the hack goes away too.
>
> Something like the attached, which I'd consider pre-approved.
>
> Jeff
> diff --git a/gcc/config/ia64/ia64.cc b/gcc/config/ia64/ia64.cc
> index 53a4444d03b..a2011a9a811 100644
> --- a/gcc/config/ia64/ia64.cc
> +++ b/gcc/config/ia64/ia64.cc
> @@ -3886,7 +3886,7 @@ ia64_expand_prologue (void)
> /* Output the textual info surrounding the prologue. */
>
> void
> -ia64_start_function (FILE *file, const char *fnname, tree decl)
> +ia64_start_function (FILE *file, const char *fnname, tree decl
> ATTRIBUTE_UNUSED)
Except the too long line sure, that is what I'd go with as well.
Jakub