Possible bug in gcc-3.4.3 fixincludes on IBM AIX 5.2 Building the compiler ("make bootstrap") fails when compiling genautomata.c, due to a header file problem. The header file which produces the error is generated by fixincludes from the system math.h file. It appears that the word "class" is triggering the insertion of an #ifndef...#endif pair, but the #endif is being tacked on to the end of the preceeding line, which ends in a continuation character.
Cheers -- Dave. This fragment of /usr/include/math.h (with line numbers added) 1040 #ifndef __LONGDOUBLE128 1041 #define fpclassify(__x) \ 1042 (sizeof(__x) == sizeof(float) ? \ 1043 ((_classf((double)__x) == FP_SNAN) || (_classf((double)__x) == FP_QNAN) ? \ 1044 FP_QNAN : \ 1045 (_classf((double) __x) & 0x00000001 ? \ 1046 _classf((double) __x) - 1 : \ 1047 _classf((double) __x)) ) : \ 1048 ((class(__x) == FP_SNAN) || (class(__x) == FP_QNAN) ? \ 1049 FP_QNAN : \ 1050 (class(__x) & 0x00000001 ? \ 1051 _class(__x) - 1 : \ 1052 _class(__x)))) appears to have been transformed in gccobj/gcc/include/math.h into: (line numbers added again) 1063 #ifndef __LONGDOUBLE128 1064 #define fpclassify(__x) \ 1065 (sizeof(__x) == sizeof(float) ? \ 1066 ((_classf((double)__x) == FP_SNAN) || (_classf((double)__x) == FP_QNAN) ? \ 1067 FP_QNAN : \ 1068 (_classf((double) __x) & 0x00000001 ? \ 1069 _classf((double) __x) - 1 : \ 1070 _classf((double) __x)) ) : \ 1071 #ifndef __cplusplus 1072 ((class(__x) == FP_SNAN) || (class(__x) == FP_QNAN) ? \ 1073 #endif 1074 FP_QNAN : \ 1075 #ifndef __cplusplus 1076 (class(__x) & 0x00000001 ? \ 1077 #endif 1078 _class(__x) - 1 : \ 1079 _class(__x)))) Pre-processing genautomata.c using gccobj/gcc/include/math.h yeilds in part: # 1072 "include/math.h" 3 4 ((class(__x) == 8) || (class(__x) == 9) ? #endif 9 : #ifndef __cplusplus (class(__x) & 0x00000001 ? #endif _class(__x) - 1 : _class(__x)))) # 1184 "include/math.h" 3 4