What's the semantic difference between ERANGE and EOVERFLOW?
<p>The <code>errno</code> value <code>ERANGE</code> is documented by POSIX as</p>

<blockquote>
  <p>Result too large.</p>
</blockquote>

<p>and <code>EOVERFLOW</code> is documented as</p>

<blockquote>
  <p>Value too large to be stored in data type.</p>
</blockquote>

<p>What's the semantic difference between these two? Especially considering that <code>ERANGE</code> is used by ISO 9899 (e.g. in <code>strtol</code>) with the semantic described for <code>EOVERFLOW</code>. Are these two <code>errno</code> values only distinct for historical reasons?</p>

<p>Please back up your arguments with appropriate sources if possible.</p>