#ifdef'out out objc2 API selection which is not done in gcc (unlike
the documentation to the contrary).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63871 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGObjCMac.cpp b/lib/CodeGen/CGObjCMac.cpp
index cce12a4..0276084 100644
--- a/lib/CodeGen/CGObjCMac.cpp
+++ b/lib/CodeGen/CGObjCMac.cpp
@@ -4301,13 +4301,17 @@
llvm::Constant *Fn;
std::string Name("\01l_");
if (CGM.ReturnTypeUsesSret(FnInfo)) {
+#if 0
+ // unlike what is documented. gcc never generates this API!!
if (Receiver->getType() == ObjCTypes.ObjectPtrTy) {
Fn = ObjCTypes.MessageSendIdStretFixupFn;
// FIXME. Is there a better way of getting these names.
// They are available in RuntimeFunctions vector pair.
Name += "objc_msgSendId_stret_fixup";
}
- else {
+ else
+#endif
+ {
Fn = ObjCTypes.MessageSendStretFixupFn;
Name += "objc_msgSend_stret_fixup";
}
@@ -4317,11 +4321,15 @@
Name += "objc_msgSend_fpret_fixup";
}
else {
+#if 0
+// unlike what is documented. gcc never generates this API!!
if (Receiver->getType() == ObjCTypes.ObjectPtrTy) {
Fn = ObjCTypes.MessageSendIdFixupFn;
Name += "objc_msgSendId_fixup";
}
- else {
+ else
+#endif
+ {
Fn = ObjCTypes.MessageSendFixupFn;
Name += "objc_msgSend_fixup";
}