qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC PATCH 1/2] audio/mixeng: Fix Clang 'int-conversion' warning


From: BALATON Zoltan
Subject: Re: [RFC PATCH 1/2] audio/mixeng: Fix Clang 'int-conversion' warning
Date: Sun, 3 May 2020 14:52:49 +0200 (CEST)
User-agent: Alpine 2.22 (BSF 395 2020-01-19)

On Sun, 3 May 2020, Philippe Mathieu-Daudé wrote:
When building with Clang 10 on Fedora 32, we get:

   CC      audio/mixeng.o
 audio/mixeng.c:274:34: error: implicit conversion from 'unsigned int' to 
'float' changes value from 4294967295 to 4294967296 
[-Werror,-Wimplicit-int-float-conversion]
 static const float float_scale = UINT_MAX / 2.f;
                                  ^~~~~~~~ ~
 /usr/lib64/clang/10.0.0/include/limits.h:56:37: note: expanded from macro 
'UINT_MAX'
 #define UINT_MAX  (__INT_MAX__  *2U +1U)
                    ~~~~~~~~~~~~~~~~~^~~

Fix by using a 64-bit float for the conversion, before casting
back to 32-bit float.

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
audio/mixeng.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/audio/mixeng.c b/audio/mixeng.c
index 739a500449..9946bfeaec 100644
--- a/audio/mixeng.c
+++ b/audio/mixeng.c
@@ -271,7 +271,7 @@ f_sample *mixeng_clip[2][2][2][3] = {
#define CONV_NATURAL_FLOAT(x) (x)
#define CLIP_NATURAL_FLOAT(x) (x)
#else
-static const float float_scale = UINT_MAX / 2.f;
+static const float float_scale = UINT_MAX / 2.;

Maybe writing it as 2.0 is easier to read and looks nicer.

Regards,
BALATON Zoltan

reply via email to

[Prev in Thread] Current Thread [Next in Thread]