<div dir="ltr">As mentioned in the bug (<a href="http://llvm.org/bugs/show_bug.cgi?id=17428#c3">http://llvm.org/bugs/show_bug.cgi?id=17428#c3</a>), the best supported way to use the MS C++ ABI is to use clang-cl.exe.  Joao mentions the other way to switch the C++ ABI dynamically, but it's an internal -cc1 flag subject to change.<div>
<br></div><div>Long term, if the OS is set to win32 (not mingw32) via the --target= flag, I would like that to imply the Microsoft C++ ABI, rather than the weird not-mingw-but-still-Itanium hybrid we use today.  That will require changes to the test suite, and I'd like to fix virtual inheritance first.</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Oct 2, 2013 at 1:44 AM, 湖西Zero <span dir="ltr"><<a href="mailto:lifangmu@foxmail.com" target="_blank">lifangmu@foxmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>I look over clang source, It have Microsoft CXXABI.cpp in clang/lib/CodeGen/,support Microsoft C++ ABI;I recommend to open a default C + + ABI's cmake variable when you use VisualStudio + cmake build clang when the default C + + ABI for the Microsoft C + + ABI, and in the clang's "driver" to support dynamically assigned - ABI = Microsoft or - ABI = Itanium,</div>

<div> </div>
<div>
<div style="FONT-SIZE:12px;FONT-FAMILY:Arial Narrow;COLOR:#909090">------------------</div>
<div style="font-size:14px;font-family:Verdana"><a href="http://wpa.qq.com/msgrd?v=3&uin=1053112601&site=qq&menu=yes" target="_blank"><img title="点击这里给我发消息" border="0"></a></div></div>
<div> </div>
<div><br></div>
<div><br></div>
<div style="FONT-SIZE:12px;FONT-FAMILY:Arial Narrow;PADDING-BOTTOM:2px;PADDING-TOP:2px;PADDING-LEFT:0px;PADDING-RIGHT:0px">------------------ 原始邮件 ------------------</div>
<div style="FONT-SIZE:12px;BACKGROUND:#efefef;PADDING-BOTTOM:8px;PADDING-TOP:8px;PADDING-LEFT:8px;PADDING-RIGHT:8px">
<div><b>发件人:</b> "Richard Smith"<u></u><u></u>; </div>
<div><b>发送时间:</b> 2013年10月2日(星期三) 上午8:27</div>
<div><b>收件人:</b> "湖西Zero"<u></u><u></u>; "bdawes"<u></u><u></u>; "cfe-dev"<u></u><u></u>; </div>
<div><b>主题:</b> Re: [cfe-dev] [Windows toolchain] link failures from command prompt</div></div><div class="HOEnZb"><div class="h5">
<div><br></div>
<div dir="ltr">
<div class="gmail_extra">On Tue, Oct 1, 2013 at 7:46 AM, 湖西Zero <span dir="ltr"><<a href="mailto:lifangmu@foxmail.com" target="_blank">lifangmu@foxmail.com</a>></span> wrote:<br>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="PADDING-LEFT:1ex;MARGIN:0px 0px 0px 0.8ex;BORDER-LEFT:rgb(204,204,204) 1px solid">
<div>I know,Visual Studio Use Microsoft C++ ABI,But Clang Use Itanium ABI ,They are not the same as Name mangling。</div></blockquote>
<div><br></div>
<div>Clang does support a lot of the MS C++ ABI, but the 'clang++' driver defaults to using the Itanium ABI. See the comments on the bug for more information.</div>
<div> </div>
<blockquote class="gmail_quote" style="PADDING-LEFT:1ex;MARGIN:0px 0px 0px 0.8ex;BORDER-LEFT:rgb(204,204,204) 1px solid">
<div><u></u>
<div>------------------</div>
<div style="FONT-SIZE:14px;FONT-FAMILY:Verdana"><a href="http://wpa.qq.com/msgrd?v=3&uin=1053112601&site=qq&menu=yes" target="_blank"><img title="点击这里给我发消息" border="0"></a></div><u></u></div>
<div> </div>
<div><br></div>
<div><br></div>
<div>------------------ Original ------------------</div>
<div style="FONT-SIZE:12px;PADDING-BOTTOM:8px;PADDING-TOP:8px;PADDING-LEFT:8px;PADDING-RIGHT:8px;BACKGROUND-COLOR:rgb(239,239,239)">
<div><b>From:</b> "Beman Dawes"<u></u>; </div>
<div><b>Date:</b> 2013年10月1日(星期二) 晚上10:19</div>
<div><b>To:</b> "Clang"<u></u>; </div>
<div><b>Subject:</b> [cfe-dev] [Windows toolchain] link failures from command prompt</div></div>
<div>
<div>
<div><br></div>I just filed a bug report (<a href="http://llvm.org/bugs/show_bug.cgi?id=17428" target="_blank">http://llvm.<u></u>org/bugs/sho<u></u>w_bug.cgi?id<u></u>=17428</a>)<br>against LLVM-3.4.r191323-win32.exe. Here is the rationale for considering<br>
failure to link under the "Developer Command Prompt for VS2012" a bug:<br><br>Boost developers and test runners, and probably lots of other folks too, run<br>their automated tests from the command prompt rather than via the IDE. So it<br>
is a showstopper for these folks if the clang windows toolchain doesn't work<br>from the command prompt.<br><br>In my little hello.cpp test the clang++ compile was clean, but the link had<br>unresolved externals like "hello-111ee3.o : error LNK2019: unresolved<br>
external symbol __ZSt4cout referenced in function _main".<br><br>That's particularly frustrating since it is so close to working!<br><br>Once the command prompt is working, I'll submit a patch to<br><a href="http://llvm.org/builds/" target="_blank">http://llvm.<u></u>org/builds/</a> explaining how to use it.<br>
<br>Thanks,<br><br>--Beman<br><br><br>_______________________________________________<br>cfe-dev mailing list<br><a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.u<u></u>iuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists<u></u>.cs.uiuc.edu<u></u>/mailman/lis<u></u>tinfo/cfe-de<u></u>v</a><br>
</div></div>.<br><br>_______________________________________________<br>cfe-dev mailing list<br><a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
<br></blockquote></div><br></div></div></div></div><br>_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
<br></blockquote></div><br></div>