diff options
Diffstat (limited to 'lib/CodeGen')
-rw-r--r-- | lib/CodeGen/CGObjCMac.cpp | 4 |
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"; } |