Re: Genreflex/gccxml can't parse "using Foo::operator<<"

From: Axel Naumann <Axel.Naumann_at_cern.ch>
Date: Fri, 02 Nov 2007 18:29:05 +0100


Hi Brett,

yeah, same thing even with GCCXML 0.7. It's a GCCXML bug, they might have fixed it in the newest CVS snapshots (aka "GCCXML 0.9") where they switched to the GCC 4.2 parser. They claim its output is compatible with the GCCXML 0.7 output, so genreflex (the 0.7 branch) might still work.

If you want to test the current GCCXML then let me know the result, please.

Cheers, Axel.

Brett Viren wrote:
> Hi,
>
> I'm trying to use genreflex from 5.14/00h and gccxml "0.6.0_patch3" on
> Debian x86 GCC 4.0. I've found that it has a problem with a line like:
>
> using Foo::operator<<;
>
> GCC 3.4, 4.0 and 4.2 are all happy with this statement. Also,
> genreflex/gccxml are okay with:
>
> using Foo::foo;
>
> The error message is:
>
> /path/to/genreflex foo.h --gccxmlpath=/path/to/gccxml/0.6.0_patch3/bin
> foo.h: In member function `int Baz::quax()':
> foo.h:20: error: syntax error before `;' token
> --->> genreflex: INFO: Parsing file foo.h with GCC_XML
> --->> genreflex: ERROR: processing file with gccxml. genreflex command failed.
>
> A short example file "foo.h" is appended below.
>
> -Brett.
>
> ----------------------------------------------------------------------
>
> #ifndef FOO_H
> #define FOO_H
>
> #include <ostream>
>
> struct Bar {
> int x;
> };
>
>
> namespace Foo {
> std::ostream& operator<< ( std::ostream& s, Bar& b );
> void foo();
> }
>
> class Baz {
> public:
> int quax() {
> using Foo::foo;
> using Foo::operator<<;
> }
>
> };
>
>
> #endif // FOO_H
>
>
>
Received on Fri Nov 02 2007 - 18:29:22 CET

This archive was generated by hypermail 2.2.0 : Fri Nov 02 2007 - 23:50:01 CET