diff options
Diffstat (limited to 'gcc/c')
-rw-r--r-- | gcc/c/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/c/c-typeck.c | 6 |
2 files changed, 11 insertions, 2 deletions
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index e6ef408..f2ee562 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,10 @@ +2012-12-18 Jakub Jelinek <jakub@redhat.com> + + PR c/39464 + * c-typeck.c (convert_for_assignment): For -Wpointer-sign + warning require that both c_common_unsigned_type as well as + c_common_signed_type is the same for both mvl and mvr types. + 2012-11-16 Diego Novillo <dnovillo@google.com> Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec) diff --git a/gcc/c/c-typeck.c b/gcc/c/c-typeck.c index 2032f66..6dddf7a 100644 --- a/gcc/c/c-typeck.c +++ b/gcc/c/c-typeck.c @@ -5543,8 +5543,10 @@ convert_for_assignment (location_t location, tree type, tree rhs, if (VOID_TYPE_P (ttl) || VOID_TYPE_P (ttr) || (target_cmp = comp_target_types (location, type, rhstype)) || is_opaque_pointer - || (c_common_unsigned_type (mvl) - == c_common_unsigned_type (mvr))) + || ((c_common_unsigned_type (mvl) + == c_common_unsigned_type (mvr)) + && c_common_signed_type (mvl) + == c_common_signed_type (mvr))) { if (pedantic && ((VOID_TYPE_P (ttl) && TREE_CODE (ttr) == FUNCTION_TYPE) |