title: Is enum { a } e = 1; valid?
body: <p>A simple question: is <code>enum { a } e = 1;</code> valid?</p>
  <p>In other words: does assigning a value, which <em>isn't present</em> in the set of values of enumeration constants, lead to well-defined behavior?</p>
  <p>Demo:</p>
  <pre><code>$ gcc t0.c -std=c11 -pedantic -Wall -Wextra -c
  &lt;nothing&gt;
  
  $ clang t0.c -std=c11 -pedantic -Wall -Wextra -c
  &lt;nothing&gt;
  
  $ icc t0.c -std=c11 -pedantic -Wall -Wextra -c
  t0.c(1): warning #188: enumerated type mixed with another type
  # note: the same warning for enum { a } e = 0;
  
  $ cl t0.c /std:c11 /Za /c
  &lt;nothing&gt;
  </code></pre>