after run through the build, I found the suggested fix can not solve other problem like:<div><div>     1>..\..\..\llvm-ng\tools\llvm-ld\llvm-ld.cpp(414): error C2039: 'CopyFileA' : is not a member of 'llvm::sys'</div>
<div>     1>..\..\..\llvm-ng\tools\llvm-ld\llvm-ld.cpp(414): error C2664: 'CopyFileA' : cannot convert parameter 1 from 'llvm::sys::Path' to 'LPCSTR'</div><div>In general, windows header will redefine CopyFile, FindExecutable, etc to a unicode version and a non-unicode version. So the fix can be add a inline method which implement MemoryBarrier instead of including windows.h.</div>
<div><br></div><br><div class="gmail_quote">On Wed, May 20, 2009 at 11:18 AM, Howard Su <span dir="ltr"><<a href="mailto:howard0su@gmail.com">howard0su@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
I got the following errors when compiling under vs2008:<div><div>..\..\..\llvm-ng\lib\Support\Timer.cpp(178): error C2589: '(' : illegal token on right side of '::'</div><div>..\..\..\llvm-ng\lib\Support\Timer.cpp(178): error C2059: syntax error : '::'</div>

<div><br></div><div>I think this is broken after rev:72087.</div><div><br></div><div>Under VS, windows.h also defined a min,max macro which cause the conflict. I will suggest to fix as:</div><div><div>#if defined(_MSC_VER)</div>

<div>#define NOMINMAX</div><div>#include <windows.h></div><div>#endif</div></div><div><br></div><div>-- </div>-Howard<br>
</div>
</blockquote></div><br><br clear="all"><br>-- <br>-Howard<br>
</div>