Obj-C Super badly broken…


Look like recent change in super handling in Obj-C broke it in a nasty way.

In short, when using [super classMethod] in a class derived class, ‘self’ does not point on the derived class in the super’s method invocation, but it contains the super class instead.

See Bug 6819 for details.

– Jean-Daniel

A short investigation shows that clang generate an objc_msgSend call instead of a objc_msgSendSuper call.

-- Jean-Daniel

Fixed, thanks a lot for the great testcase!

No good deed goes unpunished :slight_smile: