mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-19 08:30:28 +08:00
re PR c++/50800 (Internal compiler error in finish_member_declarations, possibly related to may_alias attribute)
PR c++/50800 gcc/ * tree.c (build_reference_type_for_mode): Don't pass can_alias_all down when building TYPE_CANONICAL. (build_pointer_type_for_mode): Likewise. gcc/cp/ * typeck.c (structural_comptypes): Don't check TYPE_REF_CAN_ALIAS_ALL. From-SVN: r222419
This commit is contained in:
parent
6f96dcebb2
commit
c6f044f766
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user