Duncan Sands wrote:
aren't __builtin_cpow and friends language independent? I mean, if a front-end sees a x^y then presumably it ends up being turned into a call to a __builtin_?pow by the back-end. If so, then conforming to the C99 and C++ standards isn't enough: the standards for all gcc supported languages need to be checked.
This is a good question, indeed. I don't think Ada, for instance, is using __builtin_cpow internally, or cpow, for that matter, since many widespread libc implementations have cpow(0,0) returning (nan, nan) contra the Ada RM, as mentioned by Robert Dewar.
Paolo.