title: compiler doesn't complain about function not returning value
body: <p>I have the following function:</p>
  
  <pre><code>bool Server::ServerInit()
  {
  //  bool listenResult = socket.Listen( (const uint8 *)_LOCAL_HOST, m_iPort );
  //  if( true == listenResult )
  //      cout &lt;&lt; "Server passive socket listening\n";
  //  else
  //      cout &lt;&lt; "Server passive socket not listening\n";
  //      
  //  return listenResult;
  } // ServerInit()
  </code></pre>
  
  <p>this compiles perfectly fine, but shouldn't the compiler be complaining about the absence of a return statement? </p>
  
  <p>EDIT 0: GNU g++ compiler </p>