------- Additional Comments From reichelt at gcc dot gnu dot org  2005-06-24 
15:30 -------
Your line should read:

  typename SAX::basic_XMLReader<stringT>::template
Property<SAX::basic_DeclHandler<stringT> *>* prop;

If one fixes all four occurances in your file, the code compiles fine.


With your version

    SAX::basic_XMLReader<stringT>::Property<typename
SAX::basic_DeclHandler<stringT> *>* prop;

"SAX::basic_XMLReader<stringT>::Property" is not a type, and therefore "<"
is the operator "less_than" which is followed by a type (followed by some
more stuff, but the compiler already crashed).


An even shorter testcase is the following:

===========================================
namespace N { template<int> struct A {}; }

template<typename> void foo()
{
    +typename N::A<0>;
}
===========================================


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |reichelt at gcc dot gnu dot
                   |                            |org
           Keywords|                            |monitored
      Known to fail|4.0.0 4.1.0                 |3.4.0 3.4.4 4.0.0 4.1.0
      Known to work|3.4.0 3.4.4                 |3.3 3.3.6


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22172

Reply via email to