2012-01-20  Mike Stump  <mikestump@comcast.net>

	* c-common.c (c_common_type_for_mode): Match signed/unsigned types
	exactly.

Index: c-common.c
===================================================================
*** c-common.c	(revision 183357)
--- c-common.c	(working copy)
*************** c_common_type_for_mode (enum machine_mod
*** 3089,3094 ****
--- 3089,3099 ----
      }
  
    for (t = registered_builtin_types; t; t = TREE_CHAIN (t))
+     if (TYPE_MODE (TREE_VALUE (t)) == mode
+ 	&& !!unsignedp == !!TYPE_UNSIGNED (TREE_VALUE (t)))
+       return TREE_VALUE (t);
+ 
+   for (t = registered_builtin_types; t; t = TREE_CHAIN (t))
      if (TYPE_MODE (TREE_VALUE (t)) == mode)
        return TREE_VALUE (t);
  
