title: Braced-group within expression returns "statement with no effect"
body: <p>I want to use the braced-group within expression, which is a GNU extension to C. The compiler will evaluate the whole block and use the value of the last statement contained in the block. The following code will print 5, but when I compile it with <code>gcc</code> it returns a warning</p>
  <p><strong><code>warning: statement with no effect [-Wunused-value]</code></strong></p>
  <pre class="lang-c prettyprint-override"><code>typeof(5) x = ({1; 2;}) + 3; // The warning points to &quot;1&quot;
  printf(&quot;%d\n&quot;, x);
  </code></pre>
  <p>Why would the GCC compiler return a warning if this expression was made by GNU?</p>