c++/9403: parse error on template keyword used for disambiguation

bangerth@dealii.org bangerth@dealii.org
Wed Jan 22 16:47:00 GMT 2003


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



More information about the Gcc-bugs mailing list