title: C++0x legacy code problem
body: <p>As all you know, C++0x can't bring lots of important changes because of legacy code: all legacy code (including C code) can be compilable with a C++0x compiler.</p>
  
  <p>So why don't add something like <code>#pragma syntax(language_version)</code>, which will allow new syntax with breaking changes?</p>
  
  <pre><code>#include &lt;legacy_code_header.h&gt;
  
  #pragma syntax(2098)
  
  // something strange
  func(x)
  {
     return x + 1, x * 2;
  }
  
  int main()
  {
     a, b = func(1.0);
     return a + b;
  }
  </code></pre>