http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60263
--- Comment #1 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- In <http://gcc.gnu.org/ml/gcc-patches/2011-08/msg01524.html>, Jason said he'd raised the issue of whether C++11 really should be different from C11 regarding those macros being in a header rather than predefined; I don't know what the conclusion was. If it was that the header really should define the macros for C++ rather than the compiler, sending a patch to glibc's <uchar.h> would be a good idea (but of course libstdc++ still needs <cuchar>).