title: When a function missing the return value, the compiler generates a warning but not an error?
body: <p>Here is a c++ function:</p>
  
  <pre><code>int FuncWithoutReturn()
  {
    int var = 10;
    ++var;
    // No return value here !!!
  }
  </code></pre>
  
  <p>In MSVC, compiler generates error:</p>
  
  <blockquote>
    <p>error C4716: 'FuncWithoutReturn' : must return a value.</p>
  </blockquote>
  
  <p>But in XCode 5, the compiler just spits a warning:</p>
  
  <blockquote>
    <p>Control reaches end of non-void function</p>
  </blockquote>
  
  <p>In runtime if I am lucky, the app crashes. I know it is a stupid error but it would be good that the compiler yields an error in first place. </p>
  
  <p>Just wondering anyone knows WHY XCode think it is a warning instead of an error.</p>