title: array bound is not an integer constant before ']' token when it is actually constant
body: <p>I am trying to have an array, which has a defined size known during compile time.</p>
  
  <pre><code>const uint8_t a[2] = {0, 127}; // Fine
  const uint8_t aRange = a[1] - a[0]; // Fine
  double sums[aRange]; //Fails
  </code></pre>
  
  <p>But this fails by gcc with </p>
  
  <blockquote>
    <p>error: array bound is not an integer constant before ']' token.</p>
  </blockquote>
  
  <p>As a workaround I intend to use macro variables. But would like to know if there is any logic behind it. There is <a href="https://stackoverflow.com/questions/11269623/g-array-bound-is-not-an-integer-constant">this</a> answer, which is most related. However, according to the answer, it should have worked.</p>