I suspect since the method had no prototype the compiler just assumed
the default id return type, but due to a bug didn't generate a
warning. The problem is most likely the calling method was expecting
the return value to be an integer (id; pointer) but instead is a
float. Even with a cast being assumed the calling method is still
having a floating point register trashed by believing it was safe.
On Jun 5, 2008, at 11:37 PM, Hamish Allan wrote:
I'd have thought that in the case:
// id anonymous
float f = [anonymous position];
the compiler ought to assume that the method being used is the one
returning a float, or if not at least warn about an implicit cast from
CGPoint to float. Perhaps if it were -(int)position rather than
-(CGPoint)position, you might not expect a warning, but in that case
you would expect a cast, so it shouldn't break.
However, that does appear to be what is happening. In the absence of
any other explanation, I'd call it a compiler bug.
_______________________________________________
Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com
This email sent to [EMAIL PROTECTED]