Generate the old API when sending message to super

in a category implementation (objc 32bit api related).

llvm-svn: 88741
This commit is contained in:
Fariborz Jahanian 2009-11-14 02:18:31 +00:00
parent e3b312fec9
commit da2efb091d
1 changed files with 4 additions and 1 deletions

View File

@ -1488,7 +1488,10 @@ CGObjCMac::GenerateMessageSendSuper(CodeGen::CodeGenFunction &CGF,
llvm::Value *Super = CGF.Builder.CreateLoad(SuperPtr);
Target = Super;
}
} else {
}
else if (isCategoryImpl)
Target = EmitClassRef(CGF.Builder, Class->getSuperClass());
else {
llvm::Value *ClassPtr = EmitSuperClassRef(Class);
ClassPtr = CGF.Builder.CreateStructGEP(ClassPtr, 1);
Target = CGF.Builder.CreateLoad(ClassPtr);