This wrong code (missing typename):
template<class T>
struct A
{
typedef typename T::B C;
void f(C::D x);
};
gives the following error message:
a.cpp:5: error: '#'typename_type' not supported by dump_decl#<declaration
error>::D' is not a type
instead of "'C::D' is not a type".
--
Summary: #'typename_type' not supported by dump_decl#<declaration
error>
Product: gcc
Version: 4.1.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: guillaume dot melquiond at ens-lyon dot fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31267