> Ah-hah. This probably indicates that the gcc you are using was > originally generated on a different version of AIX. It's always bad > news when gcc's copies of the headers don't match the real ones :-(
incorrect: i built the gcc myself by boostrapping from an older binary gcc. I did exactly to avoid this kind of problems.
> > These copies are generated during gcc build by a script called > "fixincludes". You might be able to fix them up by just re-running > fixincludes. My inclination would be to rebuild gcc altogether though.
My gcc build is like that and I was the one who built it to replace another build of gcc. gcc doesn't seem to like float.h on AIX and just uses its own as part of fixincludes; math.h comes out in a more intact state. This means that on AIX versions where math.h also contains FP_PLUS_INF (and the rest of that block of defines), the defines do occur. It would appear that 4.2 doesn't also contain the necessary defines as part of math.h (protected by an #ifndef on 5.3).
yes, that seems to be it: float.h gets replaced and I don't have the defines in math.h too thus you have more redundancy. I might just hack the gcc include at this point. fixinclude b0rked it.