[LLVMdev] Handling SRet on Windows x86

Óscar Fuentes ofv at wanadoo.es
Thu Mar 28 12:19:11 PDT 2013


Eric Christopher <echristo at gmail.com> writes:

> In my opinion none of these are irrelevant. Mingw and cygwin are separate
> ABIs that deal with some C compatibility (problems mentioned in this thread
> are important here too) and give you the ability to work with low level C
> libraries on windows, but if you want true compatibility with the full
> platform
> those ABIs are insufficient.

What do you mean by "the full platform"? Every propietary extension that
MS came with along all these years? (From structured exceptions to
whatever Windows RT requires?)

MinGW is very well capable of using the Win32 API. There is partial or
non-existent support for extensions such as COM, but those are not part
of the "ABI", for sure.

> If you think these are irrelevant points then you need to state why
> and should back it up with less dismissive language.

Sorry, but this goes the other way. If you need a lesson in history
please start by investigating what "Borland" was, for instance. As
already mentioned, for a long time MSVC was considered an inferior
option and not required in any way for developing on Windows (not even
for device drivers!) Then Borland and the other vendors were displaced
by MSVC, but not because it was "the system compiler", nor even because
it was technically better overall, severely lacking in C++ compliance,
for instance. It gained market share because several reasons, among them
because the other vendors had serious management problems and because MS
marketers convinced the suits that for doing "serious" Windows
development you need the tool made by MS itself. It is no surprise, but
irritating nevertheless, that nowadays the fallacy is stablished as a
truth.

Sorry if I sound dismissive but it's quite irritating to see how
authoritativeness is attributed to something that doesn't deserve it
*to* *the* *detriment* *of* *our* *own* *project*.



More information about the llvm-dev mailing list