[aspectc-user] error: value for enumerator `_M_type' isn't integer constant expression

Olaf Spinczyk Olaf.Spinczyk at informatik.uni-erlangen.de
Wed Sep 21 17:15:05 CEST 2005


Hi Mariano,

Mariano Ceccato wrote:
> Aspectc developers,
> 
> I found a strange error while trying to compile a piece of code 
> containing a function object.
> The same class does compile using g++, so I argue that this can be an 
> ac++ bug.
> 
> The output I get from the ac++ compiler is the following:
> 
> /usr/lib/gcc/i386-redhat-linux/3.4.3/../../../../include/c++/3.4.3/bits/cpp_type_traits.h:312: 
> error: value for enumerator `_M_type' isn't integer constant expression
> /usr/lib/gcc/i386-redhat-linux/3.4.3/../../../../include/c++/3.4.3/bits/cpp_type_traits.h:324: 
> error: value for enumerator `_M_type' isn't integer constant expression
> /usr/lib/gcc/i386-redhat-linux/3.4.3/../../../../include/c++/3.4.3/bits/cpp_type_traits.h:336: 
> error: value for enumerator `_M_type' isn't integer constant expression
> 
> and the source example is attached.
> 
> Regards,
> Mariano
> 
> 
> ------------------------------------------------------------------------
> 
> #include <string.h>
> #include <map>
> 
> 
> class charCompare { //function object
> public:
> 	bool operator () (const char * left, const char * rigth) const {
> 		return strcmp(left, rigth) < 0;
> 	}
> };
> 
> 
> 
> 
> ------------------------------------------------------------------------

I have not been able to reproduce this problem with ac++ 0.9.2, 0.9.3, 
and my latest development version in combination with the header files 
from g++ 3.3.3, 3.4.1, and 4.0.2.

However, I remember having seen these error messages before. Would it be 
possible that this problem only occurs with the "unofficial" ac++ build 
that I sent to you some weeks ago and not with 0.9.3?

Olaf



More information about the aspectc-user mailing list