[llvm] r196312 - Fix mingw32 thiscall + sret.

Rafael EspĂ­ndola rafael.espindola at gmail.com
Wed Dec 4 07:06:10 PST 2013


On 4 December 2013 09:33, Yaron Keren <yaron.keren at gmail.com> wrote:
> The ones for for MingW 4.8 ABI, calling member functions with thiscall and
> handling structure-returning functions (attached). They were from the bug
> database somewhere (I can't find the page right now) and the clang one was
> also here:

OK, looks like pr12684 and pr18034 are duplicates. They are about
supporting the changes of ABI in gcc 4.7.

This fix was different. GCC 4.6 already had this behavior. I compiled
it targeting mingw and when building

struct foo {
  int a;
  int b;
  int c;
  foo f() __attribute__((thiscall));
};
void g(foo *x) {
  x->f();
}

It puts the this pointer in (%esp) and sret in %ecx.

Cheers,
Rafael



More information about the llvm-commits mailing list