If you do produce a new release, *please* see that the problem
described below is corrected in it. I believe it affects enough users
to justify making it a priority.
Many thanks, Scott
There is a mistake in the grammar that OpenC++'s parser expects. Prior
to GCC 3.4, this was never a problem, but since GCC 3.4, the STL library
uses the syntax that the broken grammar doesn't accept. In particular
OpenC++ expects template declarations to look like this:
template<typename T>...
With an identifier like "T" following typename, but in fact the
following is legal C++:
template<typename>...
This causes occ to issue errors whenever it parses the GCC library files
that include the latter syntax (e.g., bits/cpp_type_traits.h). I fixed
the problem by changing the Parser::rTempArgDeclaration member function
definition in parser/Parser.cc. I changed this line (roughly the third
line in the function):
if(t0 =3D=3D CLASS && lex->LookAhead(1) =3D=3D Identifier){
To this:
if(t0 =3D=3D CLASS && !(lex->LookAhead(1) =3D=3D Identifier)){
lex->GetToken(tk1);
decl =3D PtreeUtil::List(new Leaf(tk1));
}
else if(t0 =3D=3D CLASS && lex->LookAhead(1) =3D=3D Identifier){
I am not positive that my Ptree representation for the template argument
declaration (temp.arg.declaration) is exactly what the OpenC++
maintainers would want, but it seemed to make sense to me.
On 10/14/05, Gilles J. Seguin <se...@in...> wrote:
>
> Grzegorz can i have the go ahead for a new release.
>
>
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by:
> Power Architecture Resource Center: Free content, downloads, discussions,
> and more. http://solutions.newsforge.com/ibmarch.tmpl
> _______________________________________________
> Opencxx-users mailing list
> Ope...@li...
> https://lists.sourceforge.net/lists/listinfo/opencxx-users
>
|