qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [Qemu-trivial] [PATCH for-2.10] util/oslib-posix.c: Avo


From: Kamil Rytarowski
Subject: Re: [Qemu-devel] [Qemu-trivial] [PATCH for-2.10] util/oslib-posix.c: Avoid warning on NetBSD
Date: Fri, 21 Jul 2017 14:18:10 +0200
User-agent: Mozilla/5.0 (X11; NetBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0

On 21.07.2017 12:22, Peter Maydell wrote:
> On 20 July 2017 at 19:26, Eric Blake <address@hidden> wrote:
>> On 07/20/2017 11:32 AM, Peter Maydell wrote:
>>> On NetBSD the compiler warns:
>>> util/oslib-posix.c: In function 'sigaction_invoke':
>>> util/oslib-posix.c:589:5: warning: missing braces around initializer 
>>> [-Wmissing-braces]
>>>      siginfo_t si = { 0 };
>>>      ^
>>
>> Uggh. That is a broken compiler.  C99 declares that 'anything = {0}' is
>> supposed to be a valid way to zero-initialize anything.
>>

Not necessarily broken compiler. According to strict C standard we need
to initialize it in this case with "{{0}}"... which is ugly. A portable
option is to go for memset(3). {} is also fine and I hope it will be
added to C standard.

>>> util/oslib-posix.c:589:5: warning: (near initialization for 'si.si_pad') 
>>> [-Wmissing-braces]
>>>
>>> because on this platform siginfo_t is defined as
>>>   typedef union siginfo {
>>>           char    si_pad[128];    /* Total size; for future expansion */
>>>           struct _ksiginfo _info;
>>>   } siginfo_t;
>>>
>>> Avoid this warning by initializing the struct with {} instead;
>>> this is a GCC extension but we use it all over the codebase already.
>>
>> Well, I'm glad that works to shut up the broken compiler.
>>
>>>
>>> Signed-off-by: Peter Maydell <address@hidden>
>>> ---
>>>  util/oslib-posix.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> Reviewed-by: Eric Blake <address@hidden>
> 
> Thanks; applied to master.
> 

Thank you!

> -- PMM
> 


Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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