This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: c++/9403: parse error on template keyword used for disambiguation
- From: bangerth at dealii dot org
- To: gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, gdr at integrable-solutions dot com, levon at movementarian dot org, nobody at gcc dot gnu dot org
- Date: 22 Jan 2003 16:39:27 -0000
- Subject: Re: c++/9403: parse error on template keyword used for disambiguation
- Reply-to: bangerth at dealii dot org, gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, gdr at integrable-solutions dot com, levon at movementarian dot org, nobody at gcc dot gnu dot org, gcc-gnats at gcc dot gnu dot org
Old Synopsis: parse error on boost is_function.hpp
New Synopsis: parse error on template keyword used for disambiguation
State-Changed-From-To: open->analyzed
State-Changed-By: bangerth
State-Changed-When: Wed Jan 22 16:39:27 2003
State-Changed-Why:
Confirmed, that is I can confirm that it does no longer
compile, but I don't know for sure whether the code is
legal. A further extract is this:
------------------------------
template<bool>
struct Outer {
template <typename T> struct Inner {};
};
template <bool b, typename T>
struct X : Outer<b>::template Inner<T>
{};
-----------------------------
This used to compile with the old parser, but does not
any more. It _does_ compile, however, when you drop the
"template" in Outer<b>::template Inner<T>.
Gaby, you knew about this stuff. What's legal and what is
not?
W.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9403