[llvm-commits] [llvm-gcc-4.2] r49537 - /llvm-gcc-4.2/trunk/gcc/config/rs6000/rs6000.c

Dale Johannesen dalej at apple.com
Fri Apr 11 09:39:41 PDT 2008


Author: johannes
Date: Fri Apr 11 11:39:41 2008
New Revision: 49537

URL: http://llvm.org/viewvc/llvm-project?rev=49537&view=rev
Log:
Allow for null TYPE_SIZE_UNIT.  Fixes 5847737.


Modified:
    llvm-gcc-4.2/trunk/gcc/config/rs6000/rs6000.c

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/rs6000.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/rs6000.c?rev=49537&r1=49536&r2=49537&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/rs6000.c (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/rs6000.c Fri Apr 11 11:39:41 2008
@@ -4898,7 +4898,7 @@
 static bool
 rs6000_return_in_memory (tree type, tree fntype ATTRIBUTE_UNUSED)
 {
-  /* LLVM LOCAL begin strcut return check */
+  /* LLVM LOCAL begin struct return check */
   /* FIXME darwin ppc64 often returns structs partly in memory and partly
      in regs.  The binary interface of return_in_memory (which does the
      work for aggregate_value_p) is not a good match for this; in fact
@@ -4906,10 +4906,11 @@
      means aggregate_value_p is not useful on this target for this purpose.
      This is a big nasty longterm problem.  For now put things back the
      way they used to be (wrong, but fewer crashes). */
-  if (TARGET_64BIT && TREE_CODE(TYPE_SIZE_UNIT(type)) == INTEGER_CST &&
+  if (TARGET_64BIT && TYPE_SIZE_UNIT(type) &&
+      TREE_CODE(TYPE_SIZE_UNIT(type)) == INTEGER_CST &&
       TREE_INT_CST_LOW(TYPE_SIZE_UNIT(type)) > 8)
     return true;
-  /* LLVM LOCAL end strcut return check */  
+  /* LLVM LOCAL end struct return check */  
 
   /* In the darwin64 abi, try to use registers for larger structs
      if possible.  */





More information about the llvm-commits mailing list