diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 79cd10f3ba01ed0476a7e2685c9aa3823bfe0ad8..b85026d3070d3d704c6aceb5d31b33ec136a0b18 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2009-10-16  Jakub Jelinek  <jakub@redhat.com>
+
+	* dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTRACT>: Cast
+	DWARF2_ADDR_SIZE to int to avoid signed vs. unsigned warnings.
+
 2009-10-16  Richard Guenther  <rguenther@suse.de>
 
 	PR tree-optimization/41728
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index b67bab3f8e45d2dcab9060d2f274ae646f21448f..00adf0612042983187da0da53c3e66823950be7a 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -13393,14 +13393,14 @@ mem_loc_descriptor (rtx rtl, enum machine_mode mode,
 	  if (BITS_BIG_ENDIAN)
 	    shift = GET_MODE_BITSIZE (GET_MODE (XEXP (rtl, 0)))
 		    - shift - size;
-	  if (shift + size != DWARF2_ADDR_SIZE)
+	  if (shift + size != (int) DWARF2_ADDR_SIZE)
 	    {
 	      add_loc_descr (&mem_loc_result,
 			     int_loc_descriptor (DWARF2_ADDR_SIZE
 						 - shift - size));
 	      add_loc_descr (&mem_loc_result, new_loc_descr (DW_OP_shl, 0, 0));
 	    }
-	  if (size != DWARF2_ADDR_SIZE)
+	  if (size != (int) DWARF2_ADDR_SIZE)
 	    {
 	      add_loc_descr (&mem_loc_result,
 			     int_loc_descriptor (DWARF2_ADDR_SIZE - size));