diff options
author | Gabriel Dos Reis <gdr@integrable-solutions.net> | 2004-02-15 15:00:54 +0000 |
---|---|---|
committer | Gabriel Dos Reis <gdr@gcc.gnu.org> | 2004-02-15 15:00:54 +0000 |
commit | bf3e82838383870195d5981acb31d2ad16bf7adf (patch) | |
tree | 8db135f09075a569195be7883fd395b12c855381 /gcc | |
parent | 68776c43248596614dba64fd860dca70e28610d6 (diff) | |
download | gcc-bf3e82838383870195d5981acb31d2ad16bf7adf.zip gcc-bf3e82838383870195d5981acb31d2ad16bf7adf.tar.gz gcc-bf3e82838383870195d5981acb31d2ad16bf7adf.tar.bz2 |
re PR c++/14085 (when compiling template functors)
PR c++/14085
* error.c (dump_decl): Handle TEMPLATE_TYPE_PARM.
From-SVN: r77852
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/error.c | 7 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/other/nontype-1.C | 7 |
3 files changed, 19 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 9117cdf..60a0354 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2004-02-15 Gabriel Dos Reis <gdr@integrable-solutions.net> + + PR c++/14085 + * error.c (dump_decl): Handle TEMPLATE_TYPE_PARM. + 2004-02-14 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> PR c++/13635 diff --git a/gcc/cp/error.c b/gcc/cp/error.c index ece2635..a276f7b 100644 --- a/gcc/cp/error.c +++ b/gcc/cp/error.c @@ -940,6 +940,13 @@ dump_decl (tree t, int flags) dump_expr (t, flags); break; + case TEMPLATE_TYPE_PARM: + if (flags & TFF_DECL_SPECIFIERS) + pp_cxx_declaration (cxx_pp, t); + else + pp_type_id (cxx_pp, t); + break; + default: pp_unsupported_tree (cxx_pp, t); /* Fall through to error. */ diff --git a/gcc/testsuite/g++.dg/other/nontype-1.C b/gcc/testsuite/g++.dg/other/nontype-1.C new file mode 100644 index 0000000..5a1fcd9 --- /dev/null +++ b/gcc/testsuite/g++.dg/other/nontype-1.C @@ -0,0 +1,7 @@ +template <class Op> +bool asfun(Op f, + Op::first_argument_type a, // { dg-error "not a type" } + Op::second_argument_type b) // { dg-error "not a type" } +{ // { dg-error "no type" } + return Op(a, b); +} |