aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CodeGen')
-rw-r--r--lib/CodeGen/CGObjCMac.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/CodeGen/CGObjCMac.cpp b/lib/CodeGen/CGObjCMac.cpp
index 0276084d28..4d4d130b8f 100644
--- a/lib/CodeGen/CGObjCMac.cpp
+++ b/lib/CodeGen/CGObjCMac.cpp
@@ -4316,7 +4316,9 @@ CodeGen::RValue CGObjCNonFragileABIMac::EmitMessageSend(
Name += "objc_msgSend_stret_fixup";
}
}
- else if (ResultType->isFloatingType()) {
+ else if (ResultType->isFloatingType() &&
+ // Selection of frret API only happens in 32bit nonfragile ABI.
+ CGM.getTargetData().getTypePaddedSize(ObjCTypes.LongTy) == 4) {
Fn = ObjCTypes.MessageSendFpretFixupFn;
Name += "objc_msgSend_fpret_fixup";
}