[LLVMdev] [cfe-dev] Handling SRet on Windows x86
asl at math.spbu.ru
Wed Mar 27 13:32:12 PDT 2013
I myself find the name "Win32" pretty confusing and easy to misuse
(especially for someone who assumes that windows == msvc). After all
mingw and cygwin is also win32. Maybe we should rename it into
isTargetMSVC or something like this?
On Wed, Mar 27, 2013 at 6:26 AM, Timur Iskhodzhanov <timurrrr at google.com> wrote:
> What do you think?
> 2013/3/20 Eric Christopher <echristo at gmail.com>:
>> On Wed, Mar 20, 2013 at 5:21 PM, Timur Iskhodzhanov <timurrrr at google.com>
>>> 2013/3/20 Timur Iskhodzhanov <timurrrr at google.com>:
>>> > Anton,
>>> > [+Eric, Nick,
>>> > the e-mail thread context has been broken a few times, so you should
>>> > probably look at the llvmdev archives.
>>> > It all starts here:
>>> > http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-October/053961.html ]
>>> > So I've decided to make a new attempt to fix this issue.
>>> > We've discussed my patches with Eric and came up with the following
>>> > idea:
>>> > a) IsTargetWindows should be true for all the targets that execute on
>>> > the Windows kernel, including Cygwin, MinGW and MSVC ABIs.
>>> > However, "Windows 32-bit ABI" usually implies "MSVC 32-bit ABI", so
>>> > it's Cygwin and MinGW (that are similar more similar to Itanium ABI
>>> > than to MSVC ABI) that should be exceptions from the general Win32
>>> > handling code.
>>> > That is,
>>> > b) We should add a IsTargetWin32 which is true if the MSVC 32-bit ABI
>>> > is used and false for Cygwin+MinGW.
>>> FTR, there's already such a method but it is (mis?)used only in
>>> lib/Target/X86/X86FrameLowering.cpp for segmented stacks.
>>> Are segmented stacks actually used with MSVC or is it just the
>>> conditions there should use isTargetMingw() && !is64Bit() instead?
> Attached is a patch that makes the proposed change to isTargetWin32
> and also fixes all the previous uses of isTargetWin32.
> Can you please review it?
>> cc'ing graydon about segmented stacks because I know rust uses them.
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University
More information about the llvm-dev