aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorGabriel Dos Reis <gdr@integrable-solutions.net>2004-02-15 15:00:54 +0000
committerGabriel Dos Reis <gdr@gcc.gnu.org>2004-02-15 15:00:54 +0000
commitbf3e82838383870195d5981acb31d2ad16bf7adf (patch)
tree8db135f09075a569195be7883fd395b12c855381 /gcc
parent68776c43248596614dba64fd860dca70e28610d6 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/cp/error.c7
-rw-r--r--gcc/testsuite/g++.dg/other/nontype-1.C7
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);
+}