Fix compile time warnings
authorNick Clifton <nickc@cambridge.redhat.com>
Mon, 11 Jun 2001 16:58:56 +0000 (16:58 +0000)
committerNick Clifton <nickc@gcc.gnu.org>
Mon, 11 Jun 2001 16:58:56 +0000 (16:58 +0000)
From-SVN: r43199

gcc/ChangeLog
gcc/config/m32r/m32r-protos.h
gcc/config/m32r/m32r.c
gcc/config/m32r/m32r.h
gcc/config/m32r/m32r.md

index 6d8b7abcfd1db23bb78a74842e4b46e586d8257c..fd65dd5569d7c3ed879d8463702f07776bddced5 100644 (file)
@@ -1,3 +1,21 @@
+2001-06-11  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * config/m32r/m32r.md (movstrsi_internal): Do not expect a
+       return string from m32r_output_block_move.
+        * config/m32r/m32r-protos.h: Make m32r_output_block_move a
+       void function.
+        * config/m32r/m32r.h (INT32_P): Rename to UNIT32_P and remove
+       integer overflow.
+        (ROUND_ADVANCE): Remove signed/unsigned conflict.
+        * config/m32r/m32r.c: Declare prototypes for static functions.
+        (move_src_operand): Replace INT32_P with UINT32_P.
+        (function_arg_partial_nregs): Fixed signed/unsigned conflict
+       in initialisation of 'size'.
+        (m32r_sched_reord): Remove redundant declarations of 'code'.
+        (m32r_output_block_move): Change to a void function.
+        (m32r_encode_section_info): Cast return of
+       TREE_STRING_POINTER to avoid compile time warning.
+
 2001-06-11  Richard Henderson  <rth@redhat.com>
 
        * config/alpha/osf5.h (TARGET_LD_BUGGY_LDGP): New.
index 7912a0a4f4469f5ead02d1be22aa2d640ea2c6d0..f3eda8359d42498b5e073a71bd3fa71519e8e1d1 100644 (file)
@@ -1,5 +1,5 @@
 /* Prototypes for m32r.c functions used in the md file & elsewhere.
-   Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -60,7 +60,7 @@ extern int    m32r_address_code                       PARAMS ((rtx));
 extern void   m32r_initialize_trampoline       PARAMS ((rtx, rtx, rtx));
 extern int    zero_and_one                     PARAMS ((rtx, rtx));
 extern char * emit_cond_move                   PARAMS ((rtx *, rtx));
-extern char * m32r_output_block_move           PARAMS ((rtx, rtx *));
+extern void   m32r_output_block_move           PARAMS ((rtx, rtx *));
 extern void   m32r_expand_block_move           PARAMS ((rtx *));
 extern void   m32r_print_operand               PARAMS ((FILE *, rtx, int));
 extern void   m32r_print_operand_address       PARAMS ((FILE *, rtx));
index 88351dd97b8258bcc431382bbe2433613136982e..5bb2d5691b6bad767102249d4dc3d27e8002fd1d 100644 (file)
@@ -1,5 +1,5 @@
 /* Subroutines used for code generation on the Mitsubishi M32R cpu.
-   Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -34,6 +34,7 @@ Boston, MA 02111-1307, USA.  */
 #include "function.h"
 #include "recog.h"
 #include "toplev.h"
+#include "ggc.h"
 #include "m32r-protos.h"
 
 /* Save the operands last given to a compare for use when we
@@ -55,7 +56,9 @@ enum m32r_sdata m32r_sdata;
 int m32r_sched_odd_word_p;
 
 /* Forward declaration.  */
-static void init_reg_tables                    PARAMS ((void));
+static void  init_reg_tables                   PARAMS ((void));
+static void  block_move_call                   PARAMS ((rtx, rtx, rtx));
+static int   m32r_is_insn                      PARAMS ((rtx));
 
 /* Called by OVERRIDE_OPTIONS to initialize various things.  */
 
