aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2006-04-27 19:02:54 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2006-04-27 19:02:54 +0000
commit8fcd79cbcdf931c4875a6863fe47482224b1f03d (patch)
treeee631379739b2c8648c77857e44377c30718bae1 /gcc/cp
parent9613eaffa45f5e2c1f5f92e0dc9da018d00c2fdc (diff)
downloadgcc-8fcd79cbcdf931c4875a6863fe47482224b1f03d.zip
gcc-8fcd79cbcdf931c4875a6863fe47482224b1f03d.tar.gz
gcc-8fcd79cbcdf931c4875a6863fe47482224b1f03d.tar.bz2
re PR c++/27102 (ICE with invalid class name in function template)
PR c++/27102 * typeck2.c (cxx_incomplete_type_diagnostic): Handle TYPENAME_TYPE. PR c++/27102 * g++.dg/template/crash47.C: New test. From-SVN: r113320
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/typeck2.c4
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 494bdef..aece2e8 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2006-04-27 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/27102
+ * typeck2.c (cxx_incomplete_type_diagnostic): Handle
+ TYPENAME_TYPE.
+
2006-04-24 Mark Mitchell <mark@codesourcery.com>
PR c++/27292
diff --git a/gcc/cp/typeck2.c b/gcc/cp/typeck2.c
index 8227a54..52d7a9e 100644
--- a/gcc/cp/typeck2.c
+++ b/gcc/cp/typeck2.c
@@ -406,6 +406,10 @@ cxx_incomplete_type_diagnostic (tree value, tree type, int diag_type)
p_msg ("invalid use of template type parameter");
break;
+ case TYPENAME_TYPE:
+ p_msg ("invalid use of dependent type %qT", type);
+ break;
+
case UNKNOWN_TYPE:
if (value && TREE_CODE (value) == COMPONENT_REF)
goto bad_member;