qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] qcow2: Silence clang -m32 compiler warning


From: Hanna Reitz
Subject: Re: [PATCH] qcow2: Silence clang -m32 compiler warning
Date: Tue, 12 Oct 2021 09:37:48 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.1.0

On 11.10.21 18:24, Eric Blake wrote:
On Mon, Oct 11, 2021 at 05:50:31PM +0200, Hanna Reitz wrote:
With -m32, size_t is generally only a uint32_t.  That makes clang
complain that in the assertion

   assert(qiov->size <= INT64_MAX);

the range of the type of qiov->size (size_t) is too small for any of its
values to ever exceed INT64_MAX.
Yep, I'm not surprised that we hit that.

Cast qiov->size to uint64_t to silence clang.

Fixes: f7ef38dd1310d7d9db76d0aa16899cbc5744f36d
        ("block: use int64_t instead of uint64_t in driver read
        handlers")
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
---
I don't know whether this is the best possible solution, or whether we
should care about this at all (I personally think it's basically just
wrong for clang to warn about always-true conditions in assertions), but
I thought I might as well just send this patch as the basis for a
discussion.
I agree that the compiler is overly noisy, but the fix is simple
enough that I'm fine with it as written.

Well, I just hope clang won’t become even more clever in the future and realize the cast has no real effect...

Reviewed-by: Eric Blake <eblake@redhat.com>

Since the original went through my tree, I'm happy to take this one
through my NBD tree as well.

Thanks!

Hanna




reply via email to

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