[cfe-commits] r70404 - /cfe/trunk/lib/CodeGen/CGObjCMac.cpp

Fariborz Jahanian fjahanian at apple.com
Wed Apr 29 15:03:26 PDT 2009


clang tries to follow gcc's implementation for message dispatch
(which is based on the document list below). Note that, gcc's  
implementation may have
since diverted from the document (gcc-4.2 on Leopard).
If you find cases that does notmatch from that (or is plain wrong),  
please file bug report.

- Thanks, Fariborz

On Apr 29, 2009, at 2:32 PM, Eli Friedman wrote:

> On Wed, Apr 29, 2009 at 1:54 PM, Fariborz Jahanian <fjahanian at apple.com 
> > wrote:
>> It is not needed for 32bit code gen of  objc_msgSend. But when
>> objc_msgSend is used in 64bit API (something I have done locally),
>> it is necessary for the lower byte of %rax register to get set to  
>> 0. I
>> thought that I set this unconditionally
>> for now.
>
> I assume you don't mean that %rax *always* gets set to 0?  It should
> depend on the number of floating-point arguments.
>
> On a side note, the handling for floating-point return values looks
> seriously broken; see
> http://lists.apple.com/archives/cocoa-dev/2008/Feb/msg02338.html .
>
> -Eli




More information about the cfe-commits mailing list