qemu-trivial.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-trivial] [PATCH] audio: Replace macro GCC_ATTR by GCC_FMT_ATTR and use inline functions
@ 2013-06-09 12:22 Stefan Weil
  2013-06-09 17:28 ` [Qemu-trivial] [Qemu-devel] " Andreas Färber
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Stefan Weil @ 2013-06-09 12:22 UTC (permalink / raw)
  To: qemu-trivial; +Cc: Stefan Weil, Vassili Karpov (malc), qemu-devel

GCC_ATTR was only used in audio_int.h, so it is now unused and
the definition can be removed from compiler.h.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
---
 audio/audio_int.h       |    8 +++-----
 include/qemu/compiler.h |    3 ---
 2 files changed, 3 insertions(+), 8 deletions(-)

diff --git a/audio/audio_int.h b/audio/audio_int.h
index b9b0676..5a6284b 100644
--- a/audio/audio_int.h
+++ b/audio/audio_int.h
@@ -243,7 +243,7 @@ static inline int audio_ring_dist (int dst, int src, int len)
     return (dst >= src) ? (dst - src) : (len - src + dst);
 }
 
-static void GCC_ATTR dolog (const char *fmt, ...)
+static inline void GCC_FMT_ATTR(1, 2) dolog (const char *fmt, ...)
 {
     va_list ap;
 
@@ -253,7 +253,7 @@ static void GCC_ATTR dolog (const char *fmt, ...)
 }
 
 #ifdef DEBUG
-static void GCC_ATTR ldebug (const char *fmt, ...)
+static inline void GCC_FMT_ATTR(1, 2) ldebug (const char *fmt, ...)
 {
     va_list ap;
 
@@ -267,15 +267,13 @@ static void GCC_ATTR ldebug (const char *fmt, ...)
 #elif defined NDEBUG && defined _MSC_VER
 #define ldebug __noop
 #else
-static void GCC_ATTR ldebug (const char *fmt, ...)
+static inline void GCC_FMT_ATTR(1, 2) ldebug (const char *fmt, ...)
 {
     (void) fmt;
 }
 #endif
 #endif
 
-#undef GCC_ATTR
-
 #define AUDIO_STRINGIFY_(n) #n
 #define AUDIO_STRINGIFY(n) AUDIO_STRINGIFY_(n)
 
diff --git a/include/qemu/compiler.h b/include/qemu/compiler.h
index 6175c24..155b358 100644
--- a/include/qemu/compiler.h
+++ b/include/qemu/compiler.h
@@ -38,11 +38,9 @@
 #if defined __GNUC__
 # if !QEMU_GNUC_PREREQ(4, 4)
    /* gcc versions before 4.4.x don't support gnu_printf, so use printf. */
-#  define GCC_ATTR __attribute__((__unused__, format(printf, 1, 2)))
 #  define GCC_FMT_ATTR(n, m) __attribute__((format(printf, n, m)))
 # else
    /* Use gnu_printf when supported (qemu uses standard format strings). */
-#  define GCC_ATTR __attribute__((__unused__, format(gnu_printf, 1, 2)))
 #  define GCC_FMT_ATTR(n, m) __attribute__((format(gnu_printf, n, m)))
 #  if defined(_WIN32)
     /* Map __printf__ to __gnu_printf__ because we want standard format strings
@@ -51,7 +49,6 @@
 #  endif
 # endif
 #else
-#define GCC_ATTR /**/
 #define GCC_FMT_ATTR(n, m)
 #endif
 
-- 
1.7.10.4



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [Qemu-trivial] [Qemu-devel] [PATCH] audio: Replace macro GCC_ATTR by GCC_FMT_ATTR and use inline functions
  2013-06-09 12:22 [Qemu-trivial] [PATCH] audio: Replace macro GCC_ATTR by GCC_FMT_ATTR and use inline functions Stefan Weil
@ 2013-06-09 17:28 ` Andreas Färber
  2013-06-10 15:38 ` [Qemu-trivial] " Michael Tokarev
  2013-06-11 12:38 ` Michael Tokarev
  2 siblings, 0 replies; 6+ messages in thread
From: Andreas Färber @ 2013-06-09 17:28 UTC (permalink / raw)
  To: Stefan Weil; +Cc: qemu-trivial, Vassili Karpov (malc), qemu-devel

