From 485eb832b15a5810849e0fbdbbbd00aa9259074e Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Tue, 25 Aug 2020 08:12:31 -0700 Subject: [PATCH] Potential armv7 lowering fix --- IDEHelper/Compiler/BfResolvedTypeUtils.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/IDEHelper/Compiler/BfResolvedTypeUtils.cpp b/IDEHelper/Compiler/BfResolvedTypeUtils.cpp index 1d9de392..dcf9a4fd 100644 --- a/IDEHelper/Compiler/BfResolvedTypeUtils.cpp +++ b/IDEHelper/Compiler/BfResolvedTypeUtils.cpp @@ -1599,7 +1599,7 @@ bool BfTypeInstance::GetLoweredType(BfTypeUsage typeUsage, BfTypeCode* outTypeCo return false; } else - { + { // Non-Windows systems allow lowered splitting of composites over two int params if (mModule->mSystem->mPtrSize == 8) { @@ -1714,7 +1714,13 @@ bool BfTypeInstance::GetLoweredType(BfTypeUsage typeUsage, BfTypeCode* outTypeCo if (handled) return true; } - } + } + else + { + // Always do sret on non-Windows 32-bit + if ((typeUsage == BfTypeUsage_Return_NonStatic) || (typeUsage == BfTypeUsage_Return_Static)) + return false; + } } BfTypeCode typeCode = BfTypeCode_None;