javaop.h type collision on AIX
David Edelsohn
dje@watson.ibm.com
Sat Nov 14 15:34:00 GMT 1998
javaop.h defines some size-dependent types:
typedef char int8;
typedef unsigned char uint8;
#ifndef int16
#define int16 short
#endif
typedef unsigned int16 uint16;
#ifndef int32
#define int32 long
#endif
typedef unsigned int32 uint32;
AIX 4.3.1 also typedefs those types in /usr/include/sys/inttypes.h
which is conflicting with the javaop definitions. Unlike the other types,
int8 is not protected with #ifndef. Also, while uint8 is defined as
unsigned char, int8 simply is defined as char without modifier. On some
targets, char is unsigned by default, so I do not think this is what you
intended.
I think that there are a couple of problems: signed-ness
assumptions and not protecting all types of previous definitions.
David
More information about the Gcc-bugs
mailing list