diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1616019899a61498a04ff657706bacb3375c5946..afc3ec461ecad0b0bd45d3f232676e6c387c55ff 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,13 @@
+2002-01-26  Graham Stott  <grahams@redhat.com>
+
+	* calls.c (try_to_integrate): Use "(size_t)" intermediate
+	cast and when casting an integer literal to "rtx" pointer.
+	(expand_call): Likewise.
+	* flow.c (try_pre_increment): Likewise.
+	(find_use_as_address): Likewise.
+	* integrate.c (expand_iline_function): Likewise.
+	* regmove.c (try_auto_increment): Likewise.
+
 2002-01-26  Graham Stott  <grahams@redhat.com>
 
 	* sched-rgn.c (passed): Use sbitmap_free.
diff --git a/gcc/calls.c b/gcc/calls.c
index a6c999c01253fd26dba5a3084e7329b608eae9a9..3d4540d6094a974ea0f3a4325fb1ff5320c09f37 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -1822,7 +1822,7 @@ try_to_integrate (fndecl, actparms, target, ignore, type, structure_value_addr)
   timevar_pop (TV_INTEGRATION);
 
   /* If inlining succeeded, return.  */
-  if (temp != (rtx) (HOST_WIDE_INT) - 1)
+  if (temp != (rtx) (size_t) - 1)
     {
       if (ACCUMULATE_OUTGOING_ARGS)
 	{
@@ -1902,7 +1902,7 @@ try_to_integrate (fndecl, actparms, target, ignore, type, structure_value_addr)
       warning ("called from here");
     }
   mark_addressable (fndecl);
-  return (rtx) (HOST_WIDE_INT) - 1;
+  return (rtx) (size_t) - 1;
 }
 
 /* We need to pop PENDING_STACK_ADJUST bytes.  But, if the arguments
@@ -2285,7 +2285,7 @@ expand_call (exp, target, ignore)
       rtx temp = try_to_integrate (fndecl, actparms, target,
 				   ignore, TREE_TYPE (exp),
 				   structure_value_addr);
-      if (temp != (rtx) (HOST_WIDE_INT) - 1)
+      if (temp != (rtx) (size_t) - 1)
 	return temp;
     }
 
diff --git a/gcc/flow.c b/gcc/flow.c
index 1a1a2d973950c5895ca74f6dc52335e5f21d78c0..96bc865c5bfe53864c5562f22f60a335ca9a6eee 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -3974,13 +3974,13 @@ try_pre_increment (insn, reg, amount)
   use = 0;
   if (pre_ok)
     use = find_use_as_address (PATTERN (insn), reg, 0);
-  if (post_ok && (use == 0 || use == (rtx) 1))
+  if (post_ok && (use == 0 || use == (rtx) (size_t) 1))
     {
       use = find_use_as_address (PATTERN (insn), reg, -amount);
       do_post = 1;
     }
 
-  if (use == 0 || use == (rtx) 1)
+  if (use == 0 || use == (rtx) (size_t) 1)
     return 0;
 
   if (GET_MODE_SIZE (GET_MODE (use)) != (amount > 0 ? amount : - amount))
@@ -4008,7 +4008,7 @@ try_pre_increment (insn, reg, amount)
 
    If such an address does not appear, return 0.
    If REG appears more than once, or is used other than in such an address,
-   return (rtx)1.  */
+   return (rtx) 1.  */
 
 rtx
 find_use_as_address (x, reg, plusconst)
@@ -4036,11 +4036,11 @@ find_use_as_address (x, reg, plusconst)
       /* If REG occurs inside a MEM used in a bit-field reference,
 	 that is unacceptable.  */
       if (find_use_as_address (XEXP (x, 0), reg, 0) != 0)
-	return (rtx) (HOST_WIDE_INT) 1;
+	return (rtx) (size_t) 1;
     }
 
   if (x == reg)
-    return (rtx) (HOST_WIDE_INT) 1;
+    return (rtx) (size_t) 1;
 
   for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--)
     {
@@ -4050,7 +4050,7 @@ find_use_as_address (x, reg, plusconst)
 	  if (value == 0)
 	    value = tem;
 	  else if (tem != 0)
-	    return (rtx) (HOST_WIDE_INT) 1;
+	    return (rtx) (size_t) 1;
 	}
       else if (fmt[i] == 'E')
 	{
@@ -4061,7 +4061,7 @@ find_use_as_address (x, reg, plusconst)
 	      if (value == 0)
 		value = tem;
 	      else if (tem != 0)
-		return (rtx) (HOST_WIDE_INT) 1;
+		return (rtx) (size_t) 1;
 	    }
 	}
     }
diff --git a/gcc/integrate.c b/gcc/integrate.c
index 05717564181f06401067e795b6450ceac2d7099c..b1fecc4788d4126c54abbe13807f0c46b2e654ca 100644
--- a/gcc/integrate.c
+++ b/gcc/integrate.c
@@ -698,7 +698,7 @@ expand_inline_function (fndecl, parms, target, ignore, type,
       enum machine_mode mode;
 
       if (actual == 0)
-	return (rtx) (HOST_WIDE_INT) -1;
+	return (rtx) (size_t) -1;
 
       arg = TREE_VALUE (actual);
       mode = TYPE_MODE (DECL_ARG_TYPE (formal));
@@ -711,7 +711,7 @@ expand_inline_function (fndecl, parms, target, ignore, type,
 	  || (mode == BLKmode
 	      && (TYPE_MAIN_VARIANT (TREE_TYPE (arg))
 		  != TYPE_MAIN_VARIANT (TREE_TYPE (formal)))))
-	return (rtx) (HOST_WIDE_INT) -1;
+	return (rtx) (size_t) -1;
     }
 
   /* Extra arguments are valid, but will be ignored below, so we must
diff --git a/gcc/regmove.c b/gcc/regmove.c
index f184deb769cce04b6e687fd22292b4d51f423413..9530128721aacc986565aab7f84e910e548780d7 100644
--- a/gcc/regmove.c
+++ b/gcc/regmove.c
@@ -111,7 +111,7 @@ try_auto_increment (insn, inc_insn, inc_insn_set, reg, increment, pre)
       /* Can't use the size of SET_SRC, we might have something like
 	 (sign_extend:SI (mem:QI ...  */
       rtx use = find_use_as_address (pset, reg, 0);
-      if (use != 0 && use != (rtx) 1)
+      if (use != 0 && use != (rtx) (size_t) 1)
 	{
 	  int size = GET_MODE_SIZE (GET_MODE (use));
 	  if (0