[LLVMdev] [cfe-dev] Handling SRet on Windows x86
NAKAMURA Takumi
geek4civic at gmail.com
Fri Mar 29 12:17:15 PDT 2013
2013/3/30 Timur Iskhodzhanov <timurrrr at google.com>:
> 2013/3/28 Anton Korobeynikov <asl at math.spbu.ru>:
>>> How can having an MSVC compatible compiler be to the detriment of clang and
>>> llvm? No one is trying to break mingw here, merely add support for something
>> Just to make stuff clear: I just wanted proper naming which will be
>> non-confusing. Right now we have:
>> - isTargetWindows() which really means "msvc-compabile"
>> - isTargetWin32() which means "everything on windows", so Windows +
>> Mingw + Cygwin
> Minor correction: currently isTargetWin32 means 32-bits (not
> "everything"), Windows + Mingw, not Cygwin.
> So this is actually even more confusing...
I expect you not to use the term "Windows" in this context any more.
>> - isTargetWin64() is is basically 64-bit version of isTargetWin32(),
>> but strictly speaking is slightly different
>>
>> This naming while being the historical artifact is extremely
>> confusing. For me it seems the best solution will be something like
>> this:
>> - isTargetMingw() - with obvious meaning
>> - isTargetMSVC() - with obvious meaning
>> - isTargetWindows() which will include all the flavours (so only OS
>> will matter here)
>> - isTargetWindows() can be combined with existing 32/64 bit checks
>> This way we'll end with something being non-ambiguos.
> I think this is a much better naming than we have now, I'll prepare a
> patch for that.
At first, I suggest to change s/isTargetWindows/isTargetMSVC/
> Should we change the ***-pc-win32 triple to ***-pc-msvc ?
I think it might not required urgently.
My suggestions;
*-win32-{cygwin|mingw32|msvcrtXX}, then, -win32- can be omitted.
*-win32(-llvm), we could implement it as our new target, with
compiler-rt and libcxx, (w/o ms static crt nor cygming's libgcc).
I expect *-win32 might be more neutral than cygming and msvc.
I think it'd be better if we could take ms (C/C++) abi here.
FYI, I suppose Kai, a maintainer in cygming-gcc, might intend to
change its abi more suitable to msvc, for example, C++'s thiscall and
name mangling.
...Takumi
More information about the llvm-dev
mailing list