diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7eaa2e7614938e67df0fee404a875f35575dd67c..4f30686bc0e198538879610553113d980cb94b7a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* c-pretty-print.c (pp_c_integer_literal): Use
+	HOST_WIDE_INT_PRINT_DOUBLE_HEX.
+
 2003-05-20  Roger Sayle  <roger@eyesopen.com>
 	    Kazu Hirata  <kazu@cs.umass.edu>
 	    Joern Rennecke  <joern.rennecke@superh.com>
diff --git a/gcc/c-pretty-print.c b/gcc/c-pretty-print.c
index 65023996272c5711a024aa038a1b772cf07c4c45..39d72588281c576eb984d16a243675adbb88117b 100644
--- a/gcc/c-pretty-print.c
+++ b/gcc/c-pretty-print.c
@@ -449,14 +449,11 @@ pp_c_integer_literal (ppi, i)
 	{
 	  if (tree_int_cst_sgn (i) < 0)
 	    {
-	      static char format[10]; /* "%x%09999x\0" */
-	      if (!format[0])
-		sprintf (format, "%%x%%0%dx", HOST_BITS_PER_INT / 4);
-
 	      pp_c_char (ppi, '-');
 	      i = build_int_2 (-TREE_INT_CST_LOW (i),
 			       ~TREE_INT_CST_HIGH (i) + !TREE_INT_CST_LOW (i));
-	      sprintf (pp_buffer (ppi)->digit_buffer, format, 
+	      sprintf (pp_buffer (ppi)->digit_buffer,
+		       HOST_WIDE_INT_PRINT_DOUBLE_HEX, 
 		       TREE_INT_CST_HIGH (i), TREE_INT_CST_LOW (i));
 	      pp_identifier (ppi, pp_buffer (ppi)->digit_buffer);
 
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 7ea230f968c0a80ce0f4585e7ea5fcb2fcf88767..270103b0cb87c2931be7abd9ad0facf82f0cad08 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,7 @@
+2003-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* error.c (dump_expr): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX.
+
 2003-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
 
 	PR c++/9738
diff --git a/gcc/cp/error.c b/gcc/cp/error.c
index 21a87d851d345400a9cbbc5fe7419b7021a801ee..cb7c44fb9eedd3ad9e72690c0ba198f8b3a01b60 100644
--- a/gcc/cp/error.c
+++ b/gcc/cp/error.c
@@ -1471,16 +1471,9 @@ dump_expr (tree t, int flags)
 				       ~TREE_INT_CST_HIGH (val)
 	                               + !TREE_INT_CST_LOW (val));
 	          }
-	        /* Would "%x%0*x" or "%x%*0x" get zero-padding on all
-	           systems?  */
-	        {
-	          static char format[12]; /* "0x%x%09999x\0" */
-	          if (!format[0])
-		    sprintf (format, "0x%%x%%0%dx", HOST_BITS_PER_INT / 4);
-	          sprintf (digit_buffer, format, TREE_INT_CST_HIGH (val),
-		           TREE_INT_CST_LOW (val));
-	          output_add_string (scratch_buffer, digit_buffer);
-	        }
+		sprintf (digit_buffer, HOST_WIDE_INT_PRINT_DOUBLE_HEX,
+			 TREE_INT_CST_HIGH (val), TREE_INT_CST_LOW (val));
+		output_add_string (scratch_buffer, digit_buffer);
 	      }
 	    else
 	      print_integer (scratch_buffer, TREE_INT_CST_LOW (t));