[GCC-XML] problem compiling code with gccxml

Brad King brad.king at kitware.com
Thu Jul 28 13:33:50 EDT 2005


Alexis H. Rivera-Rios wrote:
> I'm trying to expose the following class using pyste
> (which in turns uses gccxml)
> 
> #include <boost/random.hpp>
[snip]
> when I run gccxml like this:
> gccxml -I c:\boost\include\boost-1_32 test.cpp --debug
> --gccxml-compiler msvc71
[snip]
> The errors are these:
> In file included from
> c:/boost/include/boost-1_32/boost/random/detail/const_mod.hpp:22,
>                  from
> c:/boost/include/boost-1_32/boost/random/linear_congruential.hpp:25,
>                  from
> c:/boost/include/boost-1_32/boost/random.hpp:36,
>                  from test.cpp:2:
> c:/boost/include/boost-1_32/boost/integer_traits.hpp:159:
> error: integer 
>    constant is too large for "long" type
[snip]
> I don't what's wrong since the works fine in VC7.1  
> 
> The only thing I suspect is that because gccxml may be
> based on another compiler the #defines specified when
> I built boost for vc71 do not match the gccxml
> compiler.  

When GCC-XML simulates VC7.1 the preprocessor should act as if it were 
really preprocessing for VC7.1.  The only difference is that __GCCXML__ 
is defined.  Most of the time the internal GCC parser can handle the 
results (thanks to the patched headers).  This may be a case where it 
cannot.

My guess is that the LLONG_MAX macro is getting defined with an integer 
suffix that is not properly parsed by GCC.  GCC-XML from CVS does have 
support for the VC integer suffixes (like i64).  I see you are using 
version 0.6.  Please try the CVS version.

Thanks,
-Brad



More information about the gccxml mailing list