[GCC-XML] running with newer gcc compilers (4.2)

Brad King brad.king at kitware.com
Tue Sep 18 16:39:48 EDT 2007

Florian Ludwig wrote:
> Hi there,
> i'm trying to dig into this but i cant even parse a simple "Hello World"
> program. The error looks like this:
> $ gccxml main.cpp -fxml=test.xml
> In file included from /usr/include/c++/4.2/iostream:44,
>                  from main.cpp:1:
> /usr/include/c++/4.2/x86_64-linux-gnu/bits/c++config.h:149: error:
> syntax error 
>    before `__attribute__'
> In file included from /usr/share/gccxml-0.7/GCC/4.1/bits/c++locale.h:4,
>                  from /usr/include/c++/4.2/iosfwd:45,
>                  from /usr/include/c++/4.2/ios:43,
>                  from /usr/include/c++/4.2/ostream:45,
>                  from /usr/include/c++/4.2/iostream:45,
>                  from main.cpp:1:
> [.....]
> I guess its because of the "new" version of gcc? But I dont really have
> a glue. 
> $ gccxml --version
> GCC-XML version 0.7.0
> $ g++ --version
> g++ (GCC) 4.2.1 (Debian 4.2.1-5)
> Both installed from the debian repositories (sid)

GCC-XML internally uses a gcc 3.3 parser with some patching to do the
xml dump.  The way we get this parser to look through the system headers
of other compilers is to copy/patch those headers that it cannot read.
This has worked for every GCC compiler up through 4.1 because only a few
headers need fixing.  Unfortunately the system headers that come with
4.2 *all* use a syntax that is not supported by the 3.3 parser.

I'm currently working on upgrading the internal parser to be the gcc 4.2
parser.  Upgrading to a 4.x parser internally has been a long-requested
feature anyway.  However I do not know when I will be able to finish
this upgrade.  It is a *major* update.

The work-around for you is

$ sudo apt-get install g++-4.1
$ gccxml main.cpp -fxml=test.xml --gccxml-compiler g++-4.1


More information about the gccxml mailing list