Hi,

ARM trunk build fail from @209484, since it requires the argument of
GET_MODE_SIZE to be "enum machine_mode".

gcc/gcc/config/arm/arm.c:21433:13: error: invalid conversion from
'int' to 'machine_mode' [-fpermissive]
...

Build OK with the patch. OK for trunk?

Thanks!
-Zhenqiang

2014-04-22  Zhenqiang Chen  <zhenqiang.c...@linaro.org>

        * config/arm/arm.c (arm_print_operand, thumb_exit): Make sure
        GET_MODE_SIZE argument is enum machine_mode.

diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 773c353..822060d 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -21427,7 +21427,7 @@ arm_print_operand (FILE *stream, rtx x, int code)
        register.  */
     case 'p':
       {
-        int mode = GET_MODE (x);
+        enum machine_mode mode = GET_MODE (x);
         int regno;

         if (GET_MODE_SIZE (mode) != 8 || !REG_P (x))
@@ -21451,7 +21451,7 @@ arm_print_operand (FILE *stream, rtx x, int code)
     case 'P':
     case 'q':
       {
-       int mode = GET_MODE (x);
+       enum machine_mode mode = GET_MODE (x);
        int is_quad = (code == 'q');
        int regno;

@@ -21487,7 +21487,7 @@ arm_print_operand (FILE *stream, rtx x, int code)
     case 'e':
     case 'f':
       {
-        int mode = GET_MODE (x);
+        enum machine_mode mode = GET_MODE (x);
         int regno;

         if ((GET_MODE_SIZE (mode) != 16
@@ -21620,7 +21620,7 @@ arm_print_operand (FILE *stream, rtx x, int code)
     /* Translate an S register number into a D register number and
element index.  */
     case 'y':
       {
-        int mode = GET_MODE (x);
+        enum machine_mode mode = GET_MODE (x);
         int regno;

         if (GET_MODE_SIZE (mode) != 4 || !REG_P (x))
@@ -21654,7 +21654,7 @@ arm_print_operand (FILE *stream, rtx x, int code)
        number into a D register number and element index.  */
     case 'z':
       {
-        int mode = GET_MODE (x);
+        enum machine_mode mode = GET_MODE (x);
         int regno;

         if (GET_MODE_SIZE (mode) != 2 || !REG_P (x))
@@ -25894,7 +25894,7 @@ thumb_exit (FILE *f, int reg_containing_return_addr)
   int pops_needed;
   unsigned available;
   unsigned required;
-  int mode;
+  enum machine_mode mode;
   int size;
   int restore_a4 = FALSE;

Reply via email to