aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPaolo Carlini <pcarlini@suse.de>2007-08-28 16:41:56 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2007-08-28 16:41:56 +0000
commit0a8fc2475a662ae69dbc0e8d964fe9489a595fde (patch)
treef522b5ec09215efa429b467915c69662f2438793 /gcc
parentbb011bbcb8b332308a9c8ce0abd83c5957ef9bd9 (diff)
downloadgcc-0a8fc2475a662ae69dbc0e8d964fe9489a595fde.zip
gcc-0a8fc2475a662ae69dbc0e8d964fe9489a595fde.tar.gz
gcc-0a8fc2475a662ae69dbc0e8d964fe9489a595fde.tar.bz2
re PR c++/33209 (Broken diagnostic: 'template_type_parm' not supported by dump_expr)
/cp 2007-08-28 Paolo Carlini <pcarlini@suse.de> PR c++/33209 * error.c (dump_expr): Deal with TEMPLATE_TYPE_PARM and BOUND_TEMPLATE_TEMPLATE_PARM. /testsuite 2007-08-28 Paolo Carlini <pcarlini@suse.de> PR c++/33209 * g++.dg/template/error29.C: New. From-SVN: r127866
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/error.c5
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/template/error29.C5
4 files changed, 21 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index f612c9c..c6b2aaf 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2007-08-28 Paolo Carlini <pcarlini@suse.de>
+
+ PR c++/33209
+ * error.c (dump_expr): Deal with TEMPLATE_TYPE_PARM and
+ BOUND_TEMPLATE_TEMPLATE_PARM.
+
2007-08-28 Jakub Jelinek <jakub@redhat.com>
PR c++/32596
diff --git a/gcc/cp/error.c b/gcc/cp/error.c
index 90b95c0..d6675f0 100644
--- a/gcc/cp/error.c
+++ b/gcc/cp/error.c
@@ -2049,6 +2049,11 @@ dump_expr (tree t, int flags)
pp_id_expression (cxx_pp, t);
break;
+ case TEMPLATE_TYPE_PARM:
+ case BOUND_TEMPLATE_TEMPLATE_PARM:
+ dump_type (t, flags);
+ break;
+
/* This list is incomplete, but should suffice for now.
It is very important that `sorry' does not call
`report_error_function'. That could cause an infinite loop. */
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 0bbe27a..6254d20 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2007-08-28 Paolo Carlini <pcarlini@suse.de>
+
+ PR c++/33209
+ * g++.dg/template/error29.C: New.
+
2007-08-28 Jakub Jelinek <jakub@redhat.com>
PR c++/32596
diff --git a/gcc/testsuite/g++.dg/template/error29.C b/gcc/testsuite/g++.dg/template/error29.C
new file mode 100644
index 0000000..2e2291d
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/error29.C
@@ -0,0 +1,5 @@
+// PR c++/33209
+
+template<typename T> void foo(int, T::x); // { dg-error "T::x" }
+
+template<template<typename> class T> void foo2(int, T<int>::x); // { dg-error "T<int>::x" }