[llvm-commits] [dragonegg] r94881 -	/dragonegg/trunk/llvm-convert.cpp
    Duncan Sands 
    baldrick at free.fr
       
    Sat Jan 30 05:23:10 PST 2010
    
    
  
Author: baldrick
Date: Sat Jan 30 07:23:10 2010
New Revision: 94881
URL: http://llvm.org/viewvc/llvm-project?rev=94881&view=rev
Log:
Port commit 92940 (johannes) from llvm-gcc:
Fix a bug introduced in 90914: use the size of the
return type, not of a pointer to the return type. This
fixes some regressions in the struct-layout-1 part
of the gcc testsuite on darwin x86-64.
Modified:
    dragonegg/trunk/llvm-convert.cpp
Modified: dragonegg/trunk/llvm-convert.cpp
URL: http://llvm.org/viewvc/llvm-project/dragonegg/trunk/llvm-convert.cpp?rev=94881&r1=94880&r2=94881&view=diff
==============================================================================
--- dragonegg/trunk/llvm-convert.cpp (original)
+++ dragonegg/trunk/llvm-convert.cpp Sat Jan 30 07:23:10 2010
@@ -2696,7 +2696,9 @@
     return 0;
 
   if (Client.isAggrReturn()) {
-    if (TD.getTypeAllocSize(Call->getType()) <= TD.getTypeAllocSize(DestLoc->Ptr->getType())) {
+    if (TD.getTypeAllocSize(Call->getType()) <=
+        TD.getTypeAllocSize(cast<PointerType>(DestLoc->Ptr->getType())
+                                             ->getElementType())) {
       Value *Dest = Builder.CreateBitCast(DestLoc->Ptr,
                                           Call->getType()->getPointerTo());
       LLVM_EXTRACT_MULTIPLE_RETURN_VALUE(Call,Dest,DestLoc->Volatile,Builder);
    
    
More information about the llvm-commits
mailing list