[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