Subject: Re: [PATCH v5] net: ip, diag -- Add diag interface for raw sockets

From: Cyrill Gorcunov <[email-masked]>
Date: Wed, 28 Sep 2016 16:03:57 +0300

On Wed, Sep 28, 2016 at 05:57:12AM -0700, Eric Dumazet wrote:
...
> Note that some programs could fail to compile with the added union
> anyway.
> 
> Some gcc versions are unable to compile a static init with an union
> 
> struct inet_diag_req_v2 foo = { .pad = 0, sdiag_family = AF_INET, };
> 
> When I cooked my recent fq commit I simply removed a pad and replaced
> it :
> 
> git show fefa569a9d4bc4 -- include

Oh, crap :( I've been looking into uapi headers, found that we
use anonymous unions (for example include/uapi/linux/bcache.h)
and thought it will be safe (and my test builds didn't fail).
Are you happen to know which gcc versions cant do that?