On Mon, Jul 9, 2012 at 9:46 PM, John McCall <[email protected]> wrote: > On Jul 9, 2012, at 6:52 AM, Timur Iskhodzhanov wrote: >> On Sat, Jul 7, 2012 at 10:44 AM, John McCall <[email protected]> wrote: >>> On Jun 28, 2012, at 1:39 PM, Timur Iskhodzhanov wrote: >>>> Part one is attached - it propagates the "isInsance" boolean to the >>>> two places where it should be read afterwards [in part 2]. >>> >>> I didn't really like this approach, so I committed a different one as >>> r159893. >>> Let me know if this helps. >> You've meant r159894. >> Yeah, I like your approach much more than mine :) >> >>>> The only logic change is around lib/CodeGen/CGCall.cpp:150. >>>> Without this change, the definition of `void __cdecl cdecl_method() {}` >>>> ends up using "thiscall" (and the call remains "cdecl" - ouch!). >>>> Probably it was a bug in the first place. >>> >>> Let me know if this is still a problem arising in your second patch. >> It still is! >> See the FIXME in the attached patch. >> Other than that, the tests pass OK and it was easy to achieve this. > > Aha, that's interesting. Okay, I think the isVariadic bit should probably be > passed down to getDefaultMethodCallConv(). While you're at it, could > you rename that to getDefaultCXXMethodCallConv()? Done. Actually, I've found and fixed a mangler bug when adding this argument :) See the attached patch
> Otherwise, this looks good. I'll try to fix the "FIXME" in the test first, otherwise this might break some C++ which compile and work now. > John.
bug_12785p2_2.patch
Description: Binary data
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
