title: Why won't clang compile this source code that works in VS2012?
body: <p>I don't know if I'm doing something wrong here, but I can't for the life of me get clang to compile existing code that compiles fine in <code>VS2012</code>.</p>
  
  <p>Includes like <code>strsafe.h</code> and <code>xstring</code> cause weird compilation errors, the strangest of which is a "missing close bracket" in the middle of a standard include file. Needless to say, there is no missing bracket. Further, <code>move.h</code> causes clang to throw up with </p>
  
  <blockquote>
    <p>fatal error: expected function body after function declarator.</p>
  </blockquote>
  
  <p>Guard clauses like</p>
  
  <pre><code>#ifndef _FUNCTIONAL_
  #error Must include &lt;functional&gt;
  #endif
  </code></pre>
  
  <p>throw errors even though functional has been included.</p>
  
  <p>What am I doing wrong?</p>