diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e2d5eea5b49a83653483169977ca714e24d89ab8..ae1ffcb22cb32f9f103e52b99abef479e9367d88 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-12-27  Kazu Hirata  <kazu@codesourcery.com>
+
+	* tree-vrp.c (extract_range_from_binary_expr): Use
+	build_int_cst instead of fold_convert.
+
 2005-12-26  Mark Mitchell  <mark@codesourcery.com>
 
 	PR c++/23171, c++/23172, c++/25417.
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index b9503865fcf2a25b5f816267d66a6192374195a6..9254fbc18908b34f5d59ea894d5c92986869b5fa 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -1421,7 +1421,7 @@ extract_range_from_binary_expr (value_range_t *vr, tree expr)
 	  && tree_expr_nonnegative_p (vr0.max)
 	  && TREE_CODE (vr0.max) == INTEGER_CST)
 	{
-	  min = fold_convert (TREE_TYPE (expr), integer_zero_node);
+	  min = build_int_cst (TREE_TYPE (expr), 0);
 	  max = vr0.max;
 	}
       else if (vr1.type == VR_RANGE
@@ -1430,7 +1430,7 @@ extract_range_from_binary_expr (value_range_t *vr, tree expr)
 	  && TREE_CODE (vr1.max) == INTEGER_CST)
 	{
 	  type = VR_RANGE;
-	  min = fold_convert (TREE_TYPE (expr), integer_zero_node);
+	  min = build_int_cst (TREE_TYPE (expr), 0);
 	  max = vr1.max;
 	}
       else