On 24/04/14 14:44, Ryan Mansfield wrote:
On 14-04-23 11:38 AM, Kyrill Tkachov wrote:
http://gcc.gnu.org/ml/gcc-patches/2014-03/msg00934.html
(http://gcc.gnu.org/ml/gcc-patches/2014-03/msg01634.html)
This patch breaks building arm-eabi with a 32bit host gcc.

Hi Ryan,

Does this patch fix it for you?
I'll test and bootstrap it on arm.

Kyrill

2014-04-24  Kyrylo Tkachov  <kyrylo.tkac...@arm.com>

        * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p):
        Use HOST_WIDE_INT_C for mask literal.
        (aarch_rev16_shleft_mask_imm_p): Likewise.




e.g

        ../../gcc/config/arm/aarch-common.c
../../gcc/config/arm/aarch-common.c:198: error: integer constant is too
large for 'long' type
../../gcc/config/arm/aarch-common.c:205: error: integer constant is too
large for 'long' type
../../gcc/config/arm/t-arm:83: recipe for target 'aarch-common.o' failed
make[2]: *** [aarch-common.o] Error 1


Regards,

Ryan Mansfield

commit 83b40d14694e0c89f293f19071f006c11a54ad22
Author: Kyrylo Tkachov <kyrylo.tkac...@arm.com>
Date:   Thu Apr 24 15:33:57 2014 +0100

    [ARM] Use HOST_WIDE_INT_C

diff --git a/gcc/config/arm/aarch-common.c b/gcc/config/arm/aarch-common.c
index 884d4b3..d31191a 100644
--- a/gcc/config/arm/aarch-common.c
+++ b/gcc/config/arm/aarch-common.c
@@ -195,14 +195,18 @@ bool
 aarch_rev16_shright_mask_imm_p (rtx val, enum machine_mode mode)
 {
   return CONST_INT_P (val)
-         && INTVAL (val) == trunc_int_for_mode (0xff00ff00ff00ff, mode);
+         && INTVAL (val)
+            == trunc_int_for_mode (HOST_WIDE_INT_C (0xff00ff00ff00ff),
+                                   mode);
 }
 
 bool
 aarch_rev16_shleft_mask_imm_p (rtx val, enum machine_mode mode)
 {
   return CONST_INT_P (val)
-         && INTVAL (val) == trunc_int_for_mode (0xff00ff00ff00ff00, mode);
+         && INTVAL (val)
+            == trunc_int_for_mode (HOST_WIDE_INT_C (0xff00ff00ff00ff00),
+                                   mode);
 }
 
 

Reply via email to