title: non-trivial designated initializers not supported
body: <p>I have a structure as follows:</p>
  
  <pre><code>struct app_data
  {
      int port;
      int ib_port;
      unsigned size;
      int tx_depth;
      int sockfd;
      char *servername;
      struct ib_connection local_connection;
      struct ib_connection *remote_connection;
      struct ibv_device *ib_dev;
  
  };
  </code></pre>
  
  <p>When I try to initialize it thus:</p>
  
  <pre><code>struct app_data data =
  {
      .port = 18515,
      .ib_port = 1,
      .size = 65536,
      .tx_depth = 100,
      .sockfd = -1,
      .servername = NULL,
      .remote_connection = NULL,
      .ib_dev = NULL
  };
  </code></pre>
  
  <p>I get this error:</p>
  
  <pre><code>sorry, unimplemented: non-trivial designated initializers not supported
  </code></pre>
  
  <p>I think it wants the order of initialization exactly as it is declared, and <code>local_connection</code> is missing. I don't need to initialize it though, and setting it to NULL doesn't work.</p>
  
  <p>If I change it to this for g++, still get the same error:</p>
  
  <pre><code>struct app_data data =
  {
      port : 18515,
      ib_port : 1,
      size : 65536,
      tx_depth : 100,
      sockfd : -1,
      servername : NULL,
      remote_connection : NULL,
      ib_dev : NULL
  };
  </code></pre>