Cope with int_size_in_bytes returning -1.
From-SVN: r46788
This commit is contained in:
parent
648f5f0435
commit
e529bd42ef
@ -1,5 +1,8 @@
|
|||||||
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)
|
|||||||
/* 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)
|
||||||
|
Loading…
Reference in New Issue
Block a user