diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f6031be3a95fba91eb068613fb85376b3fab5abf..45094b2a09c15f30d77d1e6370911a59fa1f8cec 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2009-03-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* c-common.c (pointer_int_sum): Use %wd on return from
+	tree_low_cst.
+
 2009-03-27  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* c-common.c (pointer_int_sum): Use HOST_WIDE_INT_PRINT_DEC
diff --git a/gcc/c-common.c b/gcc/c-common.c
index e1436a2e7ee35751c65f24eb45a3b20fdf205791..820d859c5bbeced95f7970df39e57b1454c9069e 100644
--- a/gcc/c-common.c
+++ b/gcc/c-common.c
@@ -3315,8 +3315,8 @@ pointer_int_sum (location_t location, enum tree_code resultcode,
 
 	  offset = offset + tree_low_cst (intop, 0);
 	  if (offset < 0 || offset > max)
-	    warning_at (location, 0, "offset %<" HOST_WIDE_INT_PRINT_DEC
-			"%> outside bounds of constant string",
+	    warning_at (location, 0,
+			"offset %<%wd%> outside bounds of constant string",
 			tree_low_cst (intop, 0));
 	}
     }