<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Mar 20, 2013 at 5:21 PM, Timur Iskhodzhanov <span dir="ltr"><<a href="mailto:timurrrr@google.com" target="_blank">timurrrr@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">2013/3/20 Timur Iskhodzhanov <<a href="mailto:timurrrr@google.com">timurrrr@google.com</a>>:<br>
<div class="im">> Anton,<br>
><br>
> [+Eric, Nick,<br>
> the e-mail thread context has been broken a few times, so you should<br>
> probably look at the llvmdev archives.<br>
> It all starts here:<br>
> <a href="http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-October/053961.html" target="_blank">http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-October/053961.html</a> ]<br>
><br>
> So I've decided to make a new attempt to fix this issue.<br>
><br>
> We've discussed my patches with Eric and came up with the following idea:<br>
> a) IsTargetWindows should be true for all the targets that execute on<br>
> the Windows kernel, including Cygwin, MinGW and MSVC ABIs.<br>
><br>
> However, "Windows 32-bit ABI" usually implies "MSVC 32-bit ABI", so<br>
> it's Cygwin and MinGW (that are similar more similar to Itanium ABI<br>
> than to MSVC ABI) that should be exceptions from the general Win32<br>
> handling code.<br>
><br>
> That is,<br>
> b) We should add a IsTargetWin32 which is true if the MSVC 32-bit ABI<br>
> is used and false for Cygwin+MinGW.<br>
</div>FTR, there's already such a method but it is (mis?)used only in<br>
lib/Target/X86/X86FrameLowering.cpp for segmented stacks.<br>
Are segmented stacks actually used with MSVC or is it just the<br>
conditions there should use isTargetMingw() && !is64Bit() instead?<br>
<div class="HOEnZb"><div class="h5"><br></div></div></blockquote><div><br></div><div style>cc'ing graydon about segmented stacks because I know rust uses them.</div><div style><br></div><div style>-eric </div></div><br>
</div></div>