Am 09.06.2013 14:22, schrieb Stefan Weil:
> GCC_ATTR was only used in audio_int.h, so it is now unused and
> the definition can be removed from compiler.h.
> 
> Signed-off-by: Stefan Weil <sw@weilnetz.de>

Reviewed-by: Andreas Färber <afaerber@suse.de>

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-trivial] [PATCH] audio: Replace macro GCC_ATTR by GCC_FMT_ATTR and use inline functions
  2013-06-09 12:22 [Qemu-trivial] [PATCH] audio: Replace macro GCC_ATTR by GCC_FMT_ATTR and use inline functions Stefan Weil
  2013-06-09 17:28 ` [Qemu-trivial] [Qemu-devel] " Andreas Färber
@ 2013-06-10 15:38 ` Michael Tokarev
  2013-06-11 12:38 ` Michael Tokarev
  2 siblings, 0 replies; 6+ messages in thread
From: Michael Tokarev @ 2013-06-10 15:38 UTC (permalink / raw)
  To: Stefan Weil; +Cc: qemu-trivial, Vassili Karpov (malc), qemu-devel

09.06.2013 16:22, Stefan Weil wrote:
> GCC_ATTR was only used in audio_int.h, so it is now unused and
> the definition can be removed from compiler.h.

Thanks, applied to the trivial patches queue.

/mjt


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-trivial] [PATCH] audio: Replace macro GCC_ATTR by GCC_FMT_ATTR and use inline functions
  2013-06-09 12:22 [Qemu-trivial] [PATCH] audio: Replace macro GCC_ATTR by GCC_FMT_ATTR and use inline functions Stefan Weil
  2013-06-09 17:28 ` [Qemu-trivial] [Qemu-devel] " Andreas Färber
  2013-06-10 15:38 ` [Qemu-trivial] " Michael Tokarev
@ 2013-06-11 12:38 ` Michael Tokarev
  2013-06-11 12:42   ` [Qemu-trivial] [Qemu-devel] " Andreas Färber
  2013-06-11 17:24   ` [Qemu-trivial] " Stefan Weil
  2 siblings, 2 replies; 6+ messages in thread
From: Michael Tokarev @ 2013-06-11 12:38 UTC (permalink / raw)
  To: Stefan Weil; +Cc: qemu-trivial, qemu-devel

[Removing malc's email since it bounces]
09.06.2013 16:22, Stefan Weil wrote:
> GCC_ATTR was only used in audio_int.h, so it is now unused and
> the definition can be removed from compiler.h.
> 
> Signed-off-by: Stefan Weil <sw@weilnetz.de>
> ---
>  audio/audio_int.h       |    8 +++-----
>  include/qemu/compiler.h |    3 ---
>  2 files changed, 3 insertions(+), 8 deletions(-)
> 
> diff --git a/audio/audio_int.h b/audio/audio_int.h
> index b9b0676..5a6284b 100644
> --- a/audio/audio_int.h
> +++ b/audio/audio_int.h
> @@ -243,7 +243,7 @@ static inline int audio_ring_dist (int dst, int src, int len)
>      return (dst >= src) ? (dst - src) : (len - src + dst);
>  }
>  
> -static void GCC_ATTR dolog (const char *fmt, ...)
> +static inline void GCC_FMT_ATTR(1, 2) dolog (const char *fmt, ...)

