[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH V2] build: remove compile warning
From: |
Stefan Weil |
Subject: |
Re: [Qemu-devel] [PATCH V2] build: remove compile warning |
Date: |
Sat, 22 Jun 2013 12:03:27 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130510 Thunderbird/17.0.6 |
Am 18.06.2013 12:13, schrieb Paolo Bonzini:
> Il 07/06/2013 14:17, Markus Armbruster ha scritto:
>>> diff --git a/util/iov.c b/util/iov.c
>>> index cc6e837..b91cfb9 100644
>>> --- a/util/iov.c
>>> +++ b/util/iov.c
>>> @@ -146,7 +146,7 @@ ssize_t iov_send_recv(int sockfd, struct iovec *iov,
>>> unsigned iov_cnt,
>>> {
>>> ssize_t total = 0;
>>> ssize_t ret;
>>> - size_t orig_len, tail;
>>> + size_t orig_len = 0, tail;
>>> unsigned niov;
>>>
>>> while (bytes > 0) {
>> Here are the uses of orig_len:
>>
>> if (tail) {
>> /* second, fixup the last element, and remember the original
>> * length */
>> assert(niov < iov_cnt);
>> assert(iov[niov].iov_len > tail);
>> orig_len = iov[niov].iov_len;
>> iov[niov++].iov_len = tail;
>> }
>>
>> ret = do_send_recv(sockfd, iov, niov, do_send);
>>
>> /* Undo the changes above before checking for errors */
>> if (tail) {
>> iov[niov-1].iov_len = orig_len;
>> }
>>
>>
>> gcc is too stupid to understand the control flow. The initialization
>> shuts it up.
> Looks like most people's GCC is not that stupid, or I would have broken
> build for everyone, right?
>
> Paolo
Hi Paolo,
I get this warning, too, when I run a normal cross compilation with
MinGW-w64:
util/iov.c:190:33: warning: ‘orig_len’ may be used uninitialized in this
function [-Wuninitialized]
My build environment:
Debian wheezy with packages gcc-mingw-w64-i686, gcc-mingw-w64-x86-64
(4.6.3-14+8).
A complete build results in 5 warnings. Here are the other 4 of them:
hw/arm/spitz.c:280:0: warning: "MOD_SHIFT" redefined [enabled by default]
hw/ppc/spapr.c:673:26: warning: cast from pointer to integer of
different size [-Wpointer-to-int-cast]
hw/ppc/spapr_hcall.c:188:1: warning: control reaches end of non-void
function [-Wreturn-type]
hw/ppc/spapr_pci.c:454:1: warning: control reaches end of non-void
function [-Wreturn-type]
I already sent a patch for the MOD_SHIFT issue.
The remaining 3 warnings are also caused by code which makes it difficult
for the compiler to detect that it is correct.
Regards
Stefan
- [Qemu-devel] [PATCH V2] build: remove compile warning, Wenchao Xia, 2013/06/07
- Re: [Qemu-devel] [PATCH V2] build: remove compile warning, Stefan Hajnoczi, 2013/06/07
- Re: [Qemu-devel] [PATCH V2] build: remove compile warning, Markus Armbruster, 2013/06/07
- Re: [Qemu-devel] [PATCH V2] build: remove compile warning, Wenchao Xia, 2013/06/07
- Re: [Qemu-devel] [PATCH V2] build: remove compile warning, Paolo Bonzini, 2013/06/18
- Re: [Qemu-devel] [PATCH V2] build: remove compile warning,
Stefan Weil <=
- Re: [Qemu-devel] [PATCH V2] build: remove compile warning, Paolo Bonzini, 2013/06/24
- Re: [Qemu-devel] [PATCH V2] build: remove compile warning, Stefan Weil, 2013/06/24
- Re: [Qemu-devel] [PATCH V2] build: remove compile warning, Paolo Bonzini, 2013/06/26
- Re: [Qemu-devel] [PATCH V2] build: remove compile warning, Wenchao Xia, 2013/06/24