http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51146
--- Comment #7 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-11-15 23:05:17 UTC --- I just want to reiterate that the c++ library headers never name clog, only __builtin_clog (and of course only when the underlying libc provides the corresponding clog, in case runtime library calls are actually required). I don't see why this way of using a __builtin* facility should give problems. Would it be difficult to change the compiler to decouple completely, eg, __builtin_clog from clog, in such a way that if the user or anything else fiddles with the latter, the former is not affected, as if it were a completely different, unrelated, name?