2) Preprocessor bug on #if gcc 2.95.3 has bug in '!=' operator for negative constants For example, the following test is misinterpreted by GCC 2.95.3 #if EOF != -1 It has to be written like this to be compatible with all compilers: #if !(EOF == -1)
Do you mean something like this: #define X -1 #define Y 1 #if X != -1 #error "X != -1" #endif #if Y == -1 #error "Y == -1" #endif #if X == -1 #error "X == -1" #endif Both cross-gcc 2.95.3 and cygwin-gcc (3.x) say t.c:11: #error "X == -1" -- Helmut Karlowski