diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/cp/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/cp/typeck.c | 1 | ||||
-rw-r--r-- | gcc/tree.c | 4 |
4 files changed, 12 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1995751..b4b0490 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2015-04-24 Jason Merrill <jason@redhat.com> + + PR c++/50800 + * tree.c (build_reference_type_for_mode): Don't pass can_alias_all + down when building TYPE_CANONICAL. + (build_pointer_type_for_mode): Likewise. + 2015-04-24 Chen Gang <gang.chen.5i5j@gmail.com> * genrecog.c (validate_pattern): Check matching constraint refers diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 767094d4..7c7ec09 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,8 @@ 2015-04-24 Jason Merrill <jason@redhat.com> + PR c++/50800 + * typeck.c (structural_comptypes): Don't check TYPE_REF_CAN_ALIAS_ALL. + * constexpr.c (potential_constant_expression_1) [MINUS_EXPR]: Remove obsolete code. [NE_EXPR]: Likewise. diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c index 250b5d6..91db32a 100644 --- a/gcc/cp/typeck.c +++ b/gcc/cp/typeck.c @@ -1310,7 +1310,6 @@ structural_comptypes (tree t1, tree t2, int strict) case POINTER_TYPE: if (TYPE_MODE (t1) != TYPE_MODE (t2) - || TYPE_REF_CAN_ALIAS_ALL (t1) != TYPE_REF_CAN_ALIAS_ALL (t2) || !same_type_p (TREE_TYPE (t1), TREE_TYPE (t2))) return false; break; @@ -7706,7 +7706,7 @@ build_pointer_type_for_mode (tree to_type, machine_mode mode, else if (TYPE_CANONICAL (to_type) != to_type) TYPE_CANONICAL (t) = build_pointer_type_for_mode (TYPE_CANONICAL (to_type), - mode, can_alias_all); + mode, false); /* Lay out the type. This function has many callers that are concerned with expression-construction, and this simplifies them all. */ @@ -7773,7 +7773,7 @@ build_reference_type_for_mode (tree to_type, machine_mode mode, else if (TYPE_CANONICAL (to_type) != to_type) TYPE_CANONICAL (t) = build_reference_type_for_mode (TYPE_CANONICAL (to_type), - mode, can_alias_all); + mode, false); layout_type (t); |