------- Comment #4 from paolo dot carlini at oracle dot com 2010-06-21 14:44 ------- I don't think signbit is special: including *any* <c*> header first undefs the names, thus if they are defined as macros in C, you don't see them anymore in the global namespace, only in std::. If, on the other hand, your specific point is one about the C99 classification macros, yes those are enabled by default, can be disabled at library configure time with --disable-c99. In fact the issue whether C99 facilities should be enabled by default in c++98 mode is a very old one, you can find traces of it in bugzilla for sure, and now is definitely *way too old* to change our decision, considering that all of that is standard in c++0x, which is behind the corner.
-- paolo dot carlini at oracle dot com changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Including <math,h> and |Including <math.h> and |<cmath> hides ::signbit |<cmath> hides ::signbit |function |function http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44611