This change (adding `inline') causes build failure with at least with gcc-4.7:

audio/wavaudio.c: In function ‘dolog’:
audio/audio_int.h:246:100: error: function ‘dolog’ can never be inlined because it uses variable argument lists

$ gcc --version
gcc (Debian 4.7.2-5) 4.7.2

I think the addition of inline should be dropped here and in other
similar places (the rest is ok).

I can do that myself if you want.

Alternatively these functions can be turned into varargs #defines.

Thanks,

/mjt


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-trivial] [Qemu-devel] [PATCH] audio: Replace macro GCC_ATTR by GCC_FMT_ATTR and use inline functions
  2013-06-11 12:38 ` Michael Tokarev
@ 2013-06-11 12:42   ` Andreas Färber
  2013-06-11 17:24   ` [Qemu-trivial] " Stefan Weil
  1 sibling, 0 replies; 6+ messages in thread
From: Andreas Färber @ 2013-06-11 12:42 UTC (permalink / raw)
  To: Michael Tokarev; +Cc: qemu-trivial, Stefan Weil, qemu-devel

Am 11.06.2013 14:38, schrieb Michael Tokarev:
> [Removing malc's email since it bounces]
> 09.06.2013 16:22, Stefan Weil wrote:
>> GCC_ATTR was only used in audio_int.h, so it is now unused and
>> the definition can be removed from compiler.h.
>>
>> Signed-off-by: Stefan Weil <sw@weilnetz.de>
>> ---
>>  audio/audio_int.h       |    8 +++-----
>>  include/qemu/compiler.h |    3 ---
>>  2 files changed, 3 insertions(+), 8 deletions(-)
>>
>> diff --git a/audio/audio_int.h b/audio/audio_int.h
>> index b9b0676..5a6284b 100644
>> --- a/audio/audio_int.h
>> +++ b/audio/audio_int.h
>> @@ -243,7 +243,7 @@ static inline int audio_ring_dist (int dst, int src, int len)
>>      return (dst >= src) ? (dst - src) : (len - src + dst);
>>  }
>>  
>> -static void GCC_ATTR dolog (const char *fmt, ...)
>> +static inline void GCC_FMT_ATTR(1, 2) dolog (const char *fmt, ...)
> 
> This change (adding `inline') causes build failure with at least with gcc-4.7:
> 
> audio/wavaudio.c: In function ‘dolog’:
> audio/audio_int.h:246:100: error: function ‘dolog’ can never be inlined because it uses variable argument lists
> 
> $ gcc --version
> gcc (Debian 4.7.2-5) 4.7.2
> 
> I think the addition of inline should be dropped here and in other
> similar places (the rest is ok).
> 
> I can do that myself if you want.

But having a static function in the header still needs the __unused__
attribute, which this patch tries to remove, doesn't it?

Andreas

> 
> Alternatively these functions can be turned into varargs #defines.
> 
> Thanks,
> 
> /mjt
> 


-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-trivial] [PATCH] audio: Replace macro GCC_ATTR by GCC_FMT_ATTR and use inline functions
  2013-06-11 12:38 ` Michael Tokarev
  2013-06-11 12:42   ` [Qemu-trivial] [Qemu-devel] " Andreas Färber
@ 2013-06-11 17:24   ` Stefan Weil
  1 sibling, 0 replies; 6+ messages in thread
From: Stefan Weil @ 2013-06-11 17:24 UTC (permalink / raw)
  To: Michael Tokarev; +Cc: qemu-trivial, qemu-devel

Am 11.06.2013 14:38, schrieb Michael Tokarev:
> [Removing malc's email since it bounces]
> 09.06.2013 16:22, Stefan Weil wrote:
>> GCC_ATTR was only used in audio_int.h, so it is now unused and
>> the definition can be removed from compiler.h.
>>
>> Signed-off-by: Stefan Weil <sw@weilnetz.de>

[snip]

> This change (adding `inline') causes build failure with at least with gcc-4.7:
>
> audio/wavaudio.c: In function ‘dolog’:
> audio/audio_int.h:246:100: error: function ‘dolog’ can never be inlined because it uses variable argument lists
>
> $ gcc --version
> gcc (Debian 4.7.2-5) 4.7.2
>
> I think the addition of inline should be dropped here and in other
> similar places (the rest is ok).
>
> I can do that myself if you want.
>
> Alternatively these functions can be turned into varargs #defines.
>
> Thanks,
>
> /mjt

Thank you for reporting this compiler problem. I did not see
it because I configured with -enable-debugwhich disables
inline functions.

I'll send a new patch which uses macros.

Regards
Stefan



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-06-11 17:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-09 12:22 [Qemu-trivial] [PATCH] audio: Replace macro GCC_ATTR by GCC_FMT_ATTR and use inline functions Stefan Weil
2013-06-09 17:28 ` [Qemu-trivial] [Qemu-devel] " Andreas Färber
2013-06-10 15:38 ` [Qemu-trivial] " Michael Tokarev
2013-06-11 12:38 ` Michael Tokarev
2013-06-11 12:42   ` [Qemu-trivial] [Qemu-devel] " Andreas Färber
2013-06-11 17:24   ` [Qemu-trivial] " Stefan Weil

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 NNTP newsgroup(s).