diff options
author | Jakub Jelinek <jakub@redhat.com> | 2012-12-18 23:48:04 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2012-12-18 23:48:04 +0100 |
commit | f8a93a2e9173149c4fad80cb9011d39a45e8d33e (patch) | |
tree | 0f1e25988565e7ea592b7df8cdc506fc8bd0a2d3 | |
parent | 69fffc1f0e2bbb7d7eb21909daf3b1b365da4cd2 (diff) | |
download | gcc-f8a93a2e9173149c4fad80cb9011d39a45e8d33e.zip gcc-f8a93a2e9173149c4fad80cb9011d39a45e8d33e.tar.gz gcc-f8a93a2e9173149c4fad80cb9011d39a45e8d33e.tar.bz2 |
re PR c/39464 (Attribute may_alias causes invalid warning)
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.
* gcc.dg/pr39464.c: New test.
From-SVN: r194594
-rw-r--r-- | gcc/c/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/c/c-typeck.c | 6 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 |
3 files changed, 16 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) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index e204408..f5c4184 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2012-12-18 Jakub Jelinek <jakub@redhat.com> + + PR c/39464 + * gcc.dg/pr39464.c: New test. + 2012-12-18 Ian Lance Taylor <iant@google.com> PR go/55201 |