diff options
author | Paolo Carlini <pcarlini@suse.de> | 2007-08-28 16:41:56 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2007-08-28 16:41:56 +0000 |
commit | 0a8fc2475a662ae69dbc0e8d964fe9489a595fde (patch) | |
tree | f522b5ec09215efa429b467915c69662f2438793 /gcc | |
parent | bb011bbcb8b332308a9c8ce0abd83c5957ef9bd9 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/error.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/error29.C | 5 |
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" } |