Commit e529bd42 by Nick Clifton Committed by Nick Clifton

Cope with int_size_in_bytes returning -1.

From-SVN: r46788
parent 648f5f04
2001-11-05 Nick Clifton <nickc@cambridge.redhat.com> 2001-11-05 Nick Clifton <nickc@cambridge.redhat.com>
* config/arm/arm.c (arm_return_in_memory): Cope with
int_size_in_bytes returning -1.
* config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
DECL being NULL. DECL being NULL.
......
...@@ -1729,9 +1729,11 @@ arm_return_in_memory (type) ...@@ -1729,9 +1729,11 @@ arm_return_in_memory (type)
/* For the arm-wince targets we choose to be compitable with Microsoft's /* For the arm-wince targets we choose to be compitable with Microsoft's
ARM and Thumb compilers, which always return aggregates in memory. */ ARM and Thumb compilers, which always return aggregates in memory. */
#ifndef ARM_WINCE #ifndef ARM_WINCE
/* All structures/unions bigger than one word are returned in memory.
if (int_size_in_bytes (type) > 4) Also catch the case where int_size_in_bytes returns -1. In this case
/* All structures/unions bigger than one word are returned in memory. */ the aggregate is either huge or of varaible size, and in either case
we will want to return it via memory and not in a register. */
if (((unsigned int) int_size_in_bytes (type)) > UNITS_PER_WORD)
return 1; return 1;
if (TREE_CODE (type) == RECORD_TYPE) if (TREE_CODE (type) == RECORD_TYPE)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment