diff options
author | Douglas Gregor <doug.gregor@gmail.com> | 2007-11-06 14:39:41 +0000 |
---|---|---|
committer | Doug Gregor <dgregor@gcc.gnu.org> | 2007-11-06 14:39:41 +0000 |
commit | 9ae165a0722366ba1ee877d1099d147a506d0135 (patch) | |
tree | 24adf8f3c491cb12e5443e2f7b4ae5687c9ed263 /gcc/cp | |
parent | 1ad8aeeb962a281f654be3bc0a7a2dd4015d317b (diff) | |
download | gcc-9ae165a0722366ba1ee877d1099d147a506d0135.zip gcc-9ae165a0722366ba1ee877d1099d147a506d0135.tar.gz gcc-9ae165a0722366ba1ee877d1099d147a506d0135.tar.bz2 |
re PR c++/33977 (internal compiler error: canonical types differ for identical types const char [5] and const sal_Char [5])
2007-11-06 Douglas Gregor <doug.gregor@gmail.com>
PR c++/33977
PR c++/33886
* tree.c (c_build_qualified_type): Define bridge to
cp_build_qualified_type.
2007-11-06 Douglas Gregor <doug.gregor@gmail.com>
PR c++/33977
PR c++/33886
* c-common.c (c_build_qualified_type): Moved to c-typeck.c.
(complete_array_type): Set canonical type appropriately.
* c-typeck.c (c_build_qualified_type): Moved from c-common.c. The
C and C++ front ends now have different versions of this function,
because the C++ version needs to maintain canonical types here.
2007-11-06 Douglas Gregor <doug.gregor@gmail.com>
PR c++/33977
PR c++/33886
* g++.dg/other/canon-array.C: New.
From-SVN: r129929
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/cp/tree.c | 8 |
2 files changed, 15 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 9fff78d..96d2dd7 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,12 @@ 2007-11-06 Douglas Gregor <doug.gregor@gmail.com> + PR c++/33977 + PR c++/33886 + * tree.c (c_build_qualified_type): Define bridge to + cp_build_qualified_type. + +2007-11-06 Douglas Gregor <doug.gregor@gmail.com> + PR c++/31439 PR c++/32114 PR c++/32115 diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index fba7c22..c2b4af0 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -649,6 +649,14 @@ cp_build_reference_type (tree to_type, bool rval) } +/* Used by the C++ front end to build qualified array types. However, + the C version of this function does not properly maintain canonical + types (which are not used in C). */ +tree +c_build_qualified_type (tree type, int type_quals) +{ + return cp_build_qualified_type (type, type_quals); +} /* Make a variant of TYPE, qualified with the TYPE_QUALS. Handles |