Re: [PATCH] ieee802154: fix gcc-4.9 warnings
From: Joe Perches <joe@perches.com>
Date: 2017-09-12 22:35:03
Also in:
lkml
On Tue, 2017-09-12 at 12:16 +0200, Arnd Bergmann wrote:
All older compiler versions up to gcc-4.9 produce these
harmless warnings:
drivers/net/ieee802154/ca8210.c: In function 'ca8210_skb_tx':
drivers/net/ieee802154/ca8210.c:1947:9: warning: missing braces around initializer [-Wmissing-braces]
This changes the syntax to something that works on all versions
without warnings.
Fixes: ded845a781a5 ("ieee802154: Add CA8210 IEEE 802.15.4 device driver")[]
quoted hunk ↗ jump to hunk
diff --git a/drivers/net/ieee802154/ca8210.c b/drivers/net/ieee802154/ca8210.c
[]
quoted hunk ↗ jump to hunk
@@ -1944,7 +1944,7 @@ static int ca8210_skb_tx( ) { int status; - struct ieee802154_hdr header = { 0 }; + struct ieee802154_hdr header = { }; struct secspec secspec; unsigned int mac_len;
Presumably gcc does this because the first member
of struct ieee802154_hdr is another struct.
I wonder if "struct foo bar = { 0 };" should be
discouraged by checkpatch.
Right now it's about 4:3 in favor of
struct foo bar = {};
over
struct foo bar = { 0 };
$ git grep -E "struct\s+\w+\s+\w+\s*=\s*\{\s*0\s*\}\s*[,;]" | wc -l
826
$ git grep -E "struct\s+\w+\s+\w+\s*=\s*\{\s*\}\s*[,;]" | wc -l
990
There are many instances on multiple lines too.
The git grep above doesn't span multiple lines.