Author: andersca
Date: Fri Nov 14 19:29:05 2008
New Revision: 59345

URL: http://llvm.org/viewvc/llvm-project?rev=59345&view=rev
Log:
Handle complex return values.

Modified:
    cfe/trunk/lib/CodeGen/CGCall.cpp

Modified: cfe/trunk/lib/CodeGen/CGCall.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGCall.cpp?rev=59345&r1=59344&r2=59345&view=diff

==============================================================================
--- cfe/trunk/lib/CodeGen/CGCall.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGCall.cpp Fri Nov 14 19:29:05 2008
@@ -751,7 +751,12 @@
     
     switch (RetAI.getKind()) {
     case ABIArgInfo::StructRet:
-      EmitAggregateCopy(CurFn->arg_begin(), ReturnValue, RetTy);
+        if (RetTy->isAnyComplexType()) {
+          // FIXME: Volatile
+          ComplexPairTy RT = LoadComplexFromAddr(ReturnValue, false);
+          StoreComplexToAddr(RT, ReturnValue, false);
+        } else
+          EmitAggregateCopy(CurFn->arg_begin(), ReturnValue, RetTy);
       break;
 
     case ABIArgInfo::Default:


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to