public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Andrew Burgess <aburgess@redhat.com>
To: Tsukasa OI <research_trasio@irq.a4lg.com>,
	Tsukasa OI <research_trasio@irq.a4lg.com>,
	Mike Frysinger <vapier@gentoo.org>,
	Stephane Carrez <Stephane.Carrez@gmail.com>,
	"Frank Ch . Eigler" <fche@redhat.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH 6/7] sim/ppc: Add ATTRIBUTE_PRINTF
Date: Wed, 05 Oct 2022 11:57:47 +0100	[thread overview]
Message-ID: <87mtaafsgk.fsf@redhat.com> (raw)
In-Reply-To: <924d86933d2e2b6da6940f13e64ef0ab5008a797.1664095452.git.research_trasio@irq.a4lg.com>

Tsukasa OI <research_trasio@irq.a4lg.com> writes:

> Clang generates a warning if the format string of a printf-like function is
> not a literal ("-Wformat-nonliteral").  On the default configuration, it
> causes a build failure (unless "--disable-werror" is specified).
>
> To avoid warnings on the printf-like wrapper, it requires proper
> __attribute__((format)) and we have ATTRIBUTE_PRINTF macro for this reason.
>
> This commit adds ATTRIBUTE_PRINTF to the printf-like functions.
>
> sim/ChangeLog:
>
> 	* ppc/main.c (error): Add ATTRIBUTE_PRINTF.
> 	* ppc/misc.c (error, dumpf): Likewise.
> 	* ppc/sim_calls.c (error): Likewise.
> ---
>  sim/ppc/main.c      | 2 +-
>  sim/ppc/misc.c      | 4 ++--
>  sim/ppc/sim_calls.c | 2 +-
>  3 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/sim/ppc/main.c b/sim/ppc/main.c
> index 83b629ec14a..4a88166106f 100644
> --- a/sim/ppc/main.c
> +++ b/sim/ppc/main.c
> @@ -68,7 +68,7 @@ sim_io_printf_filtered(const char *msg, ...)
>    va_end(ap);
>  }
>  
> -void
> +void ATTRIBUTE_PRINTF(1, 2)
>  error (const char *msg, ...)

I notice in this patch, and the previous one, you've added
ATTRIBUTE_PRINTF to both the declaration, and the definition of some
functions.

Is this required?  I thought we only needed the attribute on the
declaration.

In this case this difference is even more pronounced as you've added the
ATTRIBUTE_PRINTF, but the declaration also has ATTRIBUTE_NORETURN, which
you haven't added to the definition.

My preference would be to only have the attributes on the declaration if
that is sufficient.  Could you test that change and see if your build
issues are still resolved.

Thanks,
Andrew


>  {
>    va_list ap;
> diff --git a/sim/ppc/misc.c b/sim/ppc/misc.c
> index 8f2581e3ef3..71cda9fa298 100644
> --- a/sim/ppc/misc.c
> +++ b/sim/ppc/misc.c
> @@ -28,7 +28,7 @@
>  #include <stdlib.h>
>  #include <string.h>
>  
> -void
> +void ATTRIBUTE_PRINTF(1, 2)
>  error (const char *msg, ...)
>  {
>    va_list ap;
> @@ -48,7 +48,7 @@ zalloc(long size)
>    return memory;
>  }
>  
> -void
> +void ATTRIBUTE_PRINTF(2, 3)
>  dumpf (int indent, const char *msg, ...)
>  {
>    va_list ap;
> diff --git a/sim/ppc/sim_calls.c b/sim/ppc/sim_calls.c
> index fbc327c94e0..b0ed3d4c3cc 100644
> --- a/sim/ppc/sim_calls.c
> +++ b/sim/ppc/sim_calls.c
> @@ -388,7 +388,7 @@ sim_io_error (SIM_DESC sd, const char *fmt, ...)
>  
>  /****/
>  
> -void ATTRIBUTE_NORETURN
> +void ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF(1, 2)
>  error (const char *msg, ...)
>  {
>    va_list ap;
> -- 
> 2.34.1


  reply	other threads:[~2022-10-05 10:57 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-25  8:44 [PATCH 0/7] sim, sim/ARCH: " Tsukasa OI
2022-09-25  8:44 ` [PATCH 1/7] sim: " Tsukasa OI
2022-09-25  8:44 ` [PATCH 2/7] sim/cris: " Tsukasa OI
2022-09-25  8:44 ` [PATCH 3/7] sim/erc32: " Tsukasa OI
2022-09-25  8:44 ` [PATCH 4/7] sim/m32c: " Tsukasa OI
2022-09-25  8:44 ` [PATCH 5/7] sim/m68hc11: " Tsukasa OI
2022-09-25  8:44 ` [PATCH 6/7] sim/ppc: " Tsukasa OI
2022-10-05 10:57   ` Andrew Burgess [this message]
2022-10-06  5:32     ` Tsukasa OI
2022-09-25  8:44 ` [PATCH 7/7] sim/rl78: " Tsukasa OI
2022-10-06  6:36 ` [PATCH v2 0/7] sim, sim/ARCH: " Tsukasa OI
2022-10-06  6:36   ` [PATCH v2 1/7] sim: " Tsukasa OI
2022-10-11 14:24     ` Andrew Burgess
2022-10-06  6:36   ` [PATCH v2 2/7] sim/cris: " Tsukasa OI
2022-10-06  6:36   ` [PATCH v2 3/7] sim/erc32: " Tsukasa OI
2022-10-06  6:36   ` [PATCH v2 4/7] sim/m32c: " Tsukasa OI
2022-10-06  6:36   ` [PATCH v2 5/7] sim/m68hc11: " Tsukasa OI
2022-10-11 14:25     ` Andrew Burgess
2022-10-06  6:36   ` [PATCH v2 6/7] sim/ppc: " Tsukasa OI
2022-10-11 14:27     ` Andrew Burgess
2022-10-12  8:29       ` Jan-Benedict Glaw
2022-10-12  9:39         ` Andrew Burgess
2022-10-12 10:36           ` Jan-Benedict Glaw
2022-10-12 12:15             ` Jan-Benedict Glaw
2022-10-12 12:50             ` Jan-Benedict Glaw
2022-10-12 13:16               ` Tsukasa OI
2022-10-12 12:38           ` [PATCH 0/1] sim/ppc: Fix erroneous error calls (supplement) Tsukasa OI
2022-10-12 12:38             ` [PATCH 1/1] sim/ppc: Fix core_find_mapping diagnostics Tsukasa OI
2022-10-12 13:50               ` Andrew Burgess
2022-10-23 12:46           ` [PATCH v2 6/7] sim/ppc: Add ATTRIBUTE_PRINTF Mike Frysinger
2022-10-06  6:36   ` [PATCH v2 7/7] sim/rl78: " Tsukasa OI
2022-10-11 14:23   ` [PATCH v2 0/7] sim, sim/ARCH: " Andrew Burgess

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87mtaafsgk.fsf@redhat.com \
    --to=aburgess@redhat.com \
    --cc=Stephane.Carrez@gmail.com \
    --cc=fche@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=research_trasio@irq.a4lg.com \
    --cc=vapier@gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).