re PR c++/33112 (ICE : canonical types differ for identical types const _CharT* ...
authorDouglas Gregor <doug.gregor@gmail.com>
Mon, 24 Sep 2007 12:14:57 +0000 (12:14 +0000)
committerDoug Gregor <dgregor@gcc.gnu.org>
Mon, 24 Sep 2007 12:14:57 +0000 (12:14 +0000)
commit714f2304c65dde0653e36cb94c5cefaea2727d55
tree43fb0347a8b05451a453a47db18a6cc43185d35e
parent996caac6daf068f5db3b8455db336c1df62ec4f9
re PR c++/33112 (ICE : canonical types differ for identical types const _CharT* [14] and const _CharT* [14])

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

PR c++/33112
PR c++/33185
* tree.c (cplus_array_compare): Compare pointers, not types.
(build_cplus_array_type_1): Store new array type into the hash
table before building the canonical type; build the canonical type
correctly.
(cp_build_qualified_type_real): Put all of the array types with
cv-qualified element types into the C++ array hash table, built as
variants of the unqualified versions.

From-SVN: r128711
gcc/cp/ChangeLog
gcc/cp/tree.c