------- 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