<div dir="ltr">I don't think this is correct, I want isWindowsMSVCEnvironment to imply the Microsoft C++ ABI, which windows-itanium doesn't use.<div><br></div><div>In particular, the triple 'x86_64-pc-windows' should hit this codepath:</div><div><span style="font-family:arial,sans-serif;font-size:13px">} else if (TheTriple.</span><span style="font-family:arial,sans-serif;font-size:13px">isWindowsMSVCEnvironment()) {</span><br></div><div><span style="font-family:arial,sans-serif;font-size:13px"> MAI = new X86MCAsmInfoMicrosoft(</span><span style="font-family:arial,sans-serif;font-size:13px">TheTriple);</span><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><font face="arial, sans-serif">I think you want to add the Itanium environment to isOSMSVCRT(), since the whole idea of this environment is that it uses the MSVC C runtime and the Itanium C++ ABI with libc++ for everything else.</font></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 17, 2014 at 2:13 PM, Saleem Abdulrasool <span dir="ltr"><<a href="mailto:compnerd@compnerd.org" target="_blank">compnerd@compnerd.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: compnerd<br>
Date: Mon Nov 17 16:13:26 2014<br>
New Revision: 222180<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=222180&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=222180&view=rev</a><br>
Log:<br>
ADT: correctly report isMSVCEnvironment for windows itanium<br>
<br>
The itanium environment on Windows uses MSVC and is a MSVC environment. Report<br>
this correctly.<br>
<br>
Modified:<br>
llvm/trunk/include/llvm/ADT/Triple.h<br>
llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp<br>
llvm/trunk/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp<br>
<br>
Modified: llvm/trunk/include/llvm/ADT/Triple.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/Triple.h?rev=222180&r1=222179&r2=222180&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/Triple.h?rev=222180&r1=222179&r2=222180&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/ADT/Triple.h (original)<br>
+++ llvm/trunk/include/llvm/ADT/Triple.h Mon Nov 17 16:13:26 2014<br>
@@ -371,6 +371,7 @@ public:<br>
bool isWindowsMSVCEnvironment() const {<br>
return getOS() == Triple::Win32 &&<br>
(getEnvironment() == Triple::UnknownEnvironment ||<br>
+ getEnvironment() == Triple::Itanium ||<br>
getEnvironment() == Triple::MSVC);<br>
}<br>
<br>
<br>
Modified: llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp?rev=222180&r1=222179&r2=222180&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp?rev=222180&r1=222179&r2=222180&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp (original)<br>
+++ llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp Mon Nov 17 16:13:26 2014<br>
@@ -221,7 +221,7 @@ static MCAsmInfo *createARMMCAsmInfo(con<br>
MAI = new ARMMCAsmInfoDarwin(TT);<br>
else if (TheTriple.isWindowsItaniumEnvironment())<br>
MAI = new ARMCOFFMCAsmInfoGNU();<br>
- else if (TheTriple.isWindowsMSVCEnvironment())<br>
+ else if (TheTriple.isKnownWindowsMSVCEnvironment())<br>
MAI = new ARMCOFFMCAsmInfoMicrosoft();<br>
else<br>
MAI = new ARMELFMCAsmInfo(TT);<br>
<br>
Modified: llvm/trunk/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp?rev=222180&r1=222179&r2=222180&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp?rev=222180&r1=222179&r2=222180&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp (original)<br>
+++ llvm/trunk/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp Mon Nov 17 16:13:26 2014<br>
@@ -270,7 +270,7 @@ static MCAsmInfo *createX86MCAsmInfo(con<br>
} else if (TheTriple.isOSBinFormatELF()) {<br>
// Force the use of an ELF container.<br>
MAI = new X86ELFMCAsmInfo(TheTriple);<br>
- } else if (TheTriple.isWindowsMSVCEnvironment()) {<br>
+ } else if (TheTriple.isKnownWindowsMSVCEnvironment()) {<br>
MAI = new X86MCAsmInfoMicrosoft(TheTriple);<br>
} else if (TheTriple.isOSCygMing() ||<br>
TheTriple.isWindowsItaniumEnvironment()) {<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>