@@ -372,7 +375,7 @@ m32r_encode_section_info (decl)
       if (TREE_CODE_CLASS (TREE_CODE (decl)) == 'd'
          && DECL_SECTION_NAME (decl) != NULL_TREE)
        {
-         char *name = TREE_STRING_POINTER (DECL_SECTION_NAME (decl));
+         char *name = (char *) TREE_STRING_POINTER (DECL_SECTION_NAME (decl));
          if (! strcmp (name, ".sdata") || ! strcmp (name, ".sbss"))
            {
 #if 0 /* ??? There's no reason to disallow this, is there?  */
@@ -436,6 +439,7 @@ m32r_encode_section_info (decl)
       const char *str = XSTR (XEXP (rtl, 0), 0);
       int len = strlen (str);
       char *newstr = ggc_alloc (len + 2);
+
       strcpy (newstr + 1, str);
       *newstr = prefix;
       XSTR (XEXP (rtl, 0), 0) = newstr;
@@ -744,7 +748,7 @@ move_src_operand (op, mode)
         loadable with one insn, and split the rest into two.  The instances
         where this would help should be rare and the current way is
         simpler.  */
-      return INT32_P (INTVAL (op));
+      return UINT32_P (INTVAL (op));
     case LABEL_REF :
       return TARGET_ADDR24;
     case CONST_DOUBLE :
@@ -1345,9 +1349,11 @@ function_arg_partial_nregs (cum, mode, type, named)
      int named ATTRIBUTE_UNUSED;
 {
   int ret;
-  int size = (((mode == BLKmode && type)
-              ? int_size_in_bytes (type)
-              : GET_MODE_SIZE (mode)) + UNITS_PER_WORD - 1) / UNITS_PER_WORD;
+  unsigned int size =
+    (((mode == BLKmode && type)
+      ? (unsigned int) int_size_in_bytes (type)
+      : GET_MODE_SIZE (mode)) + UNITS_PER_WORD - 1)
+    / UNITS_PER_WORD;
 
   if (*cum >= M32R_MAX_PARM_REGS)
     ret = 0;
@@ -1559,7 +1565,6 @@ m32r_sched_reorder (stream, verbose, ready, n_ready)
       for (i = n_ready-1; i >= 0; i--)
        {
          rtx insn = ready[i];
-         enum rtx_code code;
 
          if (! m32r_is_insn (insn))
            {
@@ -1615,7 +1620,6 @@ m32r_sched_reorder (stream, verbose, ready, n_ready)
          for (i = 0; i < n_ready; i++)
            {
              rtx insn = ready[i];
-             enum rtx_code code;
 
              fprintf (stream, " %d", INSN_UID (ready[i]));
 
@@ -2608,12 +2612,12 @@ emit_cond_move (operands, insn)
     }
 
   sprintf (buffer, "mvfc %s, cbr", dest);
-  
+
   /* If the true value was '0' then we need to invert the results of the move.  */
   if (INTVAL (operands [2]) == 0)
     sprintf (buffer + strlen (buffer), "\n\txor3 %s, %s, #1",
             dest, dest);
-  
+
   return buffer;
 }
 
@@ -2777,7 +2781,7 @@ m32r_expand_block_move (operands)
    operands[3] is a temp register.
    operands[4] is a temp register.  */
 
-char *
+void
 m32r_output_block_move (insn, operands)
      rtx insn ATTRIBUTE_UNUSED;
      rtx operands[];
@@ -2891,8 +2895,6 @@ m32r_output_block_move (insn, operands)
 
       first_time = 0;
     }
-
-  return "";
 }
 
 /* Return true if op is an integer constant, less than or equal to
index 1dd4908da557dbae520b70d8bafad6217f8979cc..45983022bd614c9944ec2a6960efe66a1ce1f175 100644 (file)
@@ -753,15 +753,13 @@ extern enum reg_class m32r_regno_reg_class[FIRST_PSEUDO_REGISTER];
 #define INT8_P(X) ((X) >= -0x80 && (X) <= 0x7f)
 #define INT16_P(X) ((X) >= -0x8000 && (X) <= 0x7fff)
 #define CMP_INT16_P(X) ((X) >= -0x7fff && (X) <= 0x8000)
-#define UINT16_P(X) (((unsigned HOST_WIDE_INT)(X)) <= 0xffff)
 #define UPPER16_P(X) (((X) & 0xffff) == 0                              \
                      && ((X) >> 16) >= -0x8000                         \
                      && ((X) >> 16) <= 0x7fff)
-#define UINT24_P(X) (((unsigned HOST_WIDE_INT) (X)) < 0x1000000)
-#define INT32_P(X) (((X) >= -(HOST_WIDE_INT) 0x80000000                        \
-                    && (X) <= (HOST_WIDE_INT) 0x7fffffff)              \
-                   || (unsigned HOST_WIDE_INT) (X) <= 0xffffffff)
-#define UINT5_P(X) ((X) >= 0 && (X) < 32)
+#define UINT16_P(X) (((unsigned HOST_WIDE_INT) (X)) <= 0x0000ffff)
+#define UINT24_P(X) (((unsigned HOST_WIDE_INT) (X)) <= 0x00ffffff)
+#define UINT32_P(X) (((unsigned HOST_WIDE_INT) (X)) <= 0xffffffff)
+#define UINT5_P(X)  ((X) >= 0 && (X) < 32)
 #define INVERTED_SIGNED_8BIT(VAL) ((VAL) >= -127 && (VAL) <= 128)
 
 #define CONST_OK_FOR_LETTER_P(VALUE, C)                                        \
@@ -1046,19 +1044,11 @@ M32R_STACK_ALIGN (current_function_outgoing_args_size)
 /* Round arg MODE/TYPE up to the next word boundary.  */
 #define ROUND_ADVANCE_ARG(MODE, TYPE) \
   ((MODE) == BLKmode                           \
-   ? ROUND_ADVANCE (int_size_in_bytes (TYPE))  \
+   ? ROUND_ADVANCE ((unsigned int) int_size_in_bytes (TYPE))   \
    : ROUND_ADVANCE (GET_MODE_SIZE (MODE)))
 
 /* Round CUM up to the necessary point for argument MODE/TYPE.  */
-#if 0
-#define ROUND_ADVANCE_CUM(CUM, MODE, TYPE) \
-((((MODE) == BLKmode ? TYPE_ALIGN (TYPE) : GET_MODE_BITSIZE (MODE)) \
-  > BITS_PER_WORD)     \
- ? ((CUM) + 1 & ~1)    \
- : (CUM))
-#else
 #define ROUND_ADVANCE_CUM(CUM, MODE, TYPE) (CUM)
-#endif
 
 /* Return boolean indicating arg of type TYPE and mode MODE will be passed in
    a reg.  This includes arguments that have to be passed by reference as the
index 57ca196fdcd68459e326ab9d0b2711191b9912e6..e692b2c60127a152af4bb30946ee34a4339c84c8 100644 (file)
@@ -1,5 +1,5 @@
 ;; Machine description of the Mitsubishi M32R cpu for GNU C compiler
-;; Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 1997, 1998, 1999, 2001 Free Software Foundation, Inc.
 
 ;; This file is part of GNU CC.
 
    (clobber (match_scratch:SI 3 "=&r"))                                ;; temp 1
    (clobber (match_scratch:SI 4 "=&r"))]                       ;; temp 2
   ""
-  "* return m32r_output_block_move (insn, operands);"
+  "* m32r_output_block_move (insn, operands); return \"\"; "
   [(set_attr "type"    "store8")
    (set_attr "length"  "72")]) ;; Maximum