[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 17/25] audio: remove gcc specific audio_MIN, aud
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH 17/25] audio: remove gcc specific audio_MIN, audio_MAX |
Date: |
Thu, 20 Aug 2015 00:31:40 +0100 |
On 19 August 2015 at 19:17, Gerd Hoffmann <address@hidden> wrote:
> On Do, 2015-08-06 at 20:28 +0200, Kővágó, Zoltán wrote:
>> Currently the gcc specific version only evaluates the arguments once,
>> while the generic version evaluates one argument twice, which can cause
>> debugging headaches when an argument has a side effect.
>
> The answer to that is "don't do that". Do we have macro calls with side
> effects in the tree?
>
>> This patch at least provides consistent behavior between compilers.
>
> Makes sense.
>
>> -#else
>> #define audio_MIN(a, b) ((a)>(b)?(b):(a))
>> #define audio_MAX(a, b) ((a)<(b)?(b):(a))
>> -#endif
>
> include/qemu/osdep.h already provides MIN/MAX macros.
>
> I think we should either define audio_MIN (and audio_MAX) to those, or
> simply do s/audio_MIN/MIN/ in audio/*.c
My vote is for the latter. Incidentally we already assume both
typeof and statement expr support in our compilers, so we could
upgrade our local MIN/MAX implementations to use them if we
really needed. (We'd have to rename them though, since the
system implementation likely does the eval-twice thing.)
A quick grep doesn't show any audio_MIN/MAX which need to
avoid multiple-evaluation, though.
thanks
-- PMM
- [Qemu-devel] [PATCH 19/25] paaudio: fix playback glitches, (continued)
- [Qemu-devel] [PATCH 19/25] paaudio: fix playback glitches, Kővágó, Zoltán, 2015/08/06
- [Qemu-devel] [PATCH 18/25] audio: do not run each backend in audio_run, Kővágó, Zoltán, 2015/08/06
- [Qemu-devel] [PATCH 25/25] audio: split ctl_* functions into enable_* and volume_*, Kővágó, Zoltán, 2015/08/06
- [Qemu-devel] [PATCH 17/25] audio: remove gcc specific audio_MIN, audio_MAX, Kővágó, Zoltán, 2015/08/06
- [Qemu-devel] [PATCH 14/25] audio: audiodev= parameters no longer optional when -audiodev present, Kővágó, Zoltán, 2015/08/06
- [Qemu-devel] [PATCH 22/25] audio: add mixeng option (documentation), Kővágó, Zoltán, 2015/08/06
- [Qemu-devel] [PATCH 13/25] audio: add audiodev properties to frontends, Kővágó, Zoltán, 2015/08/06
- [Qemu-devel] [PATCH 21/25] audio: common rate control code for timer based outputs, Kővágó, Zoltán, 2015/08/06