aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2012-12-18 23:48:04 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2012-12-18 23:48:04 +0100
commitf8a93a2e9173149c4fad80cb9011d39a45e8d33e (patch)
tree0f1e25988565e7ea592b7df8cdc506fc8bd0a2d3
parent69fffc1f0e2bbb7d7eb21909daf3b1b365da4cd2 (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/c/c-typeck.c6
-rw-r--r--gcc/testsuite/ChangeLog5
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