re PR c++/33185 (ICE: canonical types differ for identical types T [] and T [])

2007-09-24  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/33185	
	* tree.c (cp_build_qualified_type_real): Build a canonical
	ARRAY_TYPE if the original ARRAY_TYPE was not a canonical type.

From-SVN: r128717
This commit is contained in:
Douglas Gregor 2007-09-24 13:46:40 +00:00 committed by Doug Gregor
parent ffda6fc98d
commit c946ce8bb9
2 changed files with 8 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2007-09-24 Douglas Gregor <doug.gregor@gmail.com>
PR c++/33185
* tree.c (cp_build_qualified_type_real): Build a canonical
ARRAY_TYPE if the original ARRAY_TYPE was not a canonical type.
2007-09-24 Douglas Gregor <doug.gregor@gmail.com>
PR c++/33112

View File

@ -738,7 +738,8 @@ cp_build_qualified_type_real (tree type,
SET_TYPE_STRUCTURAL_EQUALITY (t);
else if (TYPE_CANONICAL (element_type) != element_type
|| (index_type
&& TYPE_CANONICAL (index_type) != index_type))
&& TYPE_CANONICAL (index_type) != index_type)
|| TYPE_CANONICAL (type) != type)
TYPE_CANONICAL (t)
= build_cplus_array_type
(TYPE_CANONICAL (element_type),