aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/tree.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2014-10-08 16:27:11 -0400
committerJason Merrill <jason@gcc.gnu.org>2014-10-08 16:27:11 -0400
commit024da3094e3bac0ed63bf0955e70557e61fc17f9 (patch)
treefdd80a0b18875b8093c9d38891fa6b1311ac41d3 /gcc/cp/tree.c
parentf193c7230cb09fac61b03a1a5f090bc978ccff73 (diff)
downloadgcc-024da3094e3bac0ed63bf0955e70557e61fc17f9.zip
gcc-024da3094e3bac0ed63bf0955e70557e61fc17f9.tar.gz
gcc-024da3094e3bac0ed63bf0955e70557e61fc17f9.tar.bz2
re PR c++/63485 (ICE: canonical types differ for identical types A<const wchar_t [3]>::type and const char_type [3])
PR c++/63485 * tree.c (build_cplus_array_type): Look for a type with no typedef-name or attributes. From-SVN: r216012
Diffstat (limited to 'gcc/cp/tree.c')
-rw-r--r--gcc/cp/tree.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c
index cfb0ed8..5b11d5c 100644
--- a/gcc/cp/tree.c
+++ b/gcc/cp/tree.c
@@ -853,7 +853,9 @@ build_cplus_array_type (tree elt_type, tree index_type)
{
tree m = t;
for (t = m; t; t = TYPE_NEXT_VARIANT (t))
- if (TREE_TYPE (t) == elt_type)
+ if (TREE_TYPE (t) == elt_type
+ && TYPE_NAME (t) == NULL_TREE
+ && TYPE_ATTRIBUTES (t) == NULL_TREE)
break;
if (!t)
{