https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109482
--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Jonathan Wakely from comment #5)
> Not when s_addr is a macro for S_un.S_addr or something like that.
The real definition on Solaris is more like:
struct in_addr {
union {
struct { char b[4]; };
in_addr_t S_addr;
} S_un;
#define s_addr S_un.S_addr
};
And this gives:
error: expected primary-expression before '.' token
in_addr a = {.s_addr = {}};
^
