* typeck2.c (cxx_incomplete_type_diagnostic): Handle template
template parameters. Improve error message for template type
parameters.
* g++.dg/template/ttp21.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116464
138bc75d-0d04-0410-961f-
82ee72b054a4
2006-08-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+ PR c++/28853
+ * typeck2.c (cxx_incomplete_type_diagnostic): Handle template
+ template parameters. Improve error message for template type
+ parameters.
+
PR c++/28852
* cp-tree.h (grok_op_properties): Return bool instead of void.
* decl.c (grokfndecl): Discard invalid operator declarations.
break;
case TEMPLATE_TYPE_PARM:
- p_msg ("invalid use of template type parameter");
+ p_msg ("invalid use of template type parameter %qT", type);
+ break;
+
+ case BOUND_TEMPLATE_TEMPLATE_PARM:
+ p_msg ("invalid use of template template parameter %qT",
+ TYPE_NAME (type));
break;
case TYPENAME_TYPE:
2006-08-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+ PR c++/28853
+ * g++.dg/template/ttp21.C: New test.
+
PR c++/28852
* g++.dg/other/operator1.C: Add error-marker.
* g++.dg/other/operator2.C: New test.
--- /dev/null
+// PR c++/28853
+// { dg-do compile }
+
+template<template<int> class A>
+int A<0>::i; // { dg-error "template template parameter" }