[GCC-XML] compilation pb running gccxml on code using SFINAE

MOSS Sebastian Sebastian.MOSS at murex.com
Wed Jun 6 14:53:12 EDT 2007


Hi,

 

With the documented limitation of not producing xml description for
non-instantiated templated types, I'm developing a macro to take care of
this by declaring some extra typedefs in the style of
GCCXML_EXPORT_TYPES(<<typename>>)

 

I'm having problems when gccxml encounters the following part of the
implementation however:

 

            template <typename T>

            class has_nested_value_type

            {

                typedef char true_type;                     //
sizeof(true_type) == 1

                typedef struct { char a[2]; } false_type;   //
sizeof(false_type) > 1

                template <class U> true_type  static
has_nested_value_type_impl ( typename U::value_type const * );

                template <class U> false_type static
has_nested_value_type_impl ( ... );

            public:

                enum { value = (sizeof(has_nested_value_type_impl<T
>(0))==sizeof(true_type)) };

            };

 

Causing the error:

 

Enumerator value for 'value' not integer constant.

 

This struct compiles fine with the vs7.1 compiler and I can see in the
gccxml_config file in the gccxml directory the following lines:

 

GCCXML_COMPILER="msvc71"

GCCXML_CXXFLAGS="  /W3 /Zm1000 /GX /GR"

 

My guess is that an older gcc compiler is being simulated as this error
is produced with gcc 3.2.3 for example, but not with 3.4.2.

 

Could this be as simple as passing the wrong flags to gccxml?

 

Any help would be greatly appreciated!

Regards,

Sebastian 
 
*******************************
This e-mail contains information for the intended recipient only.  It may contain proprietary material or confidential information.  If you are not the intended recipient you are not authorised to distribute, copy or use this e-mail or any attachment to it. Murex cannot guarantee that it is virus free and accepts no responsibility for any loss or damage arising from its use.  If you have received this e-mail in error please notify immediately the sender and delete the original email received, any attachments and all copies from your system.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/gccxml/attachments/20070606/30495b2a/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test.tar.gz
Type: application/x-gzip
Size: 485 bytes
Desc: test.tar.gz
URL: <http://public.kitware.com/pipermail/gccxml/attachments/20070606/30495b2a/attachment.bin>


More information about the gccxml mailing list