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 = {}};
                  ^

Reply via email to