aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/arm/pe.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/arm/pe.c')
-rw-r--r--gcc/config/arm/pe.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/config/arm/pe.c b/gcc/config/arm/pe.c
index bb01fd2..80fdd04 100644
--- a/gcc/config/arm/pe.c
+++ b/gcc/config/arm/pe.c
@@ -474,8 +474,10 @@ arm_pe_return_in_memory (type)
if (TREE_CODE (field) == FIELD_DECL
&& ! TREE_STATIC (field)
&& (! DECL_BIT_FIELD_TYPE (field)
- || (TREE_INT_CST_LOW (DECL_FIELD_BITPOS (field))
- + TREE_INT_CST_LOW (DECL_SIZE (field))) > 32))
+ || (host_integerp (DECL_SIZE (field), 1)
+ && host_integerp (bit_position (field), 1)
+ && 32 < (int_bit_position (field)
+ + tree_low_cst (DECL_SIZE (field), 1)))))
return 1;
}
return 0;