Explorar o código

Ignore return type if its size is zero.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148744 91177308-0d34-0410-b5e6-96231b3b80d8
Akira Hatanaka %!s(int64=13) %!d(string=hai) anos
pai
achega
a8536c086f
Modificáronse 1 ficheiros con 3 adicións e 2 borrados
  1. 3 2
      lib/CodeGen/TargetInfo.cpp

+ 3 - 2
lib/CodeGen/TargetInfo.cpp

@@ -3222,11 +3222,12 @@ MipsABIInfo::returnAggregateInRegs(QualType RetTy, uint64_t Size) const {
 }
 }
 
 
 ABIArgInfo MipsABIInfo::classifyReturnType(QualType RetTy) const {
 ABIArgInfo MipsABIInfo::classifyReturnType(QualType RetTy) const {
-  if (RetTy->isVoidType())
+  uint64_t Size = getContext().getTypeSize(RetTy);
+
+  if (RetTy->isVoidType() || Size == 0)
     return ABIArgInfo::getIgnore();
     return ABIArgInfo::getIgnore();
 
 
   if (isAggregateTypeForABI(RetTy)) {
   if (isAggregateTypeForABI(RetTy)) {
-    uint64_t Size = getContext().getTypeSize(RetTy);
     if (Size <= 128) {
     if (Size <= 128) {
       if (RetTy->isAnyComplexType())
       if (RetTy->isAnyComplexType())
         return ABIArgInfo::getDirect();
         return ABIArgInfo::getDirect();