title: initialize a union array at declaration
body: <p>I'm trying to initialize the following union array at declaration:</p>
  
  <pre><code>typedef union { __m128d m;  float f[4]; } mat;
  mat m[2] = { {{30467.14153,5910.1427,15846.23837,7271.22705},
  {30467.14153,5910.1427,15846.23837,7271.22705}}};
  </code></pre>
  
  <p>But I'getting the following error:</p>
  
  <pre><code>matrix.c: In function ‘main’:
  matrix.c:21: error: incompatible types in initialization
  matrix.c:21: warning: excess elements in union initializer
  matrix.c:21: warning: (near initialization for ‘m[0]’)
  matrix.c:21: warning: excess elements in union initializer
  matrix.c:21: warning: (near initialization for ‘m[0]’)
  matrix.c:21: warning: excess elements in union initializer
  matrix.c:21: warning: (near initialization for ‘m[0]’)
  matrix.c:21: error: incompatible types in initialization
  matrix.c:21: warning: excess elements in union initializer
  matrix.c:21: warning: (near initialization for ‘m[1]’)
  matrix.c:21: warning: excess elements in union initializer
  matrix.c:21: warning: (near initialization for ‘m[1]’)
  matrix.c:21: warning: excess elements in union initializer
  matrix.c:21: warning: (near initialization for ‘m[1]’)
  </code></